SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
2018/06/16 (Sat)
Protractor under the hood
@akirakoyasu
Copyright © 2018 Akira Koyasu. All rights reserved.
こんにちは
!2
Copyright © 2018 Akira Koyasu. All rights reserved.
!3
✴⾃動翻訳の結果ではありません
Copyright © 2018 Akira Koyasu. All rights reserved.
今⽇のお話
!4
Copyright © 2018 Akira Koyasu. All rights reserved.
今⽇のお話
!4
> ng e2e ↩
Copyright © 2018 Akira Koyasu. All rights reserved.
!5
Copyright © 2018 Akira Koyasu. All rights reserved.
!5
e eテストに必要なお膳⽴てをしてくれるフレームワーク
(Angular専⽤というわけではない)
Copyright © 2018 Akira Koyasu. All rights reserved.
テスト実⾏時のコミュニケーション
!6
HTTP Server Browser Test
Copyright © 2018 Akira Koyasu. All rights reserved.
テスト実⾏時のコミュニケーション
!6
HTTP Server Browser Test
Phase 0
Copyright © 2018 Akira Koyasu. All rights reserved.
テスト実⾏時のコミュニケーション
!6
HTTP Server Browser Test
Phase 0 Phase 1
Copyright © 2018 Akira Koyasu. All rights reserved.
テスト実⾏時のコミュニケーション
!6
HTTP Server Browser Test
Phase 0 Phase 1 Phase 2
Copyright © 2018 Akira Koyasu. All rights reserved.
テスト実⾏時のコミュニケーション
!6
HTTP Server Browser Test
Phase 0 Phase 1 Phase 2
Copyright © 2018 Akira Koyasu. All rights reserved.
!7
Copyright © 2018 Akira Koyasu. All rights reserved.
!7
HTTP Server
Browser
Test
Copyright © 2018 Akira Koyasu. All rights reserved.
Phase 0: HTTP Server
!8
angular-cliの担当範囲
内部的にはangular-devkit/build-angular
ng serve 相当のDevサーバを起動
Ref:

https://github.com/angular/devkit/blob/v6.0.2/packages/angular_devkit/build_angular/src/protractor/index.ts#L41

https://github.com/angular/protractor/blob/5.3.2/lib/launcher.ts#L96
Protractorを起動
Copyright © 2018 Akira Koyasu. All rights reserved.
Phase 1: Browser
!9
Selenium Serverを起動

またはBrowser Driverを直接起動
ProtractorBrowser(WebDriverの拡張)を

グローバルスコープに `browser` として登録
Ref:

https://github.com/angular/protractor/blob/5.3.2/lib/runner.ts#L223

https://github.com/angular/protractor/blob/5.3.2/lib/runner.ts#L179
Copyright © 2018 Akira Koyasu. All rights reserved.
Phase 2: Test
!10
テストフレームワークの起動
Ref:

https://github.com/angular/protractor/blob/5.3.2/lib/runner.ts#L223
テストの実⾏
browser.get(”http://example.com”);
Copyright © 2018 Akira Koyasu. All rights reserved.
再び、テスト実⾏時のコミュニケーション
!11
Copyright © 2018 Akira Koyasu. All rights reserved.
再び、テスト実⾏時のコミュニケーション
!11
Protractor(WebDriver) API
browser.get(”http://example.com”)
Copyright © 2018 Akira Koyasu. All rights reserved.
再び、テスト実⾏時のコミュニケーション
!11
WebDriver Protocol
POST /session/:session/url

{”url”: ”http://example.com”}
Copyright © 2018 Akira Koyasu. All rights reserved.
再び、テスト実⾏時のコミュニケーション
!11
HTTP Protocol
http://example.com
Copyright © 2018 Akira Koyasu. All rights reserved.
オプション: Control Browsers
!12
Browser Driver Selenium Server SaaS
Ref:

https://github.com/angular/protractor/blob/5.3.2/lib/driverProviders/
Copyright © 2018 Akira Koyasu. All rights reserved.
Versions
✤ angular-cli: 6.0.2

https://github.com/angular/angular-cli/tree/v6.0.2
✤ protractor: 5.3.2

https://github.com/angular/protractor/tree/5.3.2
✤ selenium-webdriver: 3.6.0

https://github.com/SeleniumHQ/selenium/tree/selenium-3.6.0
✤ jasmine: 2.8.0

https://github.com/jasmine/jasmine-npm/tree/v2.8.0
!13
Copyright © 2018 Akira Koyasu. All rights reserved.
References
✤ Protractor: 

https://www.protractortest.org/
✤ WebDriver Protocol: 

https://www.w3.org/TR/webdriver/
✤ Selenium WebDriver: 

https://www.seleniumhq.org/docs/03_webdriver.jsp
✤ ChromeDriver: 

http://chromedriver.chromium.org/home
✤ Jasmine: 

https://jasmine.github.io/
!14
Copyright © 2018 Akira Koyasu. All rights reserved.
Thank you!
Feedback is welcome
15
https://flic.kr/p/9uf9Qg
Copyright © 2018 Akira Koyasu. All rights reserved.
!16
We’re hiring!
https://www.wantedly.com/projects/30487

Más contenido relacionado

La actualidad más candente

3GPP UICC Spec. differences
3GPP UICC Spec. differences3GPP UICC Spec. differences
3GPP UICC Spec. differences
Byeongweon Moon
 
Openstack contribution process
Openstack contribution processOpenstack contribution process
Openstack contribution process
Syed Armani
 

La actualidad más candente (18)

Angular 1.X Community and API Decissions
Angular 1.X Community and API DecissionsAngular 1.X Community and API Decissions
Angular 1.X Community and API Decissions
 
3GPP UICC Spec. differences
3GPP UICC Spec. differences3GPP UICC Spec. differences
3GPP UICC Spec. differences
 
A Year of Containers
A Year of ContainersA Year of Containers
A Year of Containers
 
Using Docker For Testing Legacy Code
Using Docker For Testing Legacy CodeUsing Docker For Testing Legacy Code
Using Docker For Testing Legacy Code
 
Scaling your CI Pipeline with Docker and Concourse
Scaling your CI Pipeline with Docker and ConcourseScaling your CI Pipeline with Docker and Concourse
Scaling your CI Pipeline with Docker and Concourse
 
Prometheus the future
Prometheus   the futurePrometheus   the future
Prometheus the future
 
Agile android
Agile androidAgile android
Agile android
 
JAZOON'13 - Stefan Saasen - True Git: The Great Migration
JAZOON'13 - Stefan Saasen - True Git: The Great MigrationJAZOON'13 - Stefan Saasen - True Git: The Great Migration
JAZOON'13 - Stefan Saasen - True Git: The Great Migration
 
Mid module 2 exam review
Mid module 2 exam reviewMid module 2 exam review
Mid module 2 exam review
 
ATAGTR2017 Security Test Driven Development (STDD)
ATAGTR2017 Security Test Driven Development (STDD)ATAGTR2017 Security Test Driven Development (STDD)
ATAGTR2017 Security Test Driven Development (STDD)
 
20170807 - How to Fail Your TDD Rollout - A Train Wreck Story
20170807 - How to Fail Your TDD Rollout - A Train Wreck Story20170807 - How to Fail Your TDD Rollout - A Train Wreck Story
20170807 - How to Fail Your TDD Rollout - A Train Wreck Story
 
Semantic Versioning with GitVersion
Semantic Versioning with GitVersionSemantic Versioning with GitVersion
Semantic Versioning with GitVersion
 
SemVer, the whole story
SemVer, the whole storySemVer, the whole story
SemVer, the whole story
 
20180802 game-data-analytics-on-aws-game-tech-night-#7
20180802 game-data-analytics-on-aws-game-tech-night-#720180802 game-data-analytics-on-aws-game-tech-night-#7
20180802 game-data-analytics-on-aws-game-tech-night-#7
 
Dev with github enterprise
Dev with github enterpriseDev with github enterprise
Dev with github enterprise
 
WordPress - Whats going on in the server?
WordPress - Whats going on in the server? WordPress - Whats going on in the server?
WordPress - Whats going on in the server?
 
Openstack contribution process
Openstack contribution processOpenstack contribution process
Openstack contribution process
 
DOO-002_Building Automated Tooling for Datacenters
DOO-002_Building Automated Tooling for DatacentersDOO-002_Building Automated Tooling for Datacenters
DOO-002_Building Automated Tooling for Datacenters
 

Similar a Protractor under the hood

Chatbots Workshop SF JS Meetup May 2018
Chatbots Workshop SF JS Meetup May 2018Chatbots Workshop SF JS Meetup May 2018
Chatbots Workshop SF JS Meetup May 2018
Tessa Mero
 
Emulators as an Emerging Best Practice for API Providers
Emulators as an Emerging Best Practice for API ProvidersEmulators as an Emerging Best Practice for API Providers
Emulators as an Emerging Best Practice for API Providers
Cisco DevNet
 
Githubエコシステムを活用したイマドキの趣味開発
Githubエコシステムを活用したイマドキの趣味開発Githubエコシステムを活用したイマドキの趣味開発
Githubエコシステムを活用したイマドキの趣味開発
Go Sueyoshi (a.k.a sue445)
 

Similar a Protractor under the hood (20)

dubbo-present-and-future.pdf
dubbo-present-and-future.pdfdubbo-present-and-future.pdf
dubbo-present-and-future.pdf
 
The Birth of FormalBears - A new META for BEAR.Sunday applications
The Birth of FormalBears - A new META for BEAR.Sunday applicationsThe Birth of FormalBears - A new META for BEAR.Sunday applications
The Birth of FormalBears - A new META for BEAR.Sunday applications
 
Chatbots Workshop SF JS Meetup May 2018
Chatbots Workshop SF JS Meetup May 2018Chatbots Workshop SF JS Meetup May 2018
Chatbots Workshop SF JS Meetup May 2018
 
DeveloperWeek2018 - Let's Build a Chatbot
DeveloperWeek2018 - Let's Build a ChatbotDeveloperWeek2018 - Let's Build a Chatbot
DeveloperWeek2018 - Let's Build a Chatbot
 
George Bina: DITA for Developers and GitHub for Technical Writers
George Bina: DITA for Developers and GitHub for Technical WritersGeorge Bina: DITA for Developers and GitHub for Technical Writers
George Bina: DITA for Developers and GitHub for Technical Writers
 
How Cox Automotive Runs GitHub Enterprise on AWS (ENT356-S) - AWS re:Invent 2018
How Cox Automotive Runs GitHub Enterprise on AWS (ENT356-S) - AWS re:Invent 2018How Cox Automotive Runs GitHub Enterprise on AWS (ENT356-S) - AWS re:Invent 2018
How Cox Automotive Runs GitHub Enterprise on AWS (ENT356-S) - AWS re:Invent 2018
 
ARCore Update
ARCore UpdateARCore Update
ARCore Update
 
SAIS/DWS2018報告会 #saisdws2018
SAIS/DWS2018報告会 #saisdws2018SAIS/DWS2018報告会 #saisdws2018
SAIS/DWS2018報告会 #saisdws2018
 
Emulators as an Emerging Best Practice for API Providers
Emulators as an Emerging Best Practice for API ProvidersEmulators as an Emerging Best Practice for API Providers
Emulators as an Emerging Best Practice for API Providers
 
Team Support in Concourse CI 2.0 #concourse_tokyo
Team Support in Concourse CI 2.0 #concourse_tokyoTeam Support in Concourse CI 2.0 #concourse_tokyo
Team Support in Concourse CI 2.0 #concourse_tokyo
 
Google ARが提供する WebAR 101
Google ARが提供する WebAR 101Google ARが提供する WebAR 101
Google ARが提供する WebAR 101
 
ゲーム開発で活用するAWSの機械学習サービスの紹介
ゲーム開発で活用するAWSの機械学習サービスの紹介ゲーム開発で活用するAWSの機械学習サービスの紹介
ゲーム開発で活用するAWSの機械学習サービスの紹介
 
20180724 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...
20180724 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...20180724 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...
20180724 AWS Black Belt Online Seminar Amazon Elastic Container Service for K...
 
RobotFramework Meetup at Thailand #2
RobotFramework Meetup at Thailand #2RobotFramework Meetup at Thailand #2
RobotFramework Meetup at Thailand #2
 
Alexa Skill Developer Tools: Build Better Skills Faster (ALX406) - AWS re:Inv...
Alexa Skill Developer Tools: Build Better Skills Faster (ALX406) - AWS re:Inv...Alexa Skill Developer Tools: Build Better Skills Faster (ALX406) - AWS re:Inv...
Alexa Skill Developer Tools: Build Better Skills Faster (ALX406) - AWS re:Inv...
 
Githubエコシステムを活用したイマドキの趣味開発
Githubエコシステムを活用したイマドキの趣味開発Githubエコシステムを活用したイマドキの趣味開発
Githubエコシステムを活用したイマドキの趣味開発
 
マイクロサービスを AWS サーバレス&コンテナで実装する方法
マイクロサービスを AWS サーバレス&コンテナで実装する方法マイクロサービスを AWS サーバレス&コンテナで実装する方法
マイクロサービスを AWS サーバレス&コンテナで実装する方法
 
Git Internals
Git InternalsGit Internals
Git Internals
 
Tailor Your Alexa Skill Responses to Deliver Truly Personal Experiences (ALX3...
Tailor Your Alexa Skill Responses to Deliver Truly Personal Experiences (ALX3...Tailor Your Alexa Skill Responses to Deliver Truly Personal Experiences (ALX3...
Tailor Your Alexa Skill Responses to Deliver Truly Personal Experiences (ALX3...
 
Ruby Support for AWS Lambda at Native Speed with Jets
Ruby Support for AWS Lambda at Native Speed with JetsRuby Support for AWS Lambda at Native Speed with Jets
Ruby Support for AWS Lambda at Native Speed with Jets
 

Más de 輝 子安

Más de 輝 子安 (13)

そろそろLambda(CI/CD編)
そろそろLambda(CI/CD編)そろそろLambda(CI/CD編)
そろそろLambda(CI/CD編)
 
Dockerで構成するWebサービス 〜EmotionTechの場合〜
Dockerで構成するWebサービス 〜EmotionTechの場合〜Dockerで構成するWebサービス 〜EmotionTechの場合〜
Dockerで構成するWebサービス 〜EmotionTechの場合〜
 
Workshop: Docker on Elastic Beanstalk
Workshop: Docker on Elastic BeanstalkWorkshop: Docker on Elastic Beanstalk
Workshop: Docker on Elastic Beanstalk
 
PHP conference 2013 ja report
PHP conference 2013 ja reportPHP conference 2013 ja report
PHP conference 2013 ja report
 
Scala for Java programmers
Scala for Java programmersScala for Java programmers
Scala for Java programmers
 
Garbage Collection for Dummies
Garbage Collection for DummiesGarbage Collection for Dummies
Garbage Collection for Dummies
 
JavaOne Guide for the Petite Bourgeoisie
JavaOne Guide for the Petite BourgeoisieJavaOne Guide for the Petite Bourgeoisie
JavaOne Guide for the Petite Bourgeoisie
 
Java, Moving Forward
Java, Moving ForwardJava, Moving Forward
Java, Moving Forward
 
Java, Up to Date
Java, Up to DateJava, Up to Date
Java, Up to Date
 
Java, Up to Date Sources
Java, Up to Date SourcesJava, Up to Date Sources
Java, Up to Date Sources
 
Hello, Guava ! samples
Hello, Guava ! samplesHello, Guava ! samples
Hello, Guava ! samples
 
Hello, Guava !
Hello, Guava !Hello, Guava !
Hello, Guava !
 
Tokyo Cabinet & Tokyo Tyrant
Tokyo Cabinet & Tokyo TyrantTokyo Cabinet & Tokyo Tyrant
Tokyo Cabinet & Tokyo Tyrant
 

Último

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Último (20)

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 

Protractor under the hood

  • 1. 2018/06/16 (Sat) Protractor under the hood @akirakoyasu
  • 2. Copyright © 2018 Akira Koyasu. All rights reserved. こんにちは !2
  • 3. Copyright © 2018 Akira Koyasu. All rights reserved. !3 ✴⾃動翻訳の結果ではありません
  • 4. Copyright © 2018 Akira Koyasu. All rights reserved. 今⽇のお話 !4
  • 5. Copyright © 2018 Akira Koyasu. All rights reserved. 今⽇のお話 !4 > ng e2e ↩
  • 6. Copyright © 2018 Akira Koyasu. All rights reserved. !5
  • 7. Copyright © 2018 Akira Koyasu. All rights reserved. !5 e eテストに必要なお膳⽴てをしてくれるフレームワーク (Angular専⽤というわけではない)
  • 8. Copyright © 2018 Akira Koyasu. All rights reserved. テスト実⾏時のコミュニケーション !6 HTTP Server Browser Test
  • 9. Copyright © 2018 Akira Koyasu. All rights reserved. テスト実⾏時のコミュニケーション !6 HTTP Server Browser Test Phase 0
  • 10. Copyright © 2018 Akira Koyasu. All rights reserved. テスト実⾏時のコミュニケーション !6 HTTP Server Browser Test Phase 0 Phase 1
  • 11. Copyright © 2018 Akira Koyasu. All rights reserved. テスト実⾏時のコミュニケーション !6 HTTP Server Browser Test Phase 0 Phase 1 Phase 2
  • 12. Copyright © 2018 Akira Koyasu. All rights reserved. テスト実⾏時のコミュニケーション !6 HTTP Server Browser Test Phase 0 Phase 1 Phase 2
  • 13. Copyright © 2018 Akira Koyasu. All rights reserved. !7
  • 14. Copyright © 2018 Akira Koyasu. All rights reserved. !7 HTTP Server Browser Test
  • 15. Copyright © 2018 Akira Koyasu. All rights reserved. Phase 0: HTTP Server !8 angular-cliの担当範囲 内部的にはangular-devkit/build-angular ng serve 相当のDevサーバを起動 Ref:
 https://github.com/angular/devkit/blob/v6.0.2/packages/angular_devkit/build_angular/src/protractor/index.ts#L41
 https://github.com/angular/protractor/blob/5.3.2/lib/launcher.ts#L96 Protractorを起動
  • 16. Copyright © 2018 Akira Koyasu. All rights reserved. Phase 1: Browser !9 Selenium Serverを起動
 またはBrowser Driverを直接起動 ProtractorBrowser(WebDriverの拡張)を
 グローバルスコープに `browser` として登録 Ref:
 https://github.com/angular/protractor/blob/5.3.2/lib/runner.ts#L223
 https://github.com/angular/protractor/blob/5.3.2/lib/runner.ts#L179
  • 17. Copyright © 2018 Akira Koyasu. All rights reserved. Phase 2: Test !10 テストフレームワークの起動 Ref:
 https://github.com/angular/protractor/blob/5.3.2/lib/runner.ts#L223 テストの実⾏ browser.get(”http://example.com”);
  • 18. Copyright © 2018 Akira Koyasu. All rights reserved. 再び、テスト実⾏時のコミュニケーション !11
  • 19. Copyright © 2018 Akira Koyasu. All rights reserved. 再び、テスト実⾏時のコミュニケーション !11 Protractor(WebDriver) API browser.get(”http://example.com”)
  • 20. Copyright © 2018 Akira Koyasu. All rights reserved. 再び、テスト実⾏時のコミュニケーション !11 WebDriver Protocol POST /session/:session/url
 {”url”: ”http://example.com”}
  • 21. Copyright © 2018 Akira Koyasu. All rights reserved. 再び、テスト実⾏時のコミュニケーション !11 HTTP Protocol http://example.com
  • 22. Copyright © 2018 Akira Koyasu. All rights reserved. オプション: Control Browsers !12 Browser Driver Selenium Server SaaS Ref:
 https://github.com/angular/protractor/blob/5.3.2/lib/driverProviders/
  • 23. Copyright © 2018 Akira Koyasu. All rights reserved. Versions ✤ angular-cli: 6.0.2
 https://github.com/angular/angular-cli/tree/v6.0.2 ✤ protractor: 5.3.2
 https://github.com/angular/protractor/tree/5.3.2 ✤ selenium-webdriver: 3.6.0
 https://github.com/SeleniumHQ/selenium/tree/selenium-3.6.0 ✤ jasmine: 2.8.0
 https://github.com/jasmine/jasmine-npm/tree/v2.8.0 !13
  • 24. Copyright © 2018 Akira Koyasu. All rights reserved. References ✤ Protractor: 
 https://www.protractortest.org/ ✤ WebDriver Protocol: 
 https://www.w3.org/TR/webdriver/ ✤ Selenium WebDriver: 
 https://www.seleniumhq.org/docs/03_webdriver.jsp ✤ ChromeDriver: 
 http://chromedriver.chromium.org/home ✤ Jasmine: 
 https://jasmine.github.io/ !14
  • 25. Copyright © 2018 Akira Koyasu. All rights reserved. Thank you! Feedback is welcome 15 https://flic.kr/p/9uf9Qg
  • 26. Copyright © 2018 Akira Koyasu. All rights reserved. !16 We’re hiring! https://www.wantedly.com/projects/30487