SlideShare a Scribd company logo
1 of 47
Download to read offline
私がSeleniumを使って
スクリーンショット
を撮るまでに出会っ
た闇の全て 新日鉄住金ソリューションズ
石川 真也
(Selenium歴11ヶ月)
Copyright © 2015 NS Solutions Corporation, All rights reserved. 1
End to End(E2E)テスト
Copyright © 2015 NS Solutions Corporation, All rights reserved. 2
E2Eテスト
• アプリケーションの
「最初から最後まで」の動作を
たしかめるテスト
• ブラウザなどを使う
Copyright © 2015 NS Solutions Corporation, All rights reserved. 3
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)
・アプリにアクセス
・ログイン
・カートに商品を追加
・配送先を選択
・支払い方法を選択
・注文の確認
・購入完了
・アプリにアクセス
・ログイン
・カートに商品を追加
・配送先を選択
・支払い方法を選択
・注文の確認
・購入完了
・アプリにアクセス
・ログイン
・カートに商品を追加
・配送先を選択
・支払い方法を選択
・注文の確認
・購入完了
・アプリにアクセス
・ログイン
・カートに商品を追加
・配送先を選択
・支払い方法を選択
・注文の確認
・購入完了
・アプリにアクセス
・ログイン
・カートに商品を追加
・配送先を選択
・支払い方法を選択
・注文の確認
・購入完了
・アプリにアクセス
・ログイン
・カートに商品を追加
・配送先を選択
・支払い方法を選択
・注文の確認
・購入完了
・アプリにアクセス
・ログイン
・カートに商品を追加
・配送先を選択
・支払い方法を選択
・注文の確認
・購入完了
・アプリにアクセス
・ログイン
・カートに商品を追加
・配送先を選択
・支払い方法を選択
・注文の確認
・購入完了
・アプリにアクセス
・ログイン
・カートに商品を追加
・配送先を選択
・支払い方法を選択
・注文の確認
・購入完了
・アプリにアクセス
・ログイン
・カートに商品を追加
・配送先を選択
・支払い方法を選択
・注文の確認
・購入完了
複数の対象ブラウザで
同じテストを実行
(クロスブラウザテスト)
→負担大
そこで
Copyright © 2015 NS Solutions Corporation, All rights reserved. 5
テスト自動化
Copyright © 2015 NS Solutions Corporation, All rights reserved. 6
Copyright © 2015 NS Solutions Corporation, All rights reserved. 7
ブラウザ操作自動化ツール
Selenium
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
→間口の広さ
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
Selenium-こんなこともできる
Copyright © 2015 NS Solutions Corporation, All rights reserved. 10
• 任意のJavaScriptコードを実行できる
• 表示中のページのスクリーンショットを
取得できる
スクリーンショット取得機能
• レイアウト確認
• エビデンス取得
• 差分検知
• for リグレッションテスト
Copyright © 2015 NS Solutions Corporation, All rights reserved. 11
File screenshotFile = ((Screenshot)driver).getScreenshotAs(file);
目標
Seleniumを使って
スクリーンショットを撮ろう!
Copyright © 2015 NS Solutions Corporation, All rights reserved. 12
目標
Seleniumを使って
スクリーンショットを撮ろう!
Copyright © 2015 NS Solutions Corporation, All rights reserved. 13
以下、
Copyright © 2015 NS Solutions Corporation, All rights reserved. 14
Seleniumでスクリーンショットを
撮ろうとした時の
闇(はまりどころ)を紹介
Copyright © 2015 NS Solutions Corporation, All rights reserved. 15
の闇ブラウザ依存
Copyright © 2015 NS Solutions Corporation, All rights reserved. 16
File screenshotFile = ((Screenshot)driver).getScreenshotAs(file);
Copyright © 2015 NS Solutions Corporation, All rights reserved. 17
可視範囲のみ
いろんなバー映り込む
Copyright © 2015 NS Solutions Corporation, All rights reserved. 18
Internet Explorer Google Chrome Safari(iOS)
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. 19
TakesScreenshot interface(意訳)
実装するときは下記の順でどれか返してくれればいいよ。
ブラウザによってベストエフォートで実装してね。
• ページ全体
• 現在のウインドウ
• 現在のフレームの可視範囲
• ブラウザも含むディスプレイ全体
http://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/TakesScreenshot.html
Copyright © 2015 NS Solutions Corporation, All rights reserved. 20
闇が深い
Copyright © 2015 NS Solutions Corporation, All rights reserved. 21
対策
地道にブラウザ依存の処理を
吸収する
Copyright © 2015 NS Solutions Corporation, All rights reserved. 22
対策
Copyright © 2015 NS Solutions Corporation, All rights reserved. 23
スクロールしながら撮る
撮った画像を繋ぐ
対策
Copyright © 2015 NS Solutions Corporation, All rights reserved. 24
アクセスするたびに内容が変わる
ウィジェット
→スクリーンショットは撮るが
差分検知のときは無視する
スクロールに追従する要素
→スクリーンショットを撮るときに
隠す(hidden)
サブピクセルの闇
Copyright © 2015 NS Solutions Corporation, All rights reserved. 25
部分スクリーンショット取得時
身に覚えのないdiff
Copyright © 2015 NS Solutions Corporation, All rights reserved. 26
よく調べると
Copyright © 2015 NS Solutions Corporation, All rights reserved. 27
要素A
要素A
top: 200px
left: 100px
top: 300.5px
left: 100px
要素Aの位置が変わっただけで
中身が変わるもよう
原因→サブピクセルレンダリング
• ブラウザ上の要素の座標は実数
• 小数点以下の値を正確に扱おう
と試みた結果、微妙な差が出る
Copyright © 2015 NS Solutions Corporation, All rights reserved. 28
ブラウザ毎の座標の扱いと
レンダリング
ブラウザ名 状態
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. 29
闇が深い
Copyright © 2015 NS Solutions Corporation, All rights reserved. 30
対策
Copyright © 2015 NS Solutions Corporation, All rights reserved. 31
要素A
要素A
top: 200px
left: 100px
top: 300.5px
left: 100px
要素の座標が同じなら、
描画結果は同じになるはず…
対策
Copyright © 2015 NS Solutions Corporation, All rights reserved. 32
要素A 要素A
top: 0px
left: 0px
top: 0px
left: 0px
要素Aのスクリーンショットを
撮る間だけ、固定座標に移動
なぜかブラウザで開いている
画面と取得したスクリーン
ショットが違うの闇
Copyright © 2015 NS Solutions Corporation, All rights reserved. 33
IE8でスクリーンショット取得時
Copyright © 2015 NS Solutions Corporation, All rights reserved. 34
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
○○のページ
スクリーンショットにすると
ほんの少しだけ幅が狭い…??
ウィンドウサイズを勝手に変えて
いるのは誰?
Copyright © 2015 NS Solutions Corporation, All rights reserved. 35
Selenium
クライアント
ドライバ ブラウザ
スクリーンショット
撮って!
どうぞ(画像)
Json wire protocol
ブラウザ拡張機能
OSのネイティブ機能
ウインドウサイズ
変えます
対策
Copyright © 2015 NS Solutions Corporation, All rights reserved. 36
Selenium
クライアント
ドライバ ブラウザ
改修(C++)
闇が深い
Copyright © 2015 NS Solutions Corporation, All rights reserved. 37
もうたくさんだ…
Copyright © 2015 NS Solutions Corporation, All rights reserved. 38
私はただ
(きれいな)スクリーンショット
を撮りたいだけなのに!!!!
Copyright © 2015 NS Solutions Corporation, All rights reserved. 39
これからSeleniumを使う人たちに
同じ闇を味わってほしくない
Copyright © 2015 NS Solutions Corporation, All rights reserved. 40
そこで
Copyright © 2015 NS Solutions Corporation, All rights reserved. 41
作りました。
Copyright © 2015 NS Solutions Corporation, All rights reserved. 42
Copyright © 2015 NS Solutions Corporation, All rights reserved. 43
Apache2.0
License
Copyright © 2015 NS Solutions Corporation, All rights reserved. 44
IE
Safari
Chrome
テスト
スクリプト
Pitalium
対象
ブラウザ
・IE
・Chrome
・Safari
テスト自動化の闇テスト自動化の闇と向き合う
Copyright © 2015 NS Solutions Corporation, All rights reserved. 45
まとめ
Copyright © 2015 NS Solutions Corporation, All rights reserved. 46
• マルチデバイス対応の闇は深い
• スクリーンショット取得が特に
深い
• そんな闇を祓うツール
Pitaliumをよろしくお願いします
続きはWeb(or 展示ブース)で!
https://www.htmlhifive.com/
Copyright © 2015 NS Solutions Corporation, All rights reserved. 47
・ NS Solutions、NS(ロゴ)、NSSOLは、新日鉄住金ソリューションズ株式会社の登録商標です。
・ hifive、hifive(ロゴ)は、新日鉄住金ソリューションズ株式会社の登録商標です。
・ Pitalium、Pitalium(ロゴ)は、新日鉄住金ソリューションズ株式会社の商標です。
・ Javaは、米国ORACLE Corp.の登録商標です。
・ HTML5 Logo by W3C
・ その他本文記載の会社名及び製品名は、それぞれ各社の商標又は登録商標です。
Pitaliumのデモも
あるよ!

More Related Content

What's hot

5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページ5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページCLARA ONLINE, Inc.
 
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)Trainocate Japan, Ltd.
 
AWS re:Inforce2019 re:Cap LT
AWS re:Inforce2019 re:Cap LTAWS re:Inforce2019 re:Cap LT
AWS re:Inforce2019 re:Cap LTHibino Hisashi
 
[SAPPORO CEDEC] サービスの効果を高めるグリー内製ツールの技術と紹介
[SAPPORO CEDEC] サービスの効果を高めるグリー内製ツールの技術と紹介[SAPPORO CEDEC] サービスの効果を高めるグリー内製ツールの技術と紹介
[SAPPORO CEDEC] サービスの効果を高めるグリー内製ツールの技術と紹介gree_tech
 
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかSQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかShogo Wakayama
 
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンFluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンKentaro Yoshida
 
Hatena::Letの式年遷宮
Hatena::Letの式年遷宮Hatena::Letの式年遷宮
Hatena::Letの式年遷宮Takafumi ONAKA
 
仮想化環境の設計手法 〜プロのテクニック教えます〜
仮想化環境の設計手法 〜プロのテクニック教えます〜仮想化環境の設計手法 〜プロのテクニック教えます〜
仮想化環境の設計手法 〜プロのテクニック教えます〜VirtualTech Japan Inc.
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)NTT DATA Technology & Innovation
 
JiraとConfluenceのTips集
JiraとConfluenceのTips集JiraとConfluenceのTips集
JiraとConfluenceのTips集Hiroshi Ohnuki
 
Concourseで快適な自動化の旅
Concourseで快適な自動化の旅Concourseで快適な自動化の旅
Concourseで快適な自動化の旅Kazuto Kusama
 
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018Yusuke Suzuki
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドAkihiro Suda
 
RHEL on Azure、初めの一歩
RHEL on Azure、初めの一歩RHEL on Azure、初めの一歩
RHEL on Azure、初めの一歩Ryo Fujita
 
現場からみた Azure リファレンスアーキテクチャ答え合わせ
現場からみた Azure リファレンスアーキテクチャ答え合わせ現場からみた Azure リファレンスアーキテクチャ答え合わせ
現場からみた Azure リファレンスアーキテクチャ答え合わせKuniteru Asami
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)NTT DATA Technology & Innovation
 
Kuberneteの運用を支えるGitOps
Kuberneteの運用を支えるGitOpsKuberneteの運用を支えるGitOps
Kuberneteの運用を支えるGitOpsshunki fujiwara
 
Ingress on Azure Kubernetes Service
Ingress on Azure Kubernetes ServiceIngress on Azure Kubernetes Service
Ingress on Azure Kubernetes ServiceToru Makabe
 
SQLアンチパターン メンター用資料
SQLアンチパターン メンター用資料SQLアンチパターン メンター用資料
SQLアンチパターン メンター用資料Hironori Miura
 

What's hot (20)

At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajpAt least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
 
5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページ5分で出来る!イケてるconfluenceページ
5分で出来る!イケてるconfluenceページ
 
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
AWSとオンプレミスを繋ぐときに知っておきたいルーティングの基礎知識(CCSI監修!)
 
AWS re:Inforce2019 re:Cap LT
AWS re:Inforce2019 re:Cap LTAWS re:Inforce2019 re:Cap LT
AWS re:Inforce2019 re:Cap LT
 
[SAPPORO CEDEC] サービスの効果を高めるグリー内製ツールの技術と紹介
[SAPPORO CEDEC] サービスの効果を高めるグリー内製ツールの技術と紹介[SAPPORO CEDEC] サービスの効果を高めるグリー内製ツールの技術と紹介
[SAPPORO CEDEC] サービスの効果を高めるグリー内製ツールの技術と紹介
 
SQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するかSQL大量発行処理をいかにして高速化するか
SQL大量発行処理をいかにして高速化するか
 
Fluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターンFluentdのお勧めシステム構成パターン
Fluentdのお勧めシステム構成パターン
 
Hatena::Letの式年遷宮
Hatena::Letの式年遷宮Hatena::Letの式年遷宮
Hatena::Letの式年遷宮
 
仮想化環境の設計手法 〜プロのテクニック教えます〜
仮想化環境の設計手法 〜プロのテクニック教えます〜仮想化環境の設計手法 〜プロのテクニック教えます〜
仮想化環境の設計手法 〜プロのテクニック教えます〜
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
 
JiraとConfluenceのTips集
JiraとConfluenceのTips集JiraとConfluenceのTips集
JiraとConfluenceのTips集
 
Concourseで快適な自動化の旅
Concourseで快適な自動化の旅Concourseで快適な自動化の旅
Concourseで快適な自動化の旅
 
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
マイクロサービス化デザインパターン - #AWSDevDay Tokyo 2018
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
 
RHEL on Azure、初めの一歩
RHEL on Azure、初めの一歩RHEL on Azure、初めの一歩
RHEL on Azure、初めの一歩
 
現場からみた Azure リファレンスアーキテクチャ答え合わせ
現場からみた Azure リファレンスアーキテクチャ答え合わせ現場からみた Azure リファレンスアーキテクチャ答え合わせ
現場からみた Azure リファレンスアーキテクチャ答え合わせ
 
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
モノリスからマイクロサービスへの移行 ~ストラングラーパターンの検証~(Spring Fest 2020講演資料)
 
Kuberneteの運用を支えるGitOps
Kuberneteの運用を支えるGitOpsKuberneteの運用を支えるGitOps
Kuberneteの運用を支えるGitOps
 
Ingress on Azure Kubernetes Service
Ingress on Azure Kubernetes ServiceIngress on Azure Kubernetes Service
Ingress on Azure Kubernetes Service
 
SQLアンチパターン メンター用資料
SQLアンチパターン メンター用資料SQLアンチパターン メンター用資料
SQLアンチパターン メンター用資料
 

Similar to 私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て

20151201 私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て
20151201 私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て20151201 私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て
20151201 私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全てOsamu Shimoda
 
SeleniumConf16 UK参加報告
SeleniumConf16 UK参加報告SeleniumConf16 UK参加報告
SeleniumConf16 UK参加報告Osamu Shimoda
 
Pull request時の画面差分取得の自動化
Pull request時の画面差分取得の自動化Pull request時の画面差分取得の自動化
Pull request時の画面差分取得の自動化Shunsuke Maeda
 
20170704 Pitaliumの新機能
20170704 Pitaliumの新機能20170704 Pitaliumの新機能
20170704 Pitaliumの新機能Osamu Shimoda
 
Adobe Primetime & Adobe Marketing Cloud: オールスクリーン対応のプレミアム動画事業収益化ソリューション
Adobe Primetime & Adobe Marketing Cloud: オールスクリーン対応のプレミアム動画事業収益化ソリューションAdobe Primetime & Adobe Marketing Cloud: オールスクリーン対応のプレミアム動画事業収益化ソリューション
Adobe Primetime & Adobe Marketing Cloud: オールスクリーン対応のプレミアム動画事業収益化ソリューションTeiichi Ota
 
OSC京都 2015 LT 「テスト自動化の闇と向き合う」
OSC京都 2015 LT 「テスト自動化の闇と向き合う」OSC京都 2015 LT 「テスト自動化の闇と向き合う」
OSC京都 2015 LT 「テスト自動化の闇と向き合う」Osamu Shimoda
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンスKaoru NAKAMURA
 
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminarVoicepic@FukuiMASeminar
Voicepic@FukuiMASeminarManabu Shimobe
 
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話Kentaro Matsumae
 
技術選択とアーキテクトの役割 (要約版)
技術選択とアーキテクトの役割 (要約版)技術選択とアーキテクトの役割 (要約版)
技術選択とアーキテクトの役割 (要約版)Toru Yamaguchi
 
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -Toshiyuki Hirata
 
Developer summit continuous deliveryとjenkins
Developer summit   continuous deliveryとjenkinsDeveloper summit   continuous deliveryとjenkins
Developer summit continuous deliveryとjenkinsKohsuke Kawaguchi
 
自前でcloud foundryを構築してgooのビッグサービスをカットオーバーした話
自前でcloud foundryを構築してgooのビッグサービスをカットオーバーした話自前でcloud foundryを構築してgooのビッグサービスをカットオーバーした話
自前でcloud foundryを構築してgooのビッグサービスをカットオーバーした話和也 大木
 
アプリリリース後に後悔しないための20のこと
アプリリリース後に後悔しないための20のことアプリリリース後に後悔しないための20のこと
アプリリリース後に後悔しないための20のことleverages_event
 
5分でわかるVISUAL TESTING FOR HTML5
5分でわかるVISUAL TESTING FOR HTML55分でわかるVISUAL TESTING FOR HTML5
5分でわかるVISUAL TESTING FOR HTML5Osamu Shimoda
 
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~SEGADevTech
 
STFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テストSTFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テストToshiyuki Hirata
 
第5回業開中心会議
第5回業開中心会議第5回業開中心会議
第5回業開中心会議Kaoru NAKAMURA
 

Similar to 私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て (20)

20151201 私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て
20151201 私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て20151201 私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て
20151201 私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て
 
SeleniumConf16 UK参加報告
SeleniumConf16 UK参加報告SeleniumConf16 UK参加報告
SeleniumConf16 UK参加報告
 
Pull request時の画面差分取得の自動化
Pull request時の画面差分取得の自動化Pull request時の画面差分取得の自動化
Pull request時の画面差分取得の自動化
 
20170704 Pitaliumの新機能
20170704 Pitaliumの新機能20170704 Pitaliumの新機能
20170704 Pitaliumの新機能
 
Adobe Primetime & Adobe Marketing Cloud: オールスクリーン対応のプレミアム動画事業収益化ソリューション
Adobe Primetime & Adobe Marketing Cloud: オールスクリーン対応のプレミアム動画事業収益化ソリューションAdobe Primetime & Adobe Marketing Cloud: オールスクリーン対応のプレミアム動画事業収益化ソリューション
Adobe Primetime & Adobe Marketing Cloud: オールスクリーン対応のプレミアム動画事業収益化ソリューション
 
OSC京都 2015 LT 「テスト自動化の闇と向き合う」
OSC京都 2015 LT 「テスト自動化の闇と向き合う」OSC京都 2015 LT 「テスト自動化の闇と向き合う」
OSC京都 2015 LT 「テスト自動化の闇と向き合う」
 
Windows 8 Developers カンファレンス
Windows 8 Developers カンファレンスWindows 8 Developers カンファレンス
Windows 8 Developers カンファレンス
 
[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック
[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック
[GrapeCity Web TECH FORUM 2018]レガシーからの移行 - 株式会社日本プロテック
 
Voicepic@FukuiMASeminar
Voicepic@FukuiMASeminarVoicepic@FukuiMASeminar
Voicepic@FukuiMASeminar
 
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
ニコニコ動画iOSアプリの UX・マネタイズ・技術の話
 
技術選択とアーキテクトの役割 (要約版)
技術選択とアーキテクトの役割 (要約版)技術選択とアーキテクトの役割 (要約版)
技術選択とアーキテクトの役割 (要約版)
 
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
iOSアプリ開発のテスト環境 - テストをはじめる最初の一歩 -
 
Developer summit continuous deliveryとjenkins
Developer summit   continuous deliveryとjenkinsDeveloper summit   continuous deliveryとjenkins
Developer summit continuous deliveryとjenkins
 
自前でcloud foundryを構築してgooのビッグサービスをカットオーバーした話
自前でcloud foundryを構築してgooのビッグサービスをカットオーバーした話自前でcloud foundryを構築してgooのビッグサービスをカットオーバーした話
自前でcloud foundryを構築してgooのビッグサービスをカットオーバーした話
 
アプリリリース後に後悔しないための20のこと
アプリリリース後に後悔しないための20のことアプリリリース後に後悔しないための20のこと
アプリリリース後に後悔しないための20のこと
 
Wankuma0402
Wankuma0402Wankuma0402
Wankuma0402
 
5分でわかるVISUAL TESTING FOR HTML5
5分でわかるVISUAL TESTING FOR HTML55分でわかるVISUAL TESTING FOR HTML5
5分でわかるVISUAL TESTING FOR HTML5
 
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
CEDEC2021 Android iOS 実機上での自動テストをより楽に有意義にする為に ~端末管理・イメージ転送・動画記録等の周辺情報のノウハウ共有~
 
STFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テストSTFとAppiumをもちいたAndroidアプリの自動テスト
STFとAppiumをもちいたAndroidアプリの自動テスト
 
第5回業開中心会議
第5回業開中心会議第5回業開中心会議
第5回業開中心会議
 

More from Osamu Shimoda

hifiveで実現するエンタープライズHTML5システム開発
hifiveで実現するエンタープライズHTML5システム開発hifiveで実現するエンタープライズHTML5システム開発
hifiveで実現するエンタープライズHTML5システム開発Osamu Shimoda
 
HTML5時代のUIテスト自動化
HTML5時代のUIテスト自動化HTML5時代のUIテスト自動化
HTML5時代のUIテスト自動化Osamu Shimoda
 
第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」
第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」
第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」Osamu Shimoda
 
第2回HTML5企業Webシステム開発セミナー hifive紹介資料
第2回HTML5企業Webシステム開発セミナー hifive紹介資料第2回HTML5企業Webシステム開発セミナー hifive紹介資料
第2回HTML5企業Webシステム開発セミナー hifive紹介資料Osamu Shimoda
 
JISAAwards2013講演会資料(hifive)
JISAAwards2013講演会資料(hifive)JISAAwards2013講演会資料(hifive)
JISAAwards2013講演会資料(hifive)Osamu Shimoda
 
ゲームだけじゃないHTML5
ゲームだけじゃないHTML5ゲームだけじゃないHTML5
ゲームだけじゃないHTML5Osamu Shimoda
 

More from Osamu Shimoda (6)

hifiveで実現するエンタープライズHTML5システム開発
hifiveで実現するエンタープライズHTML5システム開発hifiveで実現するエンタープライズHTML5システム開発
hifiveで実現するエンタープライズHTML5システム開発
 
HTML5時代のUIテスト自動化
HTML5時代のUIテスト自動化HTML5時代のUIテスト自動化
HTML5時代のUIテスト自動化
 
第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」
第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」
第3回企業Webシステム開発セミナー「業務システムにHTML5を上手に取り入れるためには?」
 
第2回HTML5企業Webシステム開発セミナー hifive紹介資料
第2回HTML5企業Webシステム開発セミナー hifive紹介資料第2回HTML5企業Webシステム開発セミナー hifive紹介資料
第2回HTML5企業Webシステム開発セミナー hifive紹介資料
 
JISAAwards2013講演会資料(hifive)
JISAAwards2013講演会資料(hifive)JISAAwards2013講演会資料(hifive)
JISAAwards2013講演会資料(hifive)
 
ゲームだけじゃないHTML5
ゲームだけじゃないHTML5ゲームだけじゃないHTML5
ゲームだけじゃないHTML5
 

私がSeleniumを使ってスクリーンショットを撮るまでに出会った闇の全て