Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
EN
Uploaded by
onozaty
PDF, PPTX
1,586 views
Selenium入門
社内勉強会でSeleniumについて話した資料です。
Technology
◦
Related topics:
Software Testing Insights
•
Read more
0
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 30
2
/ 30
3
/ 30
4
/ 30
5
/ 30
6
/ 30
7
/ 30
8
/ 30
9
/ 30
10
/ 30
11
/ 30
12
/ 30
13
/ 30
14
/ 30
15
/ 30
16
/ 30
17
/ 30
18
/ 30
19
/ 30
20
/ 30
21
/ 30
22
/ 30
23
/ 30
24
/ 30
25
/ 30
26
/ 30
27
/ 30
28
/ 30
29
/ 30
30
/ 30
More Related Content
PDF
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
by
Naoya Kishimoto
PDF
今だからこそ見直そうAzureコスト最適化
by
Tomotaka Suzuki(御成門プログラマー)
PDF
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
by
Amazon Web Services Japan
PDF
実録Blue-Green Deployment導入記
by
Hiroyuki Ohnaka
PDF
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
by
Amazon Web Services Japan
PDF
Redmine にいろいろ埋め込んでみた
by
Kohei Nakamura
PDF
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
by
Amazon Web Services Japan
PDF
AWS Black Belt Tech シリーズ 2015 AWS CLI & AWS Tools for Windows Powershell
by
Amazon Web Services Japan
[CEDEC 2021] 運用中タイトルでも怖くない! 『メルクストーリア』におけるハイパフォーマンス・ローコストなリアルタイム通信技術の導入事例
by
Naoya Kishimoto
今だからこそ見直そうAzureコスト最適化
by
Tomotaka Suzuki(御成門プログラマー)
[AWS EXpert Online for JAWS-UG 18] 見せてやるよ、Step Functions の本気ってやつをな
by
Amazon Web Services Japan
実録Blue-Green Deployment導入記
by
Hiroyuki Ohnaka
AWS Black Belt Online Seminar 2017 AWS Elastic Beanstalk
by
Amazon Web Services Japan
Redmine にいろいろ埋め込んでみた
by
Kohei Nakamura
20190129 AWS Black Belt Online Seminar AWS Identity and Access Management (AW...
by
Amazon Web Services Japan
AWS Black Belt Tech シリーズ 2015 AWS CLI & AWS Tools for Windows Powershell
by
Amazon Web Services Japan
What's hot
PDF
Share point における id管理と認証・認可
by
Naohiro Fujie
PDF
Springを何となく使ってる人が抑えるべきポイント
by
土岐 孝平
PDF
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
by
Amazon Web Services Japan
PDF
AWS Black Belt Online Seminar 2017 Amazon S3
by
Amazon Web Services Japan
PDF
チケット駆動開発現場の最前線.pdf
by
Yokoba
PDF
[AKIBA.AWS] VPCをネットワーク図で理解してみる
by
Shuji Kikuchi
PDF
Black Belt Online Seminar AWS上の暗号化ソリューション
by
Amazon Web Services Japan
PDF
20190319 AWS Black Belt Online Seminar Amazon FSx for Windows Server
by
Amazon Web Services Japan
PDF
AWS OpsWorksハンズオン
by
Amazon Web Services Japan
PDF
決済サービスのSpring Bootのバージョンを2系に上げた話
by
Ryosuke Uchitate
PDF
AWS Black Belt Techシリーズ Amazon WorkDocs / Amazon WorkMail
by
Amazon Web Services Japan
PDF
View customize pluginを使いこなす
by
onozaty
PDF
ゼロからはじめるKVM超入門
by
VirtualTech Japan Inc.
PDF
Redmine 5.0 + RedMica 2.1 新機能評価ガイド
by
Go Maeda
PDF
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
by
Amazon Web Services Japan
PDF
View Customize Pluginで出来ること
by
onozaty
PDF
AWS Black Belt Online Seminar AWS Direct Connect
by
Amazon Web Services Japan
PDF
わたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdf
by
ssuser868e2d
PPTX
SSRF対策としてAmazonから発表されたIMDSv2の効果と破り方
by
Hiroshi Tokumaru
PDF
怖くないSpring Bootのオートコンフィグレーション
by
土岐 孝平
Share point における id管理と認証・認可
by
Naohiro Fujie
Springを何となく使ってる人が抑えるべきポイント
by
土岐 孝平
20200422 AWS Black Belt Online Seminar Amazon Elastic Container Service (Amaz...
by
Amazon Web Services Japan
AWS Black Belt Online Seminar 2017 Amazon S3
by
Amazon Web Services Japan
チケット駆動開発現場の最前線.pdf
by
Yokoba
[AKIBA.AWS] VPCをネットワーク図で理解してみる
by
Shuji Kikuchi
Black Belt Online Seminar AWS上の暗号化ソリューション
by
Amazon Web Services Japan
20190319 AWS Black Belt Online Seminar Amazon FSx for Windows Server
by
Amazon Web Services Japan
AWS OpsWorksハンズオン
by
Amazon Web Services Japan
決済サービスのSpring Bootのバージョンを2系に上げた話
by
Ryosuke Uchitate
AWS Black Belt Techシリーズ Amazon WorkDocs / Amazon WorkMail
by
Amazon Web Services Japan
View customize pluginを使いこなす
by
onozaty
ゼロからはじめるKVM超入門
by
VirtualTech Japan Inc.
Redmine 5.0 + RedMica 2.1 新機能評価ガイド
by
Go Maeda
20210216 AWS Black Belt Online Seminar AWS Database Migration Service
by
Amazon Web Services Japan
View Customize Pluginで出来ること
by
onozaty
AWS Black Belt Online Seminar AWS Direct Connect
by
Amazon Web Services Japan
わたくし、やっぱりCDKを使いたいですわ〜CDK import編〜.pdf
by
ssuser868e2d
SSRF対策としてAmazonから発表されたIMDSv2の効果と破り方
by
Hiroshi Tokumaru
怖くないSpring Bootのオートコンフィグレーション
by
土岐 孝平
Similar to Selenium入門
PDF
Selenium入門(2023年版)
by
onozaty
PDF
「Selenium実践入門」で学ぶテスト自動化の世界
by
Nozomi Ito
PPTX
Selenium2(web driver)
by
Tetsuya Hasegawa
PPTX
WEB開発動作テストの自動化 を行うSeleniumの紹介
by
Nobuhiko Futagami
PPTX
Selenium勉強会
by
Tatsunori Nishikori
PPTX
20170809 start python_selenium
by
Hiroko Tamagawa
PDF
海外のSeleniumカンファレンスではどんな発表がされているのか2014
by
Nozomi Ito
PPTX
Selenium IDE for primer
by
yasukoS
PDF
初心者による初心者のためのRPA入門 ~Seleniumを使用したWebブラウザ操作の自動化~
by
ceres-inc
PPTX
Selenium2(web driver) ide編
by
Tetsuya Hasegawa
PDF
PHPerのための(不遇に負けない)Selenium入門 @ FuelPHP&CodeIgniter ユーザの集い #9
by
Hiroshi Toda
PPTX
Microsoft Excelでgoogle chromeを動かした話
by
洋史 東平
PPTX
Microsoft ExcelでWebブラウザ(Selenium WebDriver)を動かした話
by
洋史 東平
PPTX
Selenium 触ってみよう
by
Oda Shinsuke
PDF
201605 FA勉強会 seleniumスライド
by
秀平 高橋
PDF
201605 fa勉強会スライド
by
秀平 高橋
PDF
SeleniumWebDriverを使ってつまらない作業を駆逐してやる!!
by
Masato Noguchi
PPTX
Pythonでwebdriver
by
株式会社 システムヨシイ
PDF
宣伝:SeleniumConf Tokyo 2019やりますよ!
by
Naruhiko Ogasawara
PDF
【Camphor ×サイボウズ】selenium勉強会
by
Yuki Okada
Selenium入門(2023年版)
by
onozaty
「Selenium実践入門」で学ぶテスト自動化の世界
by
Nozomi Ito
Selenium2(web driver)
by
Tetsuya Hasegawa
WEB開発動作テストの自動化 を行うSeleniumの紹介
by
Nobuhiko Futagami
Selenium勉強会
by
Tatsunori Nishikori
20170809 start python_selenium
by
Hiroko Tamagawa
海外のSeleniumカンファレンスではどんな発表がされているのか2014
by
Nozomi Ito
Selenium IDE for primer
by
yasukoS
初心者による初心者のためのRPA入門 ~Seleniumを使用したWebブラウザ操作の自動化~
by
ceres-inc
Selenium2(web driver) ide編
by
Tetsuya Hasegawa
PHPerのための(不遇に負けない)Selenium入門 @ FuelPHP&CodeIgniter ユーザの集い #9
by
Hiroshi Toda
Microsoft Excelでgoogle chromeを動かした話
by
洋史 東平
Microsoft ExcelでWebブラウザ(Selenium WebDriver)を動かした話
by
洋史 東平
Selenium 触ってみよう
by
Oda Shinsuke
201605 FA勉強会 seleniumスライド
by
秀平 高橋
201605 fa勉強会スライド
by
秀平 高橋
SeleniumWebDriverを使ってつまらない作業を駆逐してやる!!
by
Masato Noguchi
Pythonでwebdriver
by
株式会社 システムヨシイ
宣伝:SeleniumConf Tokyo 2019やりますよ!
by
Naruhiko Ogasawara
【Camphor ×サイボウズ】selenium勉強会
by
Yuki Okada
More from onozaty
PDF
Dev Containers のススメ
by
onozaty
PDF
リモートワーク中に買って良かったものベスト3
by
onozaty
PDF
情報を表現するときのポイント
by
onozaty
PDF
チームで開発するための環境を整える
by
onozaty
PDF
40歳過ぎてもエンジニアでいるためにやっていること
by
onozaty
PDF
Java8から17へ
by
onozaty
PDF
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
by
onozaty
PDF
Redmine issue assign notice plugin の紹介
by
onozaty
PDF
最近作ったもの
by
onozaty
PDF
Redmineの画面をあなた好みにカスタマイズ - View customize pluginの紹介 - Redmine Japan 2020
by
onozaty
PDF
「伝わるチケット」の書き方
by
onozaty
PDF
View customize plugin for Redmineの紹介 (2019年版)
by
onozaty
PDF
View customize1.2.0の紹介
by
onozaty
PDF
WebSocketでカメラの映像を共有してみた
by
onozaty
PDF
Lombokの紹介
by
onozaty
PDF
Spring Bootを触ってみた
by
onozaty
PDF
30歳過ぎてもエンジニアでいるためにやったこと
by
onozaty
PDF
技術書のススメ
by
onozaty
PDF
課題管理と情報共有のためのツール群
by
onozaty
PDF
お試し用のLinux環境を作る
by
onozaty
Dev Containers のススメ
by
onozaty
リモートワーク中に買って良かったものベスト3
by
onozaty
情報を表現するときのポイント
by
onozaty
チームで開発するための環境を整える
by
onozaty
40歳過ぎてもエンジニアでいるためにやっていること
by
onozaty
Java8から17へ
by
onozaty
今からでも遅くないDBマイグレーション - Flyway と SchemaSpy の紹介 -
by
onozaty
Redmine issue assign notice plugin の紹介
by
onozaty
最近作ったもの
by
onozaty
Redmineの画面をあなた好みにカスタマイズ - View customize pluginの紹介 - Redmine Japan 2020
by
onozaty
「伝わるチケット」の書き方
by
onozaty
View customize plugin for Redmineの紹介 (2019年版)
by
onozaty
View customize1.2.0の紹介
by
onozaty
WebSocketでカメラの映像を共有してみた
by
onozaty
Lombokの紹介
by
onozaty
Spring Bootを触ってみた
by
onozaty
30歳過ぎてもエンジニアでいるためにやったこと
by
onozaty
技術書のススメ
by
onozaty
課題管理と情報共有のためのツール群
by
onozaty
お試し用のLinux環境を作る
by
onozaty
Selenium入門
1.
Selenium入門 2021-02-12 社内勉強会 onozaty
2.
Seleniumとは • Webブラウザの操作を自動化するためのフレームワーク • 主にWebアプリケーションのE2Eテストに利用 •
ブラウザ操作をプログラムで行うことができる • テスト以外の自動化ツールでも利用 • 単一のAPIで様々なブラウザを同じように操作可能 • 各ブラウザ×各OSの組み合わせで同じことを実行できる Seleniumの公式サイト https://www.selenium.dev/ ドキュメントの日本語訳 https://www.selenium.dev/documentation/ja/
3.
Seleniumの昔と今
4.
Seleniumの昔と今 - Selenium
RC 初期(10年以上前)のSelenium 1は、Selenium RC(Remote Control)とい う仕組みを使っていた • プロキシのような形で、テスト対象のサイトにJavaScriptを埋め込 んで操作するような仕組み • ブラウザのセキュリティに起因する制約あり • アーキテクチャ的に複雑→安定しない要因に ※ Selenium Core、Selenium RCといったキーワードが出てきたら、昔の情報なので要注意
5.
Seleniumの昔と今 - Selenium
WebDriver Selenium 2からWebDriverを使うように • WebDriverを使うことで、直接ブラウザを操作できるようになっ た • Selenium RCの時のようなセキュリティ制限を受けなくなった • シンプルな構成となった→安定するように • 現在ではW3Cで標準化されており、各ブラウザ毎にWebDriverの 実装が用意されている • 主にブラウザベンダが提供している
6.
Seleniumを構成する要素 • Selenium WebDriver •
Selenium IDE • Selenium Grid
7.
Selenium WebDriver https://www.selenium.dev/documentation/ja/webdriver/
8.
Selenium WebDriver • WebDriverを使うことで、ブラウザ操作をプログラムで行うことが できる 画像引用元:
https://www.selenium.dev/documentation/ja/webdriver/understanding_the_components/ 各プログラミング言語(Java、 Python、C#、Ruby、JavaScriptな ど)のバインディングが提供されて いる。 PHPのようにSelenium公式にはな くて、他から提供されているもの もあり。 各ブラウザ(Chrome、Firefox、 Edgeなど)に対応したDriverが提供 されている。 Web APIとして要求を受け付けて、 ブラウザを操作する。
9.
Selenium WebDriver -
利用方法 • 実行する際には、各ブラウザ用のDriverを入手しパス等に設定する • ブラウザ毎の入手元の情報は下記にて • https://www.selenium.dev/documentation/en/webdriver/driver_requirements/#quick- reference
10.
Selenium WebDriver -
利用方法 System.setProperty("webdriver.chrome.driver", "C:¥¥selenium¥¥chromedriver.exe"); WebDriver driver = new ChromeDriver(); // サイトを開く driver.get("https://selenium.dev"); // id=search-byの要素を選択し、abcといった文字を入力 driver.findElement(By.id("search-by")).click(); driver.findElement(By.id("search-by")).sendKeys("abc"); // id=search-buttonの要素を探してclick driver.findElement(By.id("search-button")).click(); JavaだとシステムプロパティとしてダウンロードしたDriverのパスを設定 WebDriverのインスタンスを生成し、そのインスタンスを通して操作 ※今後出てくるコードは全てJavaでのコード
11.
Selenium WebDriver -
ダウンロードの手間 • 各ブラウザのDriverをダウンロードしてきて、パス等に設定するの は結構手間 • ブラウザのバージョンが上がる毎にDriverをダウンロードしてこなければな らない • 動かないと思ったら、インストールされているブラウザのバージョンと Driverがアンマッチになっているといったことがよくある
12.
Selenium WebDriver -
WebDriverManager • WebDriverManagerを使うと、インストールされているブラウザの バージョンに応じたDriverをダウンロードして、システムプロパ ティに設定してくれる • https://github.com/bonigarcia/webdrivermanager • 下記1行で終わり WebDriverManager.chromedriver().setup();
13.
Selenium WebDriverでのデモ https://github.com/onozaty/selenium-sandbox/tree/main/selenium-junit
14.
WebDriverを使いやすくしたもの • Selenium WebDriver自体は、テスト用というより、ブラウザ操作の ためのもの •
コードが冗長になりがち • テストランナーやアサーションは別途用意する必要がある
15.
WebDriverを使いやすくしたもの • WebDriverを内部で使いながら、テストを書きやすくするためのラ イブラリがいくつもある • Selenide
https://selenide.org/ • Java • Geb https://gebish.org/ • Groovy • WebdriverIO https://webdriver.io/ • Node.js
16.
Selenide System.setProperty("webdriver.chrome.driver", "C:¥¥selenium¥¥chromedriver.exe"); WebDriver driver
= new ChromeDriver(); driver.get("http://192.168.33.10/"); driver.findElement(By.cssSelector("a[href=¥"/login¥"]")).click(); driver.findElement(By.id("username")).sendKeys("admin"); driver.findElement(By.id("password")).sendKeys("password"); driver.findElement(By.id("login-submit")).click(); assertThat(driver.findElement(By.cssSelector("h2")).getText()) .isEqualTo("title"); Configuration.browser = WebDriverRunner.CHROME; open("http://192.168.33.10/"); $("a[href=¥"/login¥"]").click(); $("#username").sendKeys("admin"); $("#password").sendKeys("password"); $("#login-submit").click(); $("h2").shouldHave(exactText("title")); 上記をSelenideで書くと、下記のように簡潔になる
17.
Selenium IDE https://www.selenium.dev/selenium-ide/
18.
Selenium IDE • Selenium
IDEはブラウザ操作の記録、実行が行えるブラウザの拡張 機能 • ChromeとFirefox版がある
19.
Selenium IDE • 昔のSelenium
IDEはFirefox版のみで、FirefoxがXUL/XPCOMベースの 拡張機能を廃止したことで、一度死んだ • 今のものは、まったく新しいものとして作られたもの • 当初は旧IDEからかなり機能が落ちるものだったが、コマンドも揃ってきて、 今現在では十分使えるものとなった • コマンド一覧 https://docs.seleniumhq.org/selenium-ide/docs/en/api/commands/
20.
Selenium IDE -
操作方法 • Selenium IDEを起動し、ブラウザ操作をレコーディング • Assertもブラウザ上で右クリックから追加することができる • for each や if文などの制御構文も書くことができる • コマンドとして直接入力することで複雑な動きも実現 • コマンド一覧 https://docs.seleniumhq.org/selenium-ide/docs/en/api/commands/ • 一連の操作を繰り返し実行できる • ファイル(*.side)としても保存できるので、再度開いて実行ということも可 能
21.
Selenium IDEでのデモ
22.
Selenium IDE -
selenium-side-runner • 保存したファイル(*.side)は、selenium-side-runner というコマンド ラインツールでも実行可能 • Node.js で書かれたツールになっている • https://www.selenium.dev/selenium-ide/docs/en/introduction/command- line-runner
23.
Selenium IDE と
WebDriver • Selenium IDEとSelenium WebDriverは全く異なる仕組みとなるが、 Selenium IDEの内容を、WebDriverでのコードとしてエクスポート することができる • 最初のうちは、IDEからエクスポートした コードを元にすると、WebDriverのコードが 書きやすいかも
24.
Selenium Grid https://www.selenium.dev/documentation/ja/grid/
25.
Selenium Grid • Selenium
Gridを使うことで、複数のリモートマシン上でSeleniumを 実行することができる • 異なるブラウザ、異なるOS上でのテストを一元管理しながら、複数のリ モートマシン上で実行できる • 並列で実行することで、テストの時間短縮を行える
26.
Selenium Grid 画像引用元: https://www.selenium.dev/documentation/ja/grid/grid_4/components_of_a_grid/
27.
Selenium以外のもの
28.
Selenium以外のブラウザ自動化ツール • Puppeteer https://github.com/puppeteer/puppeteer •
ChromeのDevTools Protocolを使って操作するNode.jsのライブラリ • DevTools Protocolを使うので、WebDriverより高機能なことができる • ChromeDriverも内部的にはDevTools Protocolを使っているが、WebDriverとして定義さ れている部分しか現状は触れない • 次のSelenium 4でDevToolsをネイティブサポートする予定
29.
Selenium以外のブラウザ自動化ツール • Cypress https://www.cypress.io/ •
TestCafe https://devexpress.github.io/testcafe/ • どっちもテストに特化したフレームワーク • オールインワン、準備が楽、学習コストが低い • プロキシやブラウザの拡張機能使って、ページ上でJavaScriptを実行するよ うな仕組み
30.
おわり ご清聴ありがとうございました
Download