SlideShare a Scribd company logo
1 of 33
Download to read offline
React Selenium
Happy life with React and Selenium!
CI / CD NIGHT (2017/2/9)
TeamSpirit Inc.
@a_kuratani
Akira Kuratani /
@a_kuratani
kuratani
TeamSpirit Inc.
QA
Podcast(migration.fm)
• SPA E2E
• Selenium
• React.js
• React.js
• Selenium
• CI/CD
http://www.slideshare.net/teamspiritjp/240050000idteamspirit-55886980
Selenium WebDriver
E2E
Selenium WebDriver
DOM
React.js
React.js
• JUST THE UI
• VIRTUAL DOM
• DATA FLOW
React.js
jQuery
React.js
jQuery React.js
jQuery React.js
ID
DOM
Selenium
DOM
React.js
DOM
1. ID
2. ID
3. ID
4. ID
5. ID
6.
1. ID
🔎
🔎
🔎
2. ID
🔎
🔎
🔎
🔎
🔎
🔎
3. ID
🔎
🔎
🔎
4. ID
5. ID
🔎
🔎
🔎
🔎
🔎
🔎
6.
1. ID
2. ID
3. ID
4. ID
5. ID
6.
•
• Selenium WebDriver DOM
• React.js DOM
•
• 6
•
•
• Page Object 

https://www.oreilly.co.jp/books/9784873117423/
Thank you
Happy life with React and Selenium!

More Related Content

What's hot

ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発Takafumi ONAKA
 
Riverpodでテストを書こう
Riverpodでテストを書こうRiverpodでテストを書こう
Riverpodでテストを書こうShinnosuke Tokuda
 
react-scriptsはwebpackで何をしているのか
react-scriptsはwebpackで何をしているのかreact-scriptsはwebpackで何をしているのか
react-scriptsはwebpackで何をしているのか暁 三宅
 
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~UnityTechnologiesJapan002
 
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方増田 亨
 
こわくない Git
こわくない Gitこわくない Git
こわくない GitKota Saito
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Masahito Zembutsu
 
現場で使えるDynamoDBと冪等デザインパターン
現場で使えるDynamoDBと冪等デザインパターン現場で使えるDynamoDBと冪等デザインパターン
現場で使えるDynamoDBと冪等デザインパターンcmaraiyusuke
 
MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~torisoup
 
ドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったことドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったこと増田 亨
 
RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話Takuto Wada
 
OSSコミッタの生活とその必要性
OSSコミッタの生活とその必要性OSSコミッタの生活とその必要性
OSSコミッタの生活とその必要性Hirofumi Ichihara
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割Toru Yamaguchi
 
マイクロサービスにおける 非同期アーキテクチャ
マイクロサービスにおける非同期アーキテクチャマイクロサービスにおける非同期アーキテクチャ
マイクロサービスにおける 非同期アーキテクチャota42y
 
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春VerMasahito Zembutsu
 
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Shin Ohno
 
エキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころエキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころTakayuki Shimizukawa
 
Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~
Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~
Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~Hinemos
 

What's hot (20)

ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発ふつうのRailsアプリケーション開発
ふつうのRailsアプリケーション開発
 
Riverpodでテストを書こう
Riverpodでテストを書こうRiverpodでテストを書こう
Riverpodでテストを書こう
 
react-scriptsはwebpackで何をしているのか
react-scriptsはwebpackで何をしているのかreact-scriptsはwebpackで何をしているのか
react-scriptsはwebpackで何をしているのか
 
Oss貢献超入門
Oss貢献超入門Oss貢献超入門
Oss貢献超入門
 
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
 
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
 
KeycloakでAPI認可に入門する
KeycloakでAPI認可に入門するKeycloakでAPI認可に入門する
KeycloakでAPI認可に入門する
 
こわくない Git
こわくない Gitこわくない Git
こわくない Git
 
Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編Dockerfile を書くためのベストプラクティス解説編
Dockerfile を書くためのベストプラクティス解説編
 
現場で使えるDynamoDBと冪等デザインパターン
現場で使えるDynamoDBと冪等デザインパターン現場で使えるDynamoDBと冪等デザインパターン
現場で使えるDynamoDBと冪等デザインパターン
 
MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~MagicOnion~C#でゲームサーバを開発しよう~
MagicOnion~C#でゲームサーバを開発しよう~
 
ドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったことドメイン駆動設計に15年取り組んでわかったこと
ドメイン駆動設計に15年取り組んでわかったこと
 
RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話RESTful Web アプリの設計レビューの話
RESTful Web アプリの設計レビューの話
 
OSSコミッタの生活とその必要性
OSSコミッタの生活とその必要性OSSコミッタの生活とその必要性
OSSコミッタの生活とその必要性
 
技術選択とアーキテクトの役割
技術選択とアーキテクトの役割技術選択とアーキテクトの役割
技術選択とアーキテクトの役割
 
マイクロサービスにおける 非同期アーキテクチャ
マイクロサービスにおける非同期アーキテクチャマイクロサービスにおける非同期アーキテクチャ
マイクロサービスにおける 非同期アーキテクチャ
 
忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver忙しい人の5分で分かるDocker 2017年春Ver
忙しい人の5分で分かるDocker 2017年春Ver
 
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
Mercari JPのモノリスサービスをKubernetesに移行した話 PHP Conference 2022 9/24
 
エキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころエキスパートPythonプログラミング改訂3版の読みどころ
エキスパートPythonプログラミング改訂3版の読みどころ
 
Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~
Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~
Docker管理もHinemosで! ~監視・ジョブ機能を併せ持つ唯一のOSS「Hinemos」のご紹介~
 

More from Akira Kuratani

[Japan Dreamin' 2022] エンジニアが学ぶカスタマーサクセス
[Japan Dreamin' 2022] エンジニアが学ぶカスタマーサクセス[Japan Dreamin' 2022] エンジニアが学ぶカスタマーサクセス
[Japan Dreamin' 2022] エンジニアが学ぶカスタマーサクセスAkira Kuratani
 
愛される管理画面の作り方
愛される管理画面の作り方愛される管理画面の作り方
愛される管理画面の作り方Akira Kuratani
 
Japan dreamin' 2020 - AppExchangeプロダクト開発を続けて見えてきたプラクティス
Japan dreamin' 2020 - AppExchangeプロダクト開発を続けて見えてきたプラクティスJapan dreamin' 2020 - AppExchangeプロダクト開発を続けて見えてきたプラクティス
Japan dreamin' 2020 - AppExchangeプロダクト開発を続けて見えてきたプラクティスAkira Kuratani
 
Salesforce World Tour Tokyo 2018 愛される AppExchangeアプリを創るべき「3つの理由」
Salesforce World Tour Tokyo 2018 愛される AppExchangeアプリを創るべき「3つの理由」Salesforce World Tour Tokyo 2018 愛される AppExchangeアプリを創るべき「3つの理由」
Salesforce World Tour Tokyo 2018 愛される AppExchangeアプリを創るべき「3つの理由」Akira Kuratani
 
Salesforce World Tour Tokyo 2017 (SalesforceDX〜Salesforceにも継続的デリバリーを〜)
Salesforce World Tour Tokyo 2017 (SalesforceDX〜Salesforceにも継続的デリバリーを〜)Salesforce World Tour Tokyo 2017 (SalesforceDX〜Salesforceにも継続的デリバリーを〜)
Salesforce World Tour Tokyo 2017 (SalesforceDX〜Salesforceにも継続的デリバリーを〜)Akira Kuratani
 
静的解析、はじまったな
静的解析、はじまったな静的解析、はじまったな
静的解析、はじまったなAkira Kuratani
 
AppExchange Growth Hacks - Aiming for the world -
AppExchange Growth Hacks - Aiming for the world -AppExchange Growth Hacks - Aiming for the world -
AppExchange Growth Hacks - Aiming for the world -Akira Kuratani
 
Tokyo Salesforce DG Meetup 2017新年会〜Advent Calendarふりかえり〜
Tokyo Salesforce DG Meetup 2017新年会〜Advent Calendarふりかえり〜Tokyo Salesforce DG Meetup 2017新年会〜Advent Calendarふりかえり〜
Tokyo Salesforce DG Meetup 2017新年会〜Advent Calendarふりかえり〜Akira Kuratani
 
Salesforce dug [tokyo] meetup 2016 新年会
Salesforce dug [tokyo] meetup 2016 新年会Salesforce dug [tokyo] meetup 2016 新年会
Salesforce dug [tokyo] meetup 2016 新年会Akira Kuratani
 
Salesforce DUG meetup #10 MiniHack完全制覇の旅
Salesforce DUG meetup #10 MiniHack完全制覇の旅Salesforce DUG meetup #10 MiniHack完全制覇の旅
Salesforce DUG meetup #10 MiniHack完全制覇の旅Akira Kuratani
 
Salesforce DUG TOKYO Meetup #9
Salesforce DUG TOKYO Meetup #9Salesforce DUG TOKYO Meetup #9
Salesforce DUG TOKYO Meetup #9Akira Kuratani
 
Lightning componentの研究ポイントあるいは…
Lightning componentの研究ポイントあるいは…Lightning componentの研究ポイントあるいは…
Lightning componentの研究ポイントあるいは…Akira Kuratani
 
Salesforce DUG Meetup 2015 新年会
Salesforce DUG Meetup 2015 新年会Salesforce DUG Meetup 2015 新年会
Salesforce DUG Meetup 2015 新年会Akira Kuratani
 
Salesforce dugもくもく会 #1
Salesforce dugもくもく会 #1Salesforce dugもくもく会 #1
Salesforce dugもくもく会 #1Akira Kuratani
 
Salesforce dug meetup #6
Salesforce dug meetup #6Salesforce dug meetup #6
Salesforce dug meetup #6Akira Kuratani
 
Crowd hackchallenge2014 LT
Crowd hackchallenge2014 LTCrowd hackchallenge2014 LT
Crowd hackchallenge2014 LTAkira Kuratani
 
Salesforce dug meetup #5
Salesforce dug meetup #5Salesforce dug meetup #5
Salesforce dug meetup #5Akira Kuratani
 
Salesforce DUG meetup #4 LT
Salesforce DUG meetup #4 LTSalesforce DUG meetup #4 LT
Salesforce DUG meetup #4 LTAkira Kuratani
 
Force.com lightning talks cfj2012 by A.Kuratani
Force.com lightning talks cfj2012 by A.KurataniForce.com lightning talks cfj2012 by A.Kuratani
Force.com lightning talks cfj2012 by A.KurataniAkira Kuratani
 
Force.com developers meetup #2 夏サミ、そしてソーシャル・エンタープライズを考える
Force.com developers meetup #2 夏サミ、そしてソーシャル・エンタープライズを考えるForce.com developers meetup #2 夏サミ、そしてソーシャル・エンタープライズを考える
Force.com developers meetup #2 夏サミ、そしてソーシャル・エンタープライズを考えるAkira Kuratani
 

More from Akira Kuratani (20)

[Japan Dreamin' 2022] エンジニアが学ぶカスタマーサクセス
[Japan Dreamin' 2022] エンジニアが学ぶカスタマーサクセス[Japan Dreamin' 2022] エンジニアが学ぶカスタマーサクセス
[Japan Dreamin' 2022] エンジニアが学ぶカスタマーサクセス
 
愛される管理画面の作り方
愛される管理画面の作り方愛される管理画面の作り方
愛される管理画面の作り方
 
Japan dreamin' 2020 - AppExchangeプロダクト開発を続けて見えてきたプラクティス
Japan dreamin' 2020 - AppExchangeプロダクト開発を続けて見えてきたプラクティスJapan dreamin' 2020 - AppExchangeプロダクト開発を続けて見えてきたプラクティス
Japan dreamin' 2020 - AppExchangeプロダクト開発を続けて見えてきたプラクティス
 
Salesforce World Tour Tokyo 2018 愛される AppExchangeアプリを創るべき「3つの理由」
Salesforce World Tour Tokyo 2018 愛される AppExchangeアプリを創るべき「3つの理由」Salesforce World Tour Tokyo 2018 愛される AppExchangeアプリを創るべき「3つの理由」
Salesforce World Tour Tokyo 2018 愛される AppExchangeアプリを創るべき「3つの理由」
 
Salesforce World Tour Tokyo 2017 (SalesforceDX〜Salesforceにも継続的デリバリーを〜)
Salesforce World Tour Tokyo 2017 (SalesforceDX〜Salesforceにも継続的デリバリーを〜)Salesforce World Tour Tokyo 2017 (SalesforceDX〜Salesforceにも継続的デリバリーを〜)
Salesforce World Tour Tokyo 2017 (SalesforceDX〜Salesforceにも継続的デリバリーを〜)
 
静的解析、はじまったな
静的解析、はじまったな静的解析、はじまったな
静的解析、はじまったな
 
AppExchange Growth Hacks - Aiming for the world -
AppExchange Growth Hacks - Aiming for the world -AppExchange Growth Hacks - Aiming for the world -
AppExchange Growth Hacks - Aiming for the world -
 
Tokyo Salesforce DG Meetup 2017新年会〜Advent Calendarふりかえり〜
Tokyo Salesforce DG Meetup 2017新年会〜Advent Calendarふりかえり〜Tokyo Salesforce DG Meetup 2017新年会〜Advent Calendarふりかえり〜
Tokyo Salesforce DG Meetup 2017新年会〜Advent Calendarふりかえり〜
 
Salesforce dug [tokyo] meetup 2016 新年会
Salesforce dug [tokyo] meetup 2016 新年会Salesforce dug [tokyo] meetup 2016 新年会
Salesforce dug [tokyo] meetup 2016 新年会
 
Salesforce DUG meetup #10 MiniHack完全制覇の旅
Salesforce DUG meetup #10 MiniHack完全制覇の旅Salesforce DUG meetup #10 MiniHack完全制覇の旅
Salesforce DUG meetup #10 MiniHack完全制覇の旅
 
Salesforce DUG TOKYO Meetup #9
Salesforce DUG TOKYO Meetup #9Salesforce DUG TOKYO Meetup #9
Salesforce DUG TOKYO Meetup #9
 
Lightning componentの研究ポイントあるいは…
Lightning componentの研究ポイントあるいは…Lightning componentの研究ポイントあるいは…
Lightning componentの研究ポイントあるいは…
 
Salesforce DUG Meetup 2015 新年会
Salesforce DUG Meetup 2015 新年会Salesforce DUG Meetup 2015 新年会
Salesforce DUG Meetup 2015 新年会
 
Salesforce dugもくもく会 #1
Salesforce dugもくもく会 #1Salesforce dugもくもく会 #1
Salesforce dugもくもく会 #1
 
Salesforce dug meetup #6
Salesforce dug meetup #6Salesforce dug meetup #6
Salesforce dug meetup #6
 
Crowd hackchallenge2014 LT
Crowd hackchallenge2014 LTCrowd hackchallenge2014 LT
Crowd hackchallenge2014 LT
 
Salesforce dug meetup #5
Salesforce dug meetup #5Salesforce dug meetup #5
Salesforce dug meetup #5
 
Salesforce DUG meetup #4 LT
Salesforce DUG meetup #4 LTSalesforce DUG meetup #4 LT
Salesforce DUG meetup #4 LT
 
Force.com lightning talks cfj2012 by A.Kuratani
Force.com lightning talks cfj2012 by A.KurataniForce.com lightning talks cfj2012 by A.Kuratani
Force.com lightning talks cfj2012 by A.Kuratani
 
Force.com developers meetup #2 夏サミ、そしてソーシャル・エンタープライズを考える
Force.com developers meetup #2 夏サミ、そしてソーシャル・エンタープライズを考えるForce.com developers meetup #2 夏サミ、そしてソーシャル・エンタープライズを考える
Force.com developers meetup #2 夏サミ、そしてソーシャル・エンタープライズを考える
 

ReactとSeleniumの幸せな関係