Submit Search
Upload
JCConf 2015 workshop 動手玩 Java 專案建置工具
•
10 likes
•
2,791 views
謝 宗穎
Follow
介紹如何透過 Docker 以及 Gradle 進行前端 e2e testing
Read less
Read more
Internet
Report
Share
Report
Share
1 of 38
Download now
Download to read offline
Recommended
為 Node.js 專案打造專屬管家進行開發流程整合及健康檢測
為 Node.js 專案打造專屬管家進行開發流程整合及健康檢測
謝 宗穎
JSDC 2015 - TDD 的開發哲學,以 Node.js 為例
JSDC 2015 - TDD 的開發哲學,以 Node.js 為例
謝 宗穎
中華電信 教育訓練
中華電信 教育訓練
謝 宗穎
Jenkins days workshop pipelines - Eric Long
Jenkins days workshop pipelines - Eric Long
ericlongtx
Live deployment, ci, drupal
Live deployment, ci, drupal
Andrii Podanenko
Использование Docker в CI / Александр Акбашев (HERE Technologies)
Использование Docker в CI / Александр Акбашев (HERE Technologies)
Ontico
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
謝 宗穎
How to integrate front end tool via gruntjs
How to integrate front end tool via gruntjs
Bo-Yi Wu
Recommended
為 Node.js 專案打造專屬管家進行開發流程整合及健康檢測
為 Node.js 專案打造專屬管家進行開發流程整合及健康檢測
謝 宗穎
JSDC 2015 - TDD 的開發哲學,以 Node.js 為例
JSDC 2015 - TDD 的開發哲學,以 Node.js 為例
謝 宗穎
中華電信 教育訓練
中華電信 教育訓練
謝 宗穎
Jenkins days workshop pipelines - Eric Long
Jenkins days workshop pipelines - Eric Long
ericlongtx
Live deployment, ci, drupal
Live deployment, ci, drupal
Andrii Podanenko
Использование Docker в CI / Александр Акбашев (HERE Technologies)
Использование Docker в CI / Александр Акбашев (HERE Technologies)
Ontico
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
Docker summit 2015: 以 Docker Swarm 打造多主機叢集環境
謝 宗穎
How to integrate front end tool via gruntjs
How to integrate front end tool via gruntjs
Bo-Yi Wu
"Wix Serverless from inside", Mykola Borozdin
"Wix Serverless from inside", Mykola Borozdin
Fwdays
Ci For The Web 2.0 Guy Or Gal
Ci For The Web 2.0 Guy Or Gal
Chad Woolley
Drupal contrib module maintaining
Drupal contrib module maintaining
Andrii Podanenko
7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users
Jules Pierre-Louis
CIbox - OpenSource solution for making your #devops better
CIbox - OpenSource solution for making your #devops better
Andrii Podanenko
DrupalCon Los Angeles - Continuous Integration Toolbox
DrupalCon Los Angeles - Continuous Integration Toolbox
Andrii Podanenko
7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users
Jules Pierre-Louis
Володимир Дубенко "Node.js for desktop development (based on Electron library)"
Володимир Дубенко "Node.js for desktop development (based on Electron library)"
Fwdays
Евгений Жарков "React Native: Hurdle Race"
Евгений Жарков "React Native: Hurdle Race"
Fwdays
Drone CI/CD 自動化測試及部署
Drone CI/CD 自動化測試及部署
Bo-Yi Wu
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...
ZeroTurnaround
Using Multi-stage Docker, Go, Java,& Bazel to DESTROY Long Build Times
Using Multi-stage Docker, Go, Java,& Bazel to DESTROY Long Build Times
DevOps.com
Drupal 8 DevOps . Profile and SQL flows.
Drupal 8 DevOps . Profile and SQL flows.
Andrii Podanenko
Testing as a container
Testing as a container
Irfan Ahmad
Building scala with bazel
Building scala with bazel
Natan Silnitsky
Building an Extensible, Resumable DSL on Top of Apache Groovy
Building an Extensible, Resumable DSL on Top of Apache Groovy
jgcloudbees
Docker e git lab
Docker e git lab
Gianluca Padovani
Jenkins, pipeline and docker
Jenkins, pipeline and docker
AgileDenver
(Declarative) Jenkins Pipelines
(Declarative) Jenkins Pipelines
Steffen Gebert
Getting Started with Docker (For Developers)
Getting Started with Docker (For Developers)
ColdFusionConference
Extending Arquillian graphene
Extending Arquillian graphene
Rudy De Busscher
vodQA(Pune) 2018 - Docker in Testing
vodQA(Pune) 2018 - Docker in Testing
vodQA
More Related Content
What's hot
"Wix Serverless from inside", Mykola Borozdin
"Wix Serverless from inside", Mykola Borozdin
Fwdays
Ci For The Web 2.0 Guy Or Gal
Ci For The Web 2.0 Guy Or Gal
Chad Woolley
Drupal contrib module maintaining
Drupal contrib module maintaining
Andrii Podanenko
7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users
Jules Pierre-Louis
CIbox - OpenSource solution for making your #devops better
CIbox - OpenSource solution for making your #devops better
Andrii Podanenko
DrupalCon Los Angeles - Continuous Integration Toolbox
DrupalCon Los Angeles - Continuous Integration Toolbox
Andrii Podanenko
7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users
Jules Pierre-Louis
Володимир Дубенко "Node.js for desktop development (based on Electron library)"
Володимир Дубенко "Node.js for desktop development (based on Electron library)"
Fwdays
Евгений Жарков "React Native: Hurdle Race"
Евгений Жарков "React Native: Hurdle Race"
Fwdays
Drone CI/CD 自動化測試及部署
Drone CI/CD 自動化測試及部署
Bo-Yi Wu
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...
ZeroTurnaround
Using Multi-stage Docker, Go, Java,& Bazel to DESTROY Long Build Times
Using Multi-stage Docker, Go, Java,& Bazel to DESTROY Long Build Times
DevOps.com
Drupal 8 DevOps . Profile and SQL flows.
Drupal 8 DevOps . Profile and SQL flows.
Andrii Podanenko
Testing as a container
Testing as a container
Irfan Ahmad
Building scala with bazel
Building scala with bazel
Natan Silnitsky
Building an Extensible, Resumable DSL on Top of Apache Groovy
Building an Extensible, Resumable DSL on Top of Apache Groovy
jgcloudbees
Docker e git lab
Docker e git lab
Gianluca Padovani
Jenkins, pipeline and docker
Jenkins, pipeline and docker
AgileDenver
(Declarative) Jenkins Pipelines
(Declarative) Jenkins Pipelines
Steffen Gebert
Getting Started with Docker (For Developers)
Getting Started with Docker (For Developers)
ColdFusionConference
What's hot
(20)
"Wix Serverless from inside", Mykola Borozdin
"Wix Serverless from inside", Mykola Borozdin
Ci For The Web 2.0 Guy Or Gal
Ci For The Web 2.0 Guy Or Gal
Drupal contrib module maintaining
Drupal contrib module maintaining
7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users
CIbox - OpenSource solution for making your #devops better
CIbox - OpenSource solution for making your #devops better
DrupalCon Los Angeles - Continuous Integration Toolbox
DrupalCon Los Angeles - Continuous Integration Toolbox
7 Habits of Highly Effective Jenkins Users
7 Habits of Highly Effective Jenkins Users
Володимир Дубенко "Node.js for desktop development (based on Electron library)"
Володимир Дубенко "Node.js for desktop development (based on Electron library)"
Евгений Жарков "React Native: Hurdle Race"
Евгений Жарков "React Native: Hurdle Race"
Drone CI/CD 自動化測試及部署
Drone CI/CD 自動化測試及部署
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...
[Image Results] Java Build Tools: Part 2 - A Decision Maker's Guide Compariso...
Using Multi-stage Docker, Go, Java,& Bazel to DESTROY Long Build Times
Using Multi-stage Docker, Go, Java,& Bazel to DESTROY Long Build Times
Drupal 8 DevOps . Profile and SQL flows.
Drupal 8 DevOps . Profile and SQL flows.
Testing as a container
Testing as a container
Building scala with bazel
Building scala with bazel
Building an Extensible, Resumable DSL on Top of Apache Groovy
Building an Extensible, Resumable DSL on Top of Apache Groovy
Docker e git lab
Docker e git lab
Jenkins, pipeline and docker
Jenkins, pipeline and docker
(Declarative) Jenkins Pipelines
(Declarative) Jenkins Pipelines
Getting Started with Docker (For Developers)
Getting Started with Docker (For Developers)
Similar to JCConf 2015 workshop 動手玩 Java 專案建置工具
Extending Arquillian graphene
Extending Arquillian graphene
Rudy De Busscher
vodQA(Pune) 2018 - Docker in Testing
vodQA(Pune) 2018 - Docker in Testing
vodQA
Automated Testing in DevOps
Automated Testing in DevOps
Haufe-Lexware GmbH & Co KG
Gradle起步走: 以CLI Application為例 @ JCConf 2014
Gradle起步走: 以CLI Application為例 @ JCConf 2014
Chen-en Lu
Successful testing continuous delivery (Testnet 2013)
Successful testing continuous delivery (Testnet 2013)
Pascal Dufour
Succesful testing-continuous-delivery-testnet
Succesful testing-continuous-delivery-testnet
Harald Rietman
Google jib: Building Java containers without Docker
Google jib: Building Java containers without Docker
Maarten Smeets
Cucumber, Cuke4Duke, and Groovy
Cucumber, Cuke4Duke, and Groovy
Christopher Bartling
An Open-Source Chef Cookbook CI/CD Implementation Using Jenkins Pipelines
An Open-Source Chef Cookbook CI/CD Implementation Using Jenkins Pipelines
Steffen Gebert
TestCorner#22 - Evolving QA implementation for Microservices in Viveport
TestCorner#22 - Evolving QA implementation for Microservices in Viveport
HTC
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
E. Camden Fisher
[Szjug] Docker. Does it matter for java developer?
[Szjug] Docker. Does it matter for java developer?
Izzet Mustafaiev
Testing in GO
Testing in GO
song jiayang
Succesful Testing The Continuous Delivery Process
Succesful Testing The Continuous Delivery Process
Huib Schoots
Patterns & Antipatterns in Docker Image Lifecycle
Patterns & Antipatterns in Docker Image Lifecycle
yoavl
Lean Cloud Starterkit - Beta
Lean Cloud Starterkit - Beta
Dennis Seidel
Testing strategies for Docker containers
Testing strategies for Docker containers
Alexei Ledenev
Gocd – Kubernetes/Nomad Continuous Deployment
Gocd – Kubernetes/Nomad Continuous Deployment
Leandro Totino Pereira
Polygot Java EE on the GraalVM
Polygot Java EE on the GraalVM
Ryan Cuprak
2 万林涛
2 万林涛
Jiang Shang
Similar to JCConf 2015 workshop 動手玩 Java 專案建置工具
(20)
Extending Arquillian graphene
Extending Arquillian graphene
vodQA(Pune) 2018 - Docker in Testing
vodQA(Pune) 2018 - Docker in Testing
Automated Testing in DevOps
Automated Testing in DevOps
Gradle起步走: 以CLI Application為例 @ JCConf 2014
Gradle起步走: 以CLI Application為例 @ JCConf 2014
Successful testing continuous delivery (Testnet 2013)
Successful testing continuous delivery (Testnet 2013)
Succesful testing-continuous-delivery-testnet
Succesful testing-continuous-delivery-testnet
Google jib: Building Java containers without Docker
Google jib: Building Java containers without Docker
Cucumber, Cuke4Duke, and Groovy
Cucumber, Cuke4Duke, and Groovy
An Open-Source Chef Cookbook CI/CD Implementation Using Jenkins Pipelines
An Open-Source Chef Cookbook CI/CD Implementation Using Jenkins Pipelines
TestCorner#22 - Evolving QA implementation for Microservices in Viveport
TestCorner#22 - Evolving QA implementation for Microservices in Viveport
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
CT Software Developers Meetup: Using Docker and Vagrant Within A GitHub Pull ...
[Szjug] Docker. Does it matter for java developer?
[Szjug] Docker. Does it matter for java developer?
Testing in GO
Testing in GO
Succesful Testing The Continuous Delivery Process
Succesful Testing The Continuous Delivery Process
Patterns & Antipatterns in Docker Image Lifecycle
Patterns & Antipatterns in Docker Image Lifecycle
Lean Cloud Starterkit - Beta
Lean Cloud Starterkit - Beta
Testing strategies for Docker containers
Testing strategies for Docker containers
Gocd – Kubernetes/Nomad Continuous Deployment
Gocd – Kubernetes/Nomad Continuous Deployment
Polygot Java EE on the GraalVM
Polygot Java EE on the GraalVM
2 万林涛
2 万林涛
Recently uploaded
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhi
miss dipika
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
zdzoqco
Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptx
editsforyah
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
z xss
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptx
Dyna Gilbert
NSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentation
Marko4394
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 Documentation
LinaWolf1
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24
Paul Calvano
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
rnrncn29
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
rnrncn29
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Sonam Pathan
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
ys8omjxb
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Sonam Pathan
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
9953056974 Low Rate Call Girls In Saket, Delhi NCR
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa
494f574xmv
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predi
eusebiomeyer
Recently uploaded
(17)
Contact Rya Baby for Call Girls New Delhi
Contact Rya Baby for Call Girls New Delhi
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
办理多伦多大学毕业证成绩单|购买加拿大UTSG文凭证书
Q4-1-Illustrating-Hypothesis-Testing.pptx
Q4-1-Illustrating-Hypothesis-Testing.pptx
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
办理(UofR毕业证书)罗切斯特大学毕业证成绩单原版一比一
Top 10 Interactive Website Design Trends in 2024.pptx
Top 10 Interactive Website Design Trends in 2024.pptx
NSX-T and Service Interfaces presentation
NSX-T and Service Interfaces presentation
PHP-based rendering of TYPO3 Documentation
PHP-based rendering of TYPO3 Documentation
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Hot Sexy call girls in Rk Puram 🔝 9953056974 🔝 Delhi escort Service
Font Performance - NYC WebPerf Meetup April '24
Font Performance - NYC WebPerf Meetup April '24
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买詹姆士库克大学毕业证书成绩单办理澳洲JCU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
『澳洲文凭』买拉筹伯大学毕业证书成绩单办理澳洲LTU文凭学位证书
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Call Girls Near The Suryaa Hotel New Delhi 9873777170
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Potsdam FH学位证,波茨坦应用技术大学毕业证书1:1制作
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
Call Girls In The Ocean Pearl Retreat Hotel New Delhi 9873777170
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
young call girls in Uttam Nagar🔝 9953056974 🔝 Delhi escort Service
Film cover research (1).pptxsdasdasdasdasdasa
Film cover research (1).pptxsdasdasdasdasdasa
SCM Symposium PPT Format Customer loyalty is predi
SCM Symposium PPT Format Customer loyalty is predi
JCConf 2015 workshop 動手玩 Java 專案建置工具
1.
#JCConf Java Gradle Docker JCConf Taiwan
2015 Workshop
2.
Outline • Introduction • Docker
Image Installation • Classical Geb Testing • Geb Test with Dockerize Browser • Gradle Build and Geb Test with Docker
3.
#JCConf Hackpad https://goo.gl/PbW62V
4.
#JCConf Introduction
5.
Package Library Application Server e2e test
6.
auto test success local debug test
case success success remote debug test failed test failed test failed
7.
#JCConf Docker Image Installation
8.
docker load • docker
load --input ${ }/jcconf_main.tar • docker load --input ${ }/jcconf_client.tar • • docker images • trunk/groovy_gradle • vvoyer/docker-selenium-firefox-chrome
9.
#JCConf Let’s Start!
10.
#JCConf Classical Geb Testing
11.
Browser with WebDriver control test results Java Gradle Geb
12.
• •
13.
#JCConf Demo Repository
14.
GebConfig 1. firefox { 2.
driver = { 3. DesiredCapabilities capabilities = DesiredCapabilities.firefox() 4. def host = System.env.JCCONF_CLIENT_PORT_4444_TCP_ADDR ?: 'localhost' 5. def port = System.env.JCCONF_CLIENT_PORT_4444_TCP_PORT ?: '4444' 6. 7. if (host == 'localhost') { 8. new FirefoxDriver() 9. } 10. else { 11. URL url = new URL("http://$host:$port/wd/hub") 12. new RemoteWebDriver(url, capabilities) 13. } 14. } 15.} 16. src/test/resources/GebConfig.groovy
15.
Target • • • Google Chrome •
Firefox
16.
#JCConf
17.
#JCConf Geb Web Testing without
Docker
18.
#JCConf
19.
Run Gradle ./gradlew firefoxTest ./gradlew
chromeTest Get Source Code https://github.com/TrunkWorkshop/jcconf-2015-java-docker git clone https://github.com/TrunkWorkshop/jcconf-2015-java-docker.git
20.
Testing with Jenkins
CI • daily build • code committed • pull request • before staging • before release • trigger manually
21.
Jenkins CI with
Real Browser ? • PhantomJS(headless) is not real ? ? HOW-TO
22.
#JCConf Geb Test with Dockerize Browser
23.
browser test case control result VNC
24.
#JCConf docker browser docker-compose up
client
25.
#JCConf View Docker Inside vnc://DOCKER_HOST:5999 password:
secret
26.
• Jenkins CI
Test Failed • CI • •
27.
#JCConf export JCCONF_CLIENT_PORT_4444_TCP_ADDR=DOCKER_HOST export JCCONF_CLIENT_PORT_4444_TCP_PORT=4444
28.
GebConfig 1. firefox { 2.
driver = { 3. DesiredCapabilities capabilities = DesiredCapabilities.firefox() 4. def host = System.env.JCCONF_CLIENT_PORT_4444_TCP_ADDR ?: 'localhost' 5. def port = System.env.JCCONF_CLIENT_PORT_4444_TCP_PORT ?: '4444' 6. 7. if (host == 'localhost') { 8. new FirefoxDriver() 9. } 10. else { 11. URL url = new URL("http://$host:$port/wd/hub") 12. new RemoteWebDriver(url, capabilities) 13. } 14. } 15.} 16. src/test/resources/GebConfig.groovy
29.
#JCConf local test +
docker browser gradle remoteFirefoxTest
30.
#JCConf vnc://DOCKER_HOST:5999 password: secret
31.
#JCConf Gradle Build and
Geb Test with Docker
32.
client env project env browser test case control result VNC
JAVA gradle
33.
• CI • • • migrate
34.
#JCConf docker-compose up main
35.
#JCConf vnc://dockerhost:5999 password: secret
36.
#JCConf docker-compose
37.
main: container_name: jcconf_main image: trunk/groovy_gradle command:
"/bin/bash -l -c 'gradle firefoxTest'" links: - client volumes: - ./:/jcconf_main working_dir: /jcconf_main client: container_name: jcconf_client image: vvoyer/docker-selenium-firefox-chrome ports: - "4444:4444" - "5999:5999"
38.
Jenkins with Docker docker-compose
up main
Download now