Submit Search
Upload
20151201 私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て
•
4 likes
•
5,298 views
O
Osamu Shimoda
Follow
2015/12/1 Enterprise HTML5 Developers Meetup #2 の発表資料です。
Read less
Read more
Technology
Report
Share
Report
Share
1 of 53
Download now
Download to read offline
Recommended
自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介
Shinsuke Matsuki
怖くないAzure Landing Zone
怖くないAzure Landing Zone
Atsushi Kojima
テスト自動化の現場で困ること SI-Toolkitが解決すること
テスト自動化の現場で困ること SI-Toolkitが解決すること
yuichi_kuwahara
私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て
私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て
Osamu Shimoda
iOS WKWebViewの魔改造 - iOSDC 2018
iOS WKWebViewの魔改造 - iOSDC 2018
Shingo Fukuyama
令和最新!SwiftUI+async_awaitで自分はこう設計・実装している!.pdf
令和最新!SwiftUI+async_awaitで自分はこう設計・実装している!.pdf
Yuuki Noseda
Spring fest2020 spring-security
Spring fest2020 spring-security
土岐 孝平
backlogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見る
Takeru Maehara
Recommended
自動テスト知識体系TABOKのご紹介
自動テスト知識体系TABOKのご紹介
Shinsuke Matsuki
怖くないAzure Landing Zone
怖くないAzure Landing Zone
Atsushi Kojima
テスト自動化の現場で困ること SI-Toolkitが解決すること
テスト自動化の現場で困ること SI-Toolkitが解決すること
yuichi_kuwahara
私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て
私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て
Osamu Shimoda
iOS WKWebViewの魔改造 - iOSDC 2018
iOS WKWebViewの魔改造 - iOSDC 2018
Shingo Fukuyama
令和最新!SwiftUI+async_awaitで自分はこう設計・実装している!.pdf
令和最新!SwiftUI+async_awaitで自分はこう設計・実装している!.pdf
Yuuki Noseda
Spring fest2020 spring-security
Spring fest2020 spring-security
土岐 孝平
backlogsでもCI/CDする夢を見る
backlogsでもCI/CDする夢を見る
Takeru Maehara
Spring bootでweb ユニットテスト編
Spring bootでweb ユニットテスト編
なべ
ワタシはSingletonがキライだ
ワタシはSingletonがキライだ
Tetsuya Kaneuchi
5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページ
CLARA ONLINE, Inc.
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
KLab Inc. / Tech
2 TomcatによるWebアプリケーションサーバ構築 第2章 Tomcat概要(2)-セッション
2 TomcatによるWebアプリケーションサーバ構築 第2章 Tomcat概要(2)-セッション
Enpel
Nessusの仕組み / How Nessus works
Nessusの仕組み / How Nessus works
boxin -
40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていること
onozaty
10 Benefits of Automated Testing
10 Benefits of Automated Testing
TestObject - Mobile Testing
Data Driven Framework In Selenium Webdriver | Data Driven Testing | Selenium ...
Data Driven Framework In Selenium Webdriver | Data Driven Testing | Selenium ...
Edureka!
フリーでできるセキュリティ インフラ(Nessus)編
フリーでできるセキュリティ インフラ(Nessus)編
abend_cve_9999_0001
AppiumのWebViewアプリテストの仕組みとハマりどころ
AppiumのWebViewアプリテストの仕組みとハマりどころ
Masayuki Wakizaka
Azure Application GatewayでオンプレDMZをクラウドへ拡張する
Azure Application GatewayでオンプレDMZをクラウドへ拡張する
拓将 平林
だいたい30分で分かるオブジェクト指向
だいたい30分で分かるオブジェクト指向
Anto Mioyama
View customize plugin for Redmineの紹介 (2019年版)
View customize plugin for Redmineの紹介 (2019年版)
onozaty
Selenium Handbook
Selenium Handbook
Suresh Thammishetty
ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 ( Redmine of one plant 2022 ...
ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 ( Redmine of one plant 2022 ...
Kohei Nakamura
桃園市教育局Docker技術入門與實作
桃園市教育局Docker技術入門與實作
Philip Zheng
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
SEGADevTech
新登場! Windows Defender Application Guard 解説 ~ Microsoft Edge がセキュア ブラウザーに!?~
新登場! Windows Defender Application Guard 解説 ~ Microsoft Edge がセキュア ブラウザーに!?~
TAKUYA OHTA
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
Yoji Kanno
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
Yahoo!デベロッパーネットワーク
Vtecxlt20151201
Vtecxlt20151201
Shinichiro Takezaki
More Related Content
What's hot
Spring bootでweb ユニットテスト編
Spring bootでweb ユニットテスト編
なべ
ワタシはSingletonがキライだ
ワタシはSingletonがキライだ
Tetsuya Kaneuchi
5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページ
CLARA ONLINE, Inc.
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
KLab Inc. / Tech
2 TomcatによるWebアプリケーションサーバ構築 第2章 Tomcat概要(2)-セッション
2 TomcatによるWebアプリケーションサーバ構築 第2章 Tomcat概要(2)-セッション
Enpel
Nessusの仕組み / How Nessus works
Nessusの仕組み / How Nessus works
boxin -
40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていること
onozaty
10 Benefits of Automated Testing
10 Benefits of Automated Testing
TestObject - Mobile Testing
Data Driven Framework In Selenium Webdriver | Data Driven Testing | Selenium ...
Data Driven Framework In Selenium Webdriver | Data Driven Testing | Selenium ...
Edureka!
フリーでできるセキュリティ インフラ(Nessus)編
フリーでできるセキュリティ インフラ(Nessus)編
abend_cve_9999_0001
AppiumのWebViewアプリテストの仕組みとハマりどころ
AppiumのWebViewアプリテストの仕組みとハマりどころ
Masayuki Wakizaka
Azure Application GatewayでオンプレDMZをクラウドへ拡張する
Azure Application GatewayでオンプレDMZをクラウドへ拡張する
拓将 平林
だいたい30分で分かるオブジェクト指向
だいたい30分で分かるオブジェクト指向
Anto Mioyama
View customize plugin for Redmineの紹介 (2019年版)
View customize plugin for Redmineの紹介 (2019年版)
onozaty
Selenium Handbook
Selenium Handbook
Suresh Thammishetty
ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 ( Redmine of one plant 2022 ...
ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 ( Redmine of one plant 2022 ...
Kohei Nakamura
桃園市教育局Docker技術入門與實作
桃園市教育局Docker技術入門與實作
Philip Zheng
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
SEGADevTech
新登場! Windows Defender Application Guard 解説 ~ Microsoft Edge がセキュア ブラウザーに!?~
新登場! Windows Defender Application Guard 解説 ~ Microsoft Edge がセキュア ブラウザーに!?~
TAKUYA OHTA
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
Yoji Kanno
What's hot
(20)
Spring bootでweb ユニットテスト編
Spring bootでweb ユニットテスト編
ワタシはSingletonがキライだ
ワタシはSingletonがキライだ
5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページ
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
ゴリラテスト モバイルゲームのUIを自動的に検出・操作する モンキーテスト
2 TomcatによるWebアプリケーションサーバ構築 第2章 Tomcat概要(2)-セッション
2 TomcatによるWebアプリケーションサーバ構築 第2章 Tomcat概要(2)-セッション
Nessusの仕組み / How Nessus works
Nessusの仕組み / How Nessus works
40歳過ぎてもエンジニアでいるためにやっていること
40歳過ぎてもエンジニアでいるためにやっていること
10 Benefits of Automated Testing
10 Benefits of Automated Testing
Data Driven Framework In Selenium Webdriver | Data Driven Testing | Selenium ...
Data Driven Framework In Selenium Webdriver | Data Driven Testing | Selenium ...
フリーでできるセキュリティ インフラ(Nessus)編
フリーでできるセキュリティ インフラ(Nessus)編
AppiumのWebViewアプリテストの仕組みとハマりどころ
AppiumのWebViewアプリテストの仕組みとハマりどころ
Azure Application GatewayでオンプレDMZをクラウドへ拡張する
Azure Application GatewayでオンプレDMZをクラウドへ拡張する
だいたい30分で分かるオブジェクト指向
だいたい30分で分かるオブジェクト指向
View customize plugin for Redmineの紹介 (2019年版)
View customize plugin for Redmineの紹介 (2019年版)
Selenium Handbook
Selenium Handbook
ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 ( Redmine of one plant 2022 ...
ある工場の Redmine 2022 〜ある工場の Redmine 5.0 バージョンアップ〜 ( Redmine of one plant 2022 ...
桃園市教育局Docker技術入門與實作
桃園市教育局Docker技術入門與實作
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
新登場! Windows Defender Application Guard 解説 ~ Microsoft Edge がセキュア ブラウザーに!?~
新登場! Windows Defender Application Guard 解説 ~ Microsoft Edge がセキュア ブラウザーに!?~
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
Viewers also liked
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
Yahoo!デベロッパーネットワーク
Vtecxlt20151201
Vtecxlt20151201
Shinichiro Takezaki
Onsen UI 2.0とUIライブラリの未来
Onsen UI 2.0とUIライブラリの未来
アシアル株式会社
20170704 Pitaliumの新機能
20170704 Pitaliumの新機能
Osamu Shimoda
OSC京都 2015 LT 「テスト自動化の闇と向き合う」
OSC京都 2015 LT 「テスト自動化の闇と向き合う」
Osamu Shimoda
20161222 selenium adventcalender
20161222 selenium adventcalender
Naoya Kojima
ゲームだけじゃないHTML5
ゲームだけじゃないHTML5
Osamu Shimoda
第2回HTML5企業Webシステム開発セミナー hifive紹介資料
第2回HTML5企業Webシステム開発セミナー hifive紹介資料
Osamu Shimoda
JISAAwards2013講演会資料(hifive)
JISAAwards2013講演会資料(hifive)
Osamu Shimoda
5分でわかるVISUAL TESTING FOR HTML5
5分でわかるVISUAL TESTING FOR HTML5
Osamu Shimoda
20161218 selenium study4
20161218 selenium study4
Naoya Kojima
SeleniumConf16 UK参加報告
SeleniumConf16 UK参加報告
Osamu Shimoda
WordPressの構造を理解しよう
WordPressの構造を理解しよう
Kanako Kobayashi
第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」
第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」
Osamu Shimoda
HTML5時代のUIテスト自動化
HTML5時代のUIテスト自動化
Osamu Shimoda
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
Kotaro Ogino
キーワード駆動によるシステムテストの自動化について 2015
キーワード駆動によるシステムテストの自動化について 2015
Toru Koido
Viewers also liked
(17)
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
実運用して分かったRabbit MQの良いところ・気をつけること #jjug
Vtecxlt20151201
Vtecxlt20151201
Onsen UI 2.0とUIライブラリの未来
Onsen UI 2.0とUIライブラリの未来
20170704 Pitaliumの新機能
20170704 Pitaliumの新機能
OSC京都 2015 LT 「テスト自動化の闇と向き合う」
OSC京都 2015 LT 「テスト自動化の闇と向き合う」
20161222 selenium adventcalender
20161222 selenium adventcalender
ゲームだけじゃないHTML5
ゲームだけじゃないHTML5
第2回HTML5企業Webシステム開発セミナー hifive紹介資料
第2回HTML5企業Webシステム開発セミナー hifive紹介資料
JISAAwards2013講演会資料(hifive)
JISAAwards2013講演会資料(hifive)
5分でわかるVISUAL TESTING FOR HTML5
5分でわかるVISUAL TESTING FOR HTML5
20161218 selenium study4
20161218 selenium study4
SeleniumConf16 UK参加報告
SeleniumConf16 UK参加報告
WordPressの構造を理解しよう
WordPressの構造を理解しよう
第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」
第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」
HTML5時代のUIテスト自動化
HTML5時代のUIテスト自動化
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
【システムテスト自動化カンファレンス2015】 楽天の品質改善を加速する継続的システムテストパターン #stac2015
キーワード駆動によるシステムテストの自動化について 2015
キーワード駆動によるシステムテストの自動化について 2015
Similar to 20151201 私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
Toshiyuki Hirata
Adobe セッション for Enterprise x HTML5 Web Application Conference 2014
Adobe セッション for Enterprise x HTML5 Web Application Conference 2014
Tsuyoshi Nakao
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
Koichiro Sumi
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンス
Kaoru NAKAMURA
技術選択とアーキテクトの役割 (要約版)
技術選択とアーキテクトの役割 (要約版)
Toru Yamaguchi
スタートアップ向け!1人日でできるサービスの高速化方法と成果
スタートアップ向け!1人日でできるサービスの高速化方法と成果
Koichiro Sumi
Developer summit continuous deliveryとjenkins
Developer summit continuous deliveryとjenkins
Kohsuke Kawaguchi
20141118 vSS 2014 大阪
20141118 vSS 2014 大阪
Midori Ikegami
Automation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbix
softlayerjp
もう怖くないモバイルアプリ開発!【デブサミ関西2014】
もう怖くないモバイルアプリ開発!【デブサミ関西2014】
Toshiki Iga
STFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テスト
Toshiyuki Hirata
第5回業開中心会議
第5回業開中心会議
Kaoru NAKAMURA
Bluepillを使ったiOS自動テストの並列化
Bluepillを使ったiOS自動テストの並列化
Toshiyuki Hirata
Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -
Toshiyuki Hirata
Adobe Web 統合開発環境のご紹介
Adobe Web 統合開発環境のご紹介
Tsuyoshi Nakao
その Web サイト、その Web アプリを最新の IE11 に対応しよう
その Web サイト、その Web アプリを最新の IE11 に対応しよう
Osamu Monoe
Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境
Toshiyuki Hirata
レガシーコードを改善した先にあるもの、それは継続的インテグレーション
レガシーコードを改善した先にあるもの、それは継続的インテグレーション
Masanori Satoh
アプリ開発作業の効率改善
アプリ開発作業の効率改善
健一 辰濱
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminar
Manabu Shimobe
Similar to 20151201 私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て
(20)
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
Adobe セッション for Enterprise x HTML5 Web Application Conference 2014
Adobe セッション for Enterprise x HTML5 Web Application Conference 2014
おすすめインフラ! for スタートアップ
おすすめインフラ! for スタートアップ
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンス
技術選択とアーキテクトの役割 (要約版)
技術選択とアーキテクトの役割 (要約版)
スタートアップ向け!1人日でできるサービスの高速化方法と成果
スタートアップ向け!1人日でできるサービスの高速化方法と成果
Developer summit continuous deliveryとjenkins
Developer summit continuous deliveryとjenkins
20141118 vSS 2014 大阪
20141118 vSS 2014 大阪
Automation with SoftLayer and Zabbix
Automation with SoftLayer and Zabbix
もう怖くないモバイルアプリ開発!【デブサミ関西2014】
もう怖くないモバイルアプリ開発!【デブサミ関西2014】
STFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テスト
第5回業開中心会議
第5回業開中心会議
Bluepillを使ったiOS自動テストの並列化
Bluepillを使ったiOS自動テストの並列化
Xcodeの管理を楽に - Jenkins編 -
Xcodeの管理を楽に - Jenkins編 -
Adobe Web 統合開発環境のご紹介
Adobe Web 統合開発環境のご紹介
その Web サイト、その Web アプリを最新の IE11 に対応しよう
その Web サイト、その Web アプリを最新の IE11 に対応しよう
Androidアプリ開発のテスト環境
Androidアプリ開発のテスト環境
レガシーコードを改善した先にあるもの、それは継続的インテグレーション
レガシーコードを改善した先にあるもの、それは継続的インテグレーション
アプリ開発作業の効率改善
アプリ開発作業の効率改善
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminar
20151201 私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て
1.
私がSeleniumを使って スクリーンショット を撮るまでに出会っ た闇の全て 新日鉄住金ソリューションズ 石川 真也 (Selenium歴1年) Copyright
© 2015 NS Solutions Corporation, All rights reserved. 1
2.
End to End(E2E)テスト Copyright
© 2015 NS Solutions Corporation, All rights reserved. 2
3.
E2Eテスト • アプリケーションの 「最初から最後まで」の動作を たしかめるテスト • ブラウザなどを使う Copyright
© 2015 NS Solutions Corporation, All rights reserved. 3
4.
Copyright © 2015
NS Solutions Corporation, All rights reserved. 4 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 複数のブラウザで 同じテストを実行 ↓ 負担大 Internet Explorer 7 Internet Explorer 8 Internet Explorer 9 Internet Explorer 10 Internet Explorer 11 Microsoft Edge Firefox Google Chrome Safari Safari(iOS) Google Chrome(Android) 課題:対象ブラウザが増えた
5.
Copyright © 2015
NS Solutions Corporation, All rights reserved. 5 Edge IE11 IE9 Chrome FF Safari iOS Android Android Android ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 2015/09/03(rev.1) ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 2015/09/17(rev.2) ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 2015/10/01(rev.3) ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 2015/10/03(rev.4) 課題:テスト頻度が増した 開発スピードに追いつかない
6.
テスト自動化 Copyright © 2015
NS Solutions Corporation, All rights reserved. 6
7.
Copyright © 2015
NS Solutions Corporation, All rights reserved. 7 Selenium
8.
Selenium-特徴 OSS(Apache2.0) 様々なブラウザに対応
豊富な言語バインディング Java, C#, Python, Ruby, JavaScript etc. 豊富な支援ツール Selenium grid:並列実行 Selenium IDE:画面操作の記録 Appium:iOS, Androidのテスト Microsoft Edgeにも! Copyright © 2015 NS Solutions Corporation, All rights reserved. 8 →間口の広さ
9.
Selenium-コード例 public class Example
{ public static void main(String[] args) { WebDriver driver = new HtmlUnitDriver(); driver.get("http://www.google.com"); WebElement element = driver.findElement(By.name("q")); element.sendKeys("Cheese!"); element.submit(); System.out.println("Page title is: " + driver.getTitle()); driver.quit(); } } フォーム操作 ページリクエスト 値の取得 Copyright © 2015 NS Solutions Corporation, All rights reserved. 9
10.
Selenium-こんなこともできる Copyright © 2015
NS Solutions Corporation, All rights reserved. 10 • 任意のJavaScriptコードを実行できる • 表示中のページのスクリーンショットを 取得できる
11.
スクリーンショット取得機能 • レイアウト確認 • エビデンス取得 •
差分検知 • for リグレッションテスト Copyright © 2015 NS Solutions Corporation, All rights reserved. 11 File screenshotFile = ((Screenshot)driver).getScreenshotAs(file);
12.
Copyright © 2015
NS Solutions Corporation, All rights reserved. 12 2015/09/03(rev.1) 2015/09/17(rev.2) IE11 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 ・アプリにアクセス ・ログイン ・カートに商品を追加 ・配送先を選択 ・支払い方法を選択 ・注文の確認 ・購入完了 スクリーンショットで差分検知
13.
Seleniumを使って スクリーンショットを撮ろう! 目標 Seleniumを使って スクリーンショットを撮ろう! Copyright © 2015
NS Solutions Corporation, All rights reserved.Copyright © 2015 NS Solutions Corporation, All rights reserved. 13
14.
目標 Seleniumを使って スクリーンショットを撮ろう! Copyright © 2015
NS Solutions Corporation, All rights reserved. 14
15.
以下、 Copyright © 2015
NS Solutions Corporation, All rights reserved. 15
16.
Seleniumでスクリーンショットを 撮ろうとした時の 闇(はまりどころ)を紹介 Copyright © 2015
NS Solutions Corporation, All rights reserved. 16
17.
の闇ブラウザ依存 Copyright © 2015
NS Solutions Corporation, All rights reserved. 17
18.
File screenshotFile =
((Screenshot)driver).getScreenshotAs(file); Copyright © 2015 NS Solutions Corporation, All rights reserved. 18 メソッドはある。しかし…
19.
可視範囲のみ いろんなバー映り込む Copyright © 2015
NS Solutions Corporation, All rights reserved. 19 Internet Explorer Google Chrome Safari(iOS)
20.
TakesScreenshot interface For WebDriver
extending TakesScreenshot, this makes a best effort depending on the browser to return the following in order of preference: • Entire page • Current window • Visible portion of the current frame • The screenshot of the entire display containing the browser http://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/TakesScreenshot.html Copyright © 2015 NS Solutions Corporation, All rights reserved. 20
21.
TakesScreenshot interface(意訳) 実装するときは下記の順でどれか返してくれればいいよ。 ブラウザによってベストエフォートで実装してね。 • ページ全体 •
現在のウインドウ • 現在のフレームの可視範囲 • ブラウザも含むディスプレイ全体 http://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/TakesScreenshot.html Copyright © 2015 NS Solutions Corporation, All rights reserved. 21
22.
闇が深い Copyright © 2015
NS Solutions Corporation, All rights reserved. 22
23.
対策 地道にブラウザ依存の処理を 吸収する Copyright © 2015
NS Solutions Corporation, All rights reserved. 23
24.
対策 Copyright © 2015
NS Solutions Corporation, All rights reserved. 24
25.
Copyright © 2015
NS Solutions Corporation, All rights reserved. 25 スクロールに追従する要素アクセスするたびに内容が変わる ウィジェット
26.
対策 Copyright © 2015
NS Solutions Corporation, All rights reserved. 26 アクセスするたびに内容が変わる ウィジェット →スクリーンショットは撮るが 差分検知のときは無視する スクロールに追従する要素 →スクリーンショットを撮るときに 隠す(hidden)
27.
サブピクセルの闇 Copyright © 2015
NS Solutions Corporation, All rights reserved. 27
28.
部分スクリーンショット取得時 身に覚えのないdiff Copyright © 2015
NS Solutions Corporation, All rights reserved. 28
29.
よく調べると Copyright © 2015
NS Solutions Corporation, All rights reserved. 29 要素A 要素A top: 200px left: 100px top: 300.5px left: 100px 要素Aの位置が変わっただけで 中身がほんの少し変わるもよう
30.
原因→サブピクセルレンダリング • ブラウザ上の要素の座標は実数 • ブラウザが小数点以下の値を 正確に扱おうと試みた結果、 微妙な差が出る Copyright
© 2015 NS Solutions Corporation, All rights reserved. 30
31.
ブラウザ毎の座標の扱いと レンダリング ブラウザ名 状態 Internet Explorer
7 小数点以下の座標を持たない Internet Explorer 8 内部的に小数点以下の座標を持つが、取得できる値は整数のみ。 横方向はレンダリングに影響するが縦方向は影響しない。 Internet Explorer 9 内部的に小数点以下の座標を持つが、取得できる値は整数のみ。 縦横両方向のレンダリングに影響する。 Internet Explorer 10 , 11 Mozilla Firefox Google Chrome 内部的に小数点以下の座標を持ち、取得される値も小数点を含む。 縦横両方向のレンダリングに影響する。 Copyright © 2015 NS Solutions Corporation, All rights reserved. 31
32.
闇が深い Copyright © 2015
NS Solutions Corporation, All rights reserved. 32
33.
対策 Copyright © 2015
NS Solutions Corporation, All rights reserved. 33 要素A 要素A top: 200px left: 100px top: 300.5px left: 100px 要素の座標が同じなら、 描画結果は同じになるはず…
34.
対策 Copyright © 2015
NS Solutions Corporation, All rights reserved. 34 要素A 要素A top: 0px left: 0px top: 0px left: 0px 要素Aのスクリーンショットを 撮る間だけ、固定座標に移動
35.
なぜかブラウザで開いている 画面と取得したスクリーン ショットが違うの闇 Copyright © 2015
NS Solutions Corporation, All rights reserved. 35
36.
IE8でスクリーンショット取得時 Copyright © 2015
NS Solutions Corporation, All rights reserved. 36 Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ○○のページ Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ○○のページ スクリーンショットにすると ほんの少しだけ幅が狭い…?? 行が折り返して しまう
37.
ウィンドウサイズを勝手に変えて いるのは誰? Copyright © 2015
NS Solutions Corporation, All rights reserved. 37 Selenium クライアント WebDriver ブラウザ スクリーンショット 撮って! どうぞ(画像) Json wire protocol ブラウザ拡張機能 OSのネイティブ機能
38.
対策… Copyright © 2015
NS Solutions Corporation, All rights reserved. 38 Selenium クライアント ドライバ ブラウザ 改修(C++)
39.
もうたくさんだ… Copyright © 2015
NS Solutions Corporation, All rights reserved. 39
40.
私はただ (きれいな)スクリーンショット を撮りたいだけなのに!!! Copyright © 2015
NS Solutions Corporation, All rights reserved. 40
41.
なぜC++を書いているんだ Copyright © 2015
NS Solutions Corporation, All rights reserved. 41
42.
これからSeleniumを使う人たちに 同じ闇を味わってほしくない Copyright © 2015
NS Solutions Corporation, All rights reserved. 42
43.
そこで Copyright © 2015
NS Solutions Corporation, All rights reserved. 43
44.
Copyright © 2015
NS Solutions Corporation, All rights reserved. 44 Apache2.0 License Version 1.0.2 開発中!
45.
Copyright © 2015
NS Solutions Corporation, All rights reserved. 45 IE Safari Chrome テスト スクリプト Pitalium 対象 ブラウザ ・IE ・Chrome ・Safari
46.
V1.0.2更新内容(抜粋) • 横スクロール対応 • Pitalium
Explorerを使った アドホック比較 • 任意のスクリーンショットの 比較が可能に Copyright © 2015 NS Solutions Corporation, All rights reserved. 46 Pitalium
47.
テスト結果ビューア:Pitalium Explorer Copyright ©
2015 NS Solutions Corporation, All rights reserved. 47 ・テスト結果 / スクリーンショット差分の確認
48.
Demo: 新旧テスト結果の比較 Copyright ©
2015 NS Solutions Corporation, All rights reserved. 48 2015/09/03(rev.1) 2015/09/17(rev.2) Internet Explorer 11 Chrome Firefox
49.
Demo: 異なるブラウザ間の結果比較 Copyright ©
2015 NS Solutions Corporation, All rights reserved. 49 2015/09/03(rev.1) 2015/09/17(rev.2) Internet Explorer 11 Chrome Firefox
50.
Copyright © 2015
NS Solutions Corporation, All rights reserved. 50 Copyright © 2015 NS Solutions Corporation, All rights reserved. 50 開発中に スクリーンショットを確認する CI環境と組み合わせて リグレッションテストに使う 仕様変更時に 新旧の画面を比較する OK! OK! driver.find Element(By .name("sh op_id")).cl ear(); NG! 利用シナリオ例 ちゃんと変わっている! Jenkins project: http://jenkins-ci.org/
51.
テスト自動化の闇テスト自動化の闇と向き合う Copyright © 2015
NS Solutions Corporation, All rights reserved. 51
52.
まとめ Copyright © 2015
NS Solutions Corporation, All rights reserved. 52 • マルチデバイス対応の闇は深い • スクリーンショット周り特に深い • そんな闇を祓うツール Pitaliumをよろしくお願いします
53.
明けない闇はない。 Copyright © 2015
NS Solutions Corporation, All rights reserved. 53 ・ NS Solutions、NS(ロゴ)、NSSOLは、新日鉄住金ソリューションズ株式会社の登録商標です。 ・ hifive、hifive(ロゴ)は、新日鉄住金ソリューションズ株式会社の登録商標です。 ・ Pitaliumは、新日鉄住金ソリューションズ株式会社の商標です。 ・ Javaは、米国ORACLE Corp.の登録商標です。 ・ その他本文記載の会社名及び製品名は、それぞれ各社の商標又は登録商標です。
Download now