SlideShare a Scribd company logo
PowerShellで
Webブラウザ
(Selenium WebDriver)を
動かした話
ひろくん
Seleniumとは?
• 原子番号34の元素
• 元素記号はSe
• 第16族元素
– 酸素と同族
– ハロゲンの隣
• 灰色セレン
– 金属セレン
– 六方晶系
– 融点は217.4℃
• 赤色セレン
– 単斜晶系
では
なくて
Seleniumとは?
http://docs.seleniumhq.org/
• Webベースアプリケーション用テスト
自動化ツール
• ライセンスはApache 2.0 License
Selenium WebDriver
http://docs.seleniumhq.org/projects/webdriver/
• プログラムからWebブラウザ制御
• 制御可能ブラウザ
– Mozilla Firefox, Google Chrome(Linux, Windows,
MacOS, Android), Internet Explorer, Safari, Edge
• 使用可能言語
– Java, Ruby, Python, C#, Javascript(Node.js)など
• OS
– Linux, MacOS, Windowsなど
Selenium WebDriver
http://docs.seleniumhq.org/projects/webdriver/
• プログラムからWebブラウザ制御
• 制御可能ブラウザ
– Mozilla Firefox, Google Chrome(Linux, Windows,
MacOS, Android), Internet Explorer, Safari, Edge
• 使用可能言語
– Java, Ruby, Python, C#, Javascript(Node.js)など
• OS
– Linux, MacOS, Windowsなど
Selenium
Client
Firefox
Driver
Chrome
Driver
IE
Driver
制御
応答
制御
応答
制御
応答
制御
応答
制御
応答
大まかな仕組み
Microsoft
Edge
Driver
制御
応答
実は
PowerShell
からも
動かせる
C#用
Selenium
Client
Firefox
Driver
Chrome
Driver
IE
Driver
制御
応答
制御
応答
制御
応答
制御
応答
制御
応答
大まかな方法
Microsoft
Edge
Driver
制御
応答
その手順
1. Selenium Client & WebDriver Language
Bindings から C#用ファイルをとってくる。
2. 任意のフォルダにC#用ファイルを置く。
3. C#用ファイルのセキュリティーブロックを解除
する。
4. PowerShell スクリプトを書く。
C#用のファイルの取得
Selenium Client & WebDriver Language Bindings
http://docs.seleniumhq.org/download/
現在のバージョンは
selenium-dotnet-2.53.0.zip
C#用ファイルの設置
• 任意のフォルダにzipファイルを伸張
(例) C:Seleniumlibselenium-dotnet
セキュリティーブロックの解除(1)
C:Seleniumlibselenium-dotnetnet40 のファ
イルすべてに行なう。
対象のファイルを右クリックしてプロパティ選択。
セキュリティブロックの解除(2)
準備
完了
実習内容
次のテストを行なうスクリプトの作成
1. Webブラウザ起動
2. Googleで「小江戸らぐ」を検索
3. 次のページを表示
OSS支える!コミュニティー訪問~…
4. 写真をクリックして拡大表示
© 日経BP社http://itpro.nikkeibp.co.jp/article/COLUMN/20131003/508665/
dllの取り込み
Add-Type -Path "C:Seleniumlibselenium-
dotnetnet40WebDriver.dll";
Webブラウザ起動(1)
• Mozilla Firefoxの場合
$driver = New-Object
OpenQA.Selenium.Firefox.FirefoxDriver;
• Google Chromeの場合
$driver = New-Object
OpenQA.Selenium.Chrome.ChromeDriver(
chromedriverへのパス);
Webブラウザ起動(2)
• Internet Explorerの場合
$driver = New-Object
OpenQA.Selenium.IE.InternetExplorerDriver(
IEDriverへのパス);
• Microsoft Edgeの場合
$driver = New-Object
OpenQA.Selenium.Edge.EdgeDriver(
MicrosoftWebDriverへのパス);
Webブラウザ起動(3)
• AndroidのGoogle Chromeの場合
$options = New-Object
OpenQA.Selenium.Chrome.ChromeOptions;
$options.AddAdditionalCapability(
"androidPackage","com.android.chrome");
$driver = New-Object
OpenQA.Selenium.Chrome.ChromeDriver(
chromedriverへのパス
,$options);
Webブラウザ起動(4)
• Goofle Chrome(Selenium Grid経由)の場合
$capability = New-Object
OpenQA.Selenium.Remote.DesiredCapabilities;
$capability.SetCapability(
“browserName”, “chrome”);
$capability.SetCapability(“platform”, “WINDOWS”);
$capability.SetCapability(
“version”, “47.0.2526.106 m (64-bit)”);
$uri = New-Object
System.Uri(Selenium Grid HubのURL);
$driver = New-Object
OpenQA.Selenium.Remote.RemoteWebDriver(
$uri, $capability);
Googleのページへ飛ぶ
<# Googleのページへ移動 #>
$driver.Url = "http://www.google.co.jp/";
<# 表示待ち #>
do
{
Start-Sleep -s 1
$title = $driver.Title;
} until($title.Contains("Google"))
「小江戸らぐ」と打って検索
$検索窓 = $driver.FindElementsByName("q");
$検索窓.SendKeys("小江戸らぐ");
$検索窓.Submit();
(注) Microsoft Edge の場合はJavascriptで代用
$driver.ExecuteScript(
‘elements =
document.getElementsByName("q");
elements[0].value="小江戸らぐ“ ');
検索結果表示待ち
do
{
Start-Sleep -s 1
$title = $driver.Title;
} until(
$title.Contains("Google 検索"))
検索結果からリンクをクリック
$driver.FindElementByPartialLinkText(
"OSS支える!").Click();
記事が表示されるまで待つ
do
{
Start-Sleep -s 1
$title = $driver.Title;
} until ($title.Contains("OSS支える!コミュニティー訪問 - 小江戸
らぐ - 川越を中心にゆるく活動するLinuxユーザー会:ITpro"));
小江戸らぐの集合写真を表示
$写真 =
$driver.FindElementByCssSelector(
"img[alt='小江戸らぐ']");
$写真.Click();
10秒待って終了
<# 10秒待つ #>
Start-Sleep -s 10
<# 終了処理 #>
$driver.Close();
$driver.Dispose();
こんな
感じで
作ります
ここで
デモ
実習内容
次のテストを行なうスクリプトの作成
1. Webブラウザ起動
2. Googleで「小江戸らぐ」を検索
3. 次のページを表示
OSS支える!コミュニティー訪問~…
4. 写真をクリックして拡大表示
© 日経BP社http://itpro.nikkeibp.co.jp/article/COLUMN/20131003/508665/
PowerShellでGoogle Chromeを操作
まとめ
PowerShellスクリプトでWebブラウザ(Selenium
WebDriver)を操作可能
• .NETのdllを使用する。
プログラムの置き場所
https://github.com/hirokundayon/koedo/blob/
master/PowerShell/koedo.ps1
または
$ git clone https://github.com/hirokundayon/koedo
の PowerShellkoedo.ps1
おしまい
(^.^)/~~~

More Related Content

PDF
데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...
PDF
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
PPTX
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
PDF
Keycloak & midPoint の紹介
PDF
AWS Black Belt Techシリーズ Amazon Route53
PDF
AWS Black Belt Techシリーズ AWS IAM
PPTX
いまさら、AWSのネットワーク設計
PDF
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
데이터 분석가를 위한 신규 분석 서비스 - 김기영, AWS 분석 솔루션즈 아키텍트 / 변규현, 당근마켓 소프트웨어 엔지니어 :: AWS r...
ゲームアーキテクチャパターン (Aurora Serverless / DynamoDB)
[20220126] JAWS-UG 2022初頭までに葬ったAWSアンチパターン大紹介
Keycloak & midPoint の紹介
AWS Black Belt Techシリーズ Amazon Route53
AWS Black Belt Techシリーズ AWS IAM
いまさら、AWSのネットワーク設計
20210216 AWS Black Belt Online Seminar AWS Database Migration Service

What's hot (20)

PDF
20210526 AWS Expert Online マルチアカウント管理の基本
PDF
AWS Black Belt Online Seminar 2017 Amazon Kinesis
PDF
20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続
PDF
20200811 AWS Black Belt Online Seminar CloudEndure
PDF
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
PDF
Awsのインフラをデザインパターン駆使して設計構築
PDF
ゲームのインフラをAwsで実戦tips全て見せます
PDF
TIME_WAITに関する話
PDF
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
PDF
AWS Black Belt Online Seminar AWS Key Management Service (KMS)
PDF
AWS Black Belt Techシリーズ AWS Lambda
PDF
Serverless時代のJavaについて
PPTX
Azure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法について
PDF
Azure Monitor Logで実現するモダンな管理手法
PDF
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
PDF
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
PDF
20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)
PDF
AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...
PDF
クラウド上のデータ活用デザインパターン
PDF
20200930 AWS Black Belt Online Seminar Amazon Kinesis Video Streams
20210526 AWS Expert Online マルチアカウント管理の基本
AWS Black Belt Online Seminar 2017 Amazon Kinesis
20200219 AWS Black Belt Online Seminar オンプレミスとAWS間の冗長化接続
20200811 AWS Black Belt Online Seminar CloudEndure
202205 AWS Black Belt Online Seminar Amazon VPC IP Address Manager (IPAM)
Awsのインフラをデザインパターン駆使して設計構築
ゲームのインフラをAwsで実戦tips全て見せます
TIME_WAITに関する話
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
AWS Black Belt Online Seminar AWS Key Management Service (KMS)
AWS Black Belt Techシリーズ AWS Lambda
Serverless時代のJavaについて
Azure AD とアプリケーションを SAML 連携する際に陥る事例と対処方法について
Azure Monitor Logで実現するモダンな管理手法
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
20190424 AWS Black Belt Online Seminar Amazon Aurora MySQL
20200303 AWS Black Belt Online Seminar AWS Cloud Development Kit (CDK)
AWS 기반 클라우드 아키텍처 모범사례 - 삼성전자 개발자 포털/개발자 워크스페이스 - 정영준 솔루션즈 아키텍트, AWS / 유현성 수석,...
クラウド上のデータ活用デザインパターン
20200930 AWS Black Belt Online Seminar Amazon Kinesis Video Streams
Ad

Viewers also liked (12)

PDF
サルから進化(?) Selenium WebDriverの 自動実行プログラム
PPTX
bashでWebブラウザ(Selenium WebDriver)を動かした話
PDF
Microsoft Edge メモ WebDriver編
PPTX
Power shell の基本操作と処理の自動化 v2_20120514
KEY
サイボウズLiveのSeleniumテスト並列化
PDF
PowerShellが苦手だった男がPowerShellを愛するようになるまで
PPTX
Appiumを用いたwebブラウザ自動テスト
PDF
Selenium Gridで遊ぼう
PDF
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
PPTX
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
PDF
Angular1&2
PPTX
進化するEdge! Creators Update版の新機能一挙紹介!
サルから進化(?) Selenium WebDriverの 自動実行プログラム
bashでWebブラウザ(Selenium WebDriver)を動かした話
Microsoft Edge メモ WebDriver編
Power shell の基本操作と処理の自動化 v2_20120514
サイボウズLiveのSeleniumテスト並列化
PowerShellが苦手だった男がPowerShellを愛するようになるまで
Appiumを用いたwebブラウザ自動テスト
Selenium Gridで遊ぼう
OSSのブラウザ自動テストツール「Selenium」を使った、開発・テストの効率化
20131201 テスト自動化カンファレンスLT「激しいUI変更との戦い」
Angular1&2
進化するEdge! Creators Update版の新機能一挙紹介!
Ad

Similar to PowerShellでWebブラウザ(Selenium Webdriver)を動かした話 (16)

PPTX
Microsoft ExcelでWebブラウザ(Selenium WebDriver)を動かした話
PPTX
Microsoft Excelでgoogle chromeを動かした話
PDF
PHPerのための(不遇に負けない)Selenium入門 @ FuelPHP&CodeIgniter ユーザの集い #9
PDF
FreeBSD 10.2(amd64)でSelenium WebDriverを動かしてみた
PDF
WebDriverで遊ぼう
PDF
Solaris 11.3(x86)でSelenium WebDriverを動かしてみた
PPTX
Selenium IDE for primer
PPTX
Selenium WebDriverでFreeBSD 10.2のGoogle Chromeを自動実行
PDF
「Selenium実践入門」で学ぶテスト自動化の世界
PDF
サルでも書ける(?)Seleniumの自動実行スクリプト(デモつき)
PPTX
Selenium勉強会
PPTX
Selenium 触ってみよう
PDF
JenkinsとSeleniumの活用事例
PPTX
WEB開発動作テストの自動化 を行うSeleniumの紹介
PPTX
Selenium
PDF
SeleniumWebDriverを使ってつまらない作業を駆逐してやる!!
Microsoft ExcelでWebブラウザ(Selenium WebDriver)を動かした話
Microsoft Excelでgoogle chromeを動かした話
PHPerのための(不遇に負けない)Selenium入門 @ FuelPHP&CodeIgniter ユーザの集い #9
FreeBSD 10.2(amd64)でSelenium WebDriverを動かしてみた
WebDriverで遊ぼう
Solaris 11.3(x86)でSelenium WebDriverを動かしてみた
Selenium IDE for primer
Selenium WebDriverでFreeBSD 10.2のGoogle Chromeを自動実行
「Selenium実践入門」で学ぶテスト自動化の世界
サルでも書ける(?)Seleniumの自動実行スクリプト(デモつき)
Selenium勉強会
Selenium 触ってみよう
JenkinsとSeleniumの活用事例
WEB開発動作テストの自動化 を行うSeleniumの紹介
Selenium
SeleniumWebDriverを使ってつまらない作業を駆逐してやる!!

More from 洋史 東平 (20)

PPTX
関東地方で北海道を味わおう~上京した皆様へ~
PPTX
関東地方で北海道を味わおう ~北海道の宿がとれない皆様へ~
PPTX
ぼくnmonです
PDF
大人の事情が自販機に超自然現象を起こした アマゾンライダー編
PDF
大人の事情が自販機に 超自然現象を起こした Xライダー編
PDF
大人の事情は自販機に超自然現象を起こさなかったのか? ライダーマン
PDF
大人の事情が自販機に超自然現象を起こした V3(ヴイスリャー)
PDF
大人の事情が自販機に超自然現象を起こした その2
PDF
大人の事情が自販機に超自然現象を起こした
PPTX
自販機の超自然現象 果たして収まるか?
PDF
続・自動販売機の大人の事情をテストした
PPTX
自動販売機の大人の事情をテストした
PDF
OSUnC川越2016
PDF
OSCで何したの?
PDF
Google Chrome on Android を自動実行
PDF
おまけ
PDF
OSCが終わったら帰りはお風呂に入りましょう(オープンソースカンファレンス 2014 Tokyo/Fall LT 資料)
PDF
OSCで何するの? (オープンソースカンファレンス2013 Oita LT資料)
PDF
OSCが終わったら帰りはお風呂に入りましょう(OSC2013 Tokyo/Fall LT資料)
PDF
OSC2013 Hokkaido で披露したお話(2013/9/21 Software Freedom Day での小江戸らぐ用資料)
関東地方で北海道を味わおう~上京した皆様へ~
関東地方で北海道を味わおう ~北海道の宿がとれない皆様へ~
ぼくnmonです
大人の事情が自販機に超自然現象を起こした アマゾンライダー編
大人の事情が自販機に 超自然現象を起こした Xライダー編
大人の事情は自販機に超自然現象を起こさなかったのか? ライダーマン
大人の事情が自販機に超自然現象を起こした V3(ヴイスリャー)
大人の事情が自販機に超自然現象を起こした その2
大人の事情が自販機に超自然現象を起こした
自販機の超自然現象 果たして収まるか?
続・自動販売機の大人の事情をテストした
自動販売機の大人の事情をテストした
OSUnC川越2016
OSCで何したの?
Google Chrome on Android を自動実行
おまけ
OSCが終わったら帰りはお風呂に入りましょう(オープンソースカンファレンス 2014 Tokyo/Fall LT 資料)
OSCで何するの? (オープンソースカンファレンス2013 Oita LT資料)
OSCが終わったら帰りはお風呂に入りましょう(OSC2013 Tokyo/Fall LT資料)
OSC2013 Hokkaido で披露したお話(2013/9/21 Software Freedom Day での小江戸らぐ用資料)

PowerShellでWebブラウザ(Selenium Webdriver)を動かした話