SlideShare una empresa de Scribd logo
1 de 19
Descargar para leer sin conexión
The way to set
automation testing in
Septeni Technology
Presenter: Nguyễn Thị Hiền – SQA at Septeni Technology
Hanoi, 2014/04/28
Introduction of us
• Septeni Technology CO., LTD is the strategic company in Hanoi
of Septeni group so that we develop web services of our own in
high level and speed.
• PYXIS is the software solution for managing Facebook Ad
Campaigns and achieving the highest performance from your
ads that is developed based on Web application platform.
Topic introduction
• At present, we are operating automation test for our PYXIS that
are developed on Web application platform.
• We are using Selenium Webdriver (used language: Java)
integrating with testNG to write automation test cases.
• Besides, we also use CI environment – Jenkins that is set up
and configured by our developers to run test cases
automatically everyday.
Outline
1. Summarizing about automation test at Septeni Technology.
2. Create test cases by Selenium Webdriver integrating with
testNG.
3. Run test cases automatically by using CI environment
(Jenkins).
4. Send email notification to inform test results.
1. Automation test in Septeni Technology
SQA computer
+ Create test scripts based on manual testcases
+ Using Selenium Webdriver integrating with
testNG.
+ create and compile java file by using Eclipse and
JAVA 1.7
Septeni technology
server
Get test scripts files to run test
automatically
Jenkins
Test results(Jenkins reports) Email notification
2. Create test cases by Selenium Webdriver
integrating with testNG
Why Selenium Webdriver?
Selenium Webdriver Selenium RC
1. Interact with browser directly undirectly
2. Interact with page’s elements in a more realistic way not a realistic way
3. API simple complicated
4. Can support the headless
HtmlUnit browser?
yes no
5. Can connect to DB to execute
test?
yes yes
2. Create test cases by Selenium Webdriver
integrating with testNG
Why TestNG?
1. TestNG can generate reports based on our Selenium test
results.
- WebDriver has no native mechanism for generating reports.
- TestNG can generate the report in a readable format like the one shown below.
2. Annotations are easier to understand
3. Test cases can be grouped more easily
4. Parallel testing is possible
2. Create test cases by Selenium Webdriver
integrating with testNG
1. Choose testcases from the manual testcases to implement automating with
Webdriver:
2. By extracting from this test case, we can design our test scenario automatically by
Webdriver.
2. Create test cases by Selenium Webdriver
integrating with testNG
Test scenario:
 Get Cost report value at Dashboard screen – screen cost
Query from DB to get expected cost report value - DB cost
screen cost = DB cost test passed
screen cost != DB cost test failed
2. Create test cases by Selenium Webdriver
integrating with testNG
1. Create test case
@BeforeTest: create a function to open brower and go to PYXIS-Dashboard screen
@BeforeTest
public static void openWeb(){
goToDashBoard();
}
@Test: create a function to implement test case
 Get Cost report value at Dashboard screen – screen cost
 Get Cost report value from DB – DB cost
 Compare screen cost and DB cost
@Test
public static void CheckCost() throws
InstantiationException,IllegalAccessException, ClassNotFoundException,
SQLException {
// query to get cost value from db
String query = "SELECT IFNULL(SUM(adrep.spent),0) AS cost "
+ "FROM ad_reports_" + profileId + " adrep "
+ "INNER JOIN ads ON adrep.ad_id = ads.ad_id "
+ "WHERE ads.type IN (1,2,4,12)" + " and report_date BETWEEN "
+ getDate() + ";";
ResultSet result = (ResultSet) getResultFromDB(query);
// Get cost value from db
String costDB = "", realCost = "";
costDB = getValueFromDb(result, "cost");
realCost = driver.findElement(By.id("real_costs")).getText();
realCost = realCost.replaceAll("[^0-9]", "");
//Check cost at DB comparing with real cost
Assert.assertEquals(costDB, realCost);
}// end of checkCost
2. Create test cases by Selenium Webdriver
integrating with testNG
@AfterTest: create a function to close browser after testing.
@AfterTest
public static void closeBrowser(){
driver.quit();
}
2. Convert to testNG
<suite name="Suite" parallel="none">
<test name="Test">
<classes>
<class name="checkDB.checkDB"/>
</classes>
</test> <!-- Test -->
</suite> <!-- Suite -->
2. Create test cases by Selenium Webdriver
integrating with testNG
Result after running test:
3. Run test cases automatically by using CI
environment (Jenkins)
Why Jenkins?
1. Make is simpler and more convenient to run test case at
server everyday automatically.
2. Can view result console easier and more convenient.
3. Provide a better view for manager and reporter to control the
status of testing.
4. Sending email notification to concerned people.
3. Run test cases automatically by using CI
environment (Jenkins)
 Create new job at Jenkins to run test cases automatically
Jenkins model:
Jenkins
Job
Build
Post build
Email
notification
Export testNG
result
Export html
report
3. Run test cases automatically by using CI
environment (Jenkins)
Report result after running test by Jenkins:
1. Html report:
4. Send email notification to inform test results
• Define Recipient List
• Content type: HTML because if using html we can show our test results clearly.
Thanks for your listening!
Summary
1. Automation test at Septeni Technogy by using Webdriver
integrating with testNG
2. Running test cases everyday automatically by using CI
environment – Jenkins.
3. Export test result.
4. Send email notification via email.

Más contenido relacionado

La actualidad más candente

BlazeMeter Presents at the High Performance Drupal Meetup
BlazeMeter Presents at the High Performance Drupal MeetupBlazeMeter Presents at the High Performance Drupal Meetup
BlazeMeter Presents at the High Performance Drupal Meetup
BlazeMeter
 
Performance Metrics in a Day with Selenium
Performance Metrics in a Day with SeleniumPerformance Metrics in a Day with Selenium
Performance Metrics in a Day with Selenium
Mark Watson
 

La actualidad más candente (20)

Stabilizing SE Build - Selenium conf 2013
Stabilizing SE Build - Selenium conf 2013 Stabilizing SE Build - Selenium conf 2013
Stabilizing SE Build - Selenium conf 2013
 
Selenium Tips & Tricks - StarWest 2015
Selenium Tips & Tricks - StarWest 2015Selenium Tips & Tricks - StarWest 2015
Selenium Tips & Tricks - StarWest 2015
 
Grid Router – scalable and fault tolerant solution for Selenium grid
Grid Router – scalable and fault tolerant solution for Selenium gridGrid Router – scalable and fault tolerant solution for Selenium grid
Grid Router – scalable and fault tolerant solution for Selenium grid
 
Selenium-Grid-Extras
Selenium-Grid-ExtrasSelenium-Grid-Extras
Selenium-Grid-Extras
 
[Perforce] Adventures in Build
[Perforce] Adventures in Build[Perforce] Adventures in Build
[Perforce] Adventures in Build
 
Ansible: How to Get More Sleep and Require Less Coffee
Ansible: How to Get More Sleep and Require Less CoffeeAnsible: How to Get More Sleep and Require Less Coffee
Ansible: How to Get More Sleep and Require Less Coffee
 
Hosting Ruby Web Apps
Hosting Ruby Web AppsHosting Ruby Web Apps
Hosting Ruby Web Apps
 
BlazeMeter Presents at the High Performance Drupal Meetup
BlazeMeter Presents at the High Performance Drupal MeetupBlazeMeter Presents at the High Performance Drupal Meetup
BlazeMeter Presents at the High Performance Drupal Meetup
 
(WEB305) Migrating Your Website to AWS | AWS re:Invent 2014
(WEB305) Migrating Your Website to AWS | AWS re:Invent 2014(WEB305) Migrating Your Website to AWS | AWS re:Invent 2014
(WEB305) Migrating Your Website to AWS | AWS re:Invent 2014
 
Performance Metrics in a Day with Selenium
Performance Metrics in a Day with SeleniumPerformance Metrics in a Day with Selenium
Performance Metrics in a Day with Selenium
 
Opscode Webinar: Cooking with Chef on Microsoft Windows
Opscode Webinar: Cooking with Chef on Microsoft WindowsOpscode Webinar: Cooking with Chef on Microsoft Windows
Opscode Webinar: Cooking with Chef on Microsoft Windows
 
(WEB307) Scalable Site Management Using AWS OpsWorks | AWS re:Invent 2014
(WEB307) Scalable Site Management Using AWS OpsWorks | AWS re:Invent 2014(WEB307) Scalable Site Management Using AWS OpsWorks | AWS re:Invent 2014
(WEB307) Scalable Site Management Using AWS OpsWorks | AWS re:Invent 2014
 
Manage your environment with DSC
Manage your environment with DSCManage your environment with DSC
Manage your environment with DSC
 
Automated Deployments with Ansible
Automated Deployments with AnsibleAutomated Deployments with Ansible
Automated Deployments with Ansible
 
Scaling a MeteorJS SaaS app on AWS
Scaling a MeteorJS SaaS app on AWSScaling a MeteorJS SaaS app on AWS
Scaling a MeteorJS SaaS app on AWS
 
Play Framework: Intro & High-Level Overview
Play Framework: Intro & High-Level OverviewPlay Framework: Intro & High-Level Overview
Play Framework: Intro & High-Level Overview
 
Automating aws infrastructure and code deployments using Ansible @WebEngage
Automating aws infrastructure and code deployments using Ansible @WebEngageAutomating aws infrastructure and code deployments using Ansible @WebEngage
Automating aws infrastructure and code deployments using Ansible @WebEngage
 
WordPress + NGINX Best Practices with EasyEngine
WordPress + NGINX Best Practices with EasyEngineWordPress + NGINX Best Practices with EasyEngine
WordPress + NGINX Best Practices with EasyEngine
 
Learning chef
Learning chefLearning chef
Learning chef
 
Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...
Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...
Handling 10k requests per second with Symfony and Varnish - SymfonyCon Berlin...
 

Destacado

Beyond project management
Beyond project managementBeyond project management
Beyond project management
Duy Tan Geek
 
Anti patterns in it project management
Anti patterns in it project managementAnti patterns in it project management
Anti patterns in it project management
Vu Hung Nguyen
 
Systems thinking - Tư duy hệ thống
Systems thinking - Tư duy hệ thốngSystems thinking - Tư duy hệ thống
Systems thinking - Tư duy hệ thống
The Tai Dang
 
Tu duy he thong
Tu duy he thongTu duy he thong
Tu duy he thong
ptmkhanh
 
Basic & Advanced Scrum Framework
Basic & Advanced Scrum FrameworkBasic & Advanced Scrum Framework
Basic & Advanced Scrum Framework
Vu Hung Nguyen
 

Destacado (20)

Introduction to Redis Data Structures: Sorted Sets
Introduction to Redis Data Structures: Sorted SetsIntroduction to Redis Data Structures: Sorted Sets
Introduction to Redis Data Structures: Sorted Sets
 
Kleene's theorem
Kleene's theoremKleene's theorem
Kleene's theorem
 
Agile Mindset - Duong Trong Tan 2014/09 @septeni technology
Agile Mindset - Duong Trong Tan 2014/09 @septeni technologyAgile Mindset - Duong Trong Tan 2014/09 @septeni technology
Agile Mindset - Duong Trong Tan 2014/09 @septeni technology
 
Beyond project management
Beyond project managementBeyond project management
Beyond project management
 
Tạp chí lập trình VOL.2 Tháng 4/2013 Tinh Giản
Tạp chí lập trình VOL.2 Tháng 4/2013 Tinh GiảnTạp chí lập trình VOL.2 Tháng 4/2013 Tinh Giản
Tạp chí lập trình VOL.2 Tháng 4/2013 Tinh Giản
 
Anti patterns in it project management
Anti patterns in it project managementAnti patterns in it project management
Anti patterns in it project management
 
Insights from google for vietnam 03/2016
Insights from google for vietnam 03/2016Insights from google for vietnam 03/2016
Insights from google for vietnam 03/2016
 
Tran Minh: big data platform in high performance computing at NISCI
Tran Minh: big data platform in high performance computing at NISCITran Minh: big data platform in high performance computing at NISCI
Tran Minh: big data platform in high performance computing at NISCI
 
Agile có thể giúp chúng ta những gì?
Agile có thể giúp chúng ta những gì?Agile có thể giúp chúng ta những gì?
Agile có thể giúp chúng ta những gì?
 
Delivering Happiness - The Meddler Game
Delivering Happiness - The Meddler GameDelivering Happiness - The Meddler Game
Delivering Happiness - The Meddler Game
 
People As the Conveyor of Knowledge at Agile Vietnam
People As the Conveyor of Knowledge at Agile VietnamPeople As the Conveyor of Knowledge at Agile Vietnam
People As the Conveyor of Knowledge at Agile Vietnam
 
Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Ha...
Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Ha...Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Ha...
Nguyen Vu Hung: Beyond Agile - Practices and Mindset - Agile Tour Vietnam (Ha...
 
Kanban: Cơ bản và Nâng cao
Kanban: Cơ bản và Nâng caoKanban: Cơ bản và Nâng cao
Kanban: Cơ bản và Nâng cao
 
Systems thinking - Tư duy hệ thống
Systems thinking - Tư duy hệ thốngSystems thinking - Tư duy hệ thống
Systems thinking - Tư duy hệ thống
 
2016 04-21 Chia sẻ cùng AltPlus (về quản lý)
2016 04-21 Chia sẻ cùng AltPlus (về quản lý)2016 04-21 Chia sẻ cùng AltPlus (về quản lý)
2016 04-21 Chia sẻ cùng AltPlus (về quản lý)
 
Theory of Automata
Theory of AutomataTheory of Automata
Theory of Automata
 
Tu duy he thong
Tu duy he thongTu duy he thong
Tu duy he thong
 
Fuji Technology Workshop: Learning Skills
Fuji Technology Workshop: Learning SkillsFuji Technology Workshop: Learning Skills
Fuji Technology Workshop: Learning Skills
 
Basic & Advanced Scrum Framework
Basic & Advanced Scrum FrameworkBasic & Advanced Scrum Framework
Basic & Advanced Scrum Framework
 
Nguyen Vu Hung - Software Project Management with Jira Agile
Nguyen Vu Hung - Software Project Management with Jira AgileNguyen Vu Hung - Software Project Management with Jira Agile
Nguyen Vu Hung - Software Project Management with Jira Agile
 

Similar a The way to set automation testing

Selenium withnet
Selenium withnetSelenium withnet
Selenium withnet
Vlad Maniak
 

Similar a The way to set automation testing (20)

Selenium C# - The Essential Test Automation Guide
Selenium C# - The Essential Test Automation GuideSelenium C# - The Essential Test Automation Guide
Selenium C# - The Essential Test Automation Guide
 
Selenium Training in Chennai Demo Part-2
Selenium Training in Chennai Demo Part-2 Selenium Training in Chennai Demo Part-2
Selenium Training in Chennai Demo Part-2
 
SKILLWISE_SELENIUM
SKILLWISE_SELENIUMSKILLWISE_SELENIUM
SKILLWISE_SELENIUM
 
Automation Using Selenium Webdriver
Automation Using Selenium WebdriverAutomation Using Selenium Webdriver
Automation Using Selenium Webdriver
 
Step by step - Selenium 3 web-driver - From Scratch
Step by step - Selenium 3 web-driver - From Scratch  Step by step - Selenium 3 web-driver - From Scratch
Step by step - Selenium 3 web-driver - From Scratch
 
Selenium withnet
Selenium withnetSelenium withnet
Selenium withnet
 
Selenium using C# by Yogesh Kumar
Selenium using C# by  Yogesh KumarSelenium using C# by  Yogesh Kumar
Selenium using C# by Yogesh Kumar
 
Automated Web Testing using JavaScript
Automated Web Testing using JavaScriptAutomated Web Testing using JavaScript
Automated Web Testing using JavaScript
 
Introduction to Selenium and WebDriver
Introduction to Selenium and WebDriverIntroduction to Selenium and WebDriver
Introduction to Selenium and WebDriver
 
Priming Your Teams For Microservice Deployment to the Cloud
Priming Your Teams For Microservice Deployment to the CloudPriming Your Teams For Microservice Deployment to the Cloud
Priming Your Teams For Microservice Deployment to the Cloud
 
Data driven Automation Framework with Selenium
Data driven Automation Framework with Selenium Data driven Automation Framework with Selenium
Data driven Automation Framework with Selenium
 
Selenium
SeleniumSelenium
Selenium
 
Codeception introduction and use in Yii
Codeception introduction and use in YiiCodeception introduction and use in Yii
Codeception introduction and use in Yii
 
Creating selenium remote control tests
Creating selenium remote control testsCreating selenium remote control tests
Creating selenium remote control tests
 
WENLONGZHU
WENLONGZHUWENLONGZHU
WENLONGZHU
 
Automated Testing using JavaScript
Automated Testing using JavaScriptAutomated Testing using JavaScript
Automated Testing using JavaScript
 
International journal of applied sciences and innovation vol 2015 - no 1 - ...
International journal of applied sciences and innovation   vol 2015 - no 1 - ...International journal of applied sciences and innovation   vol 2015 - no 1 - ...
International journal of applied sciences and innovation vol 2015 - no 1 - ...
 
Selenium Testing with TestingBot.com
Selenium Testing with TestingBot.comSelenium Testing with TestingBot.com
Selenium Testing with TestingBot.com
 
Codeception
CodeceptionCodeception
Codeception
 
How to make a Load Testing with Visual Studio 2012
How to make a Load Testing with Visual Studio 2012How to make a Load Testing with Visual Studio 2012
How to make a Load Testing with Visual Studio 2012
 

Más de Duy Tan Geek

Amazon Elastic Load Balancing
Amazon Elastic Load BalancingAmazon Elastic Load Balancing
Amazon Elastic Load Balancing
Duy Tan Geek
 
Cloud - FOSS & Challenge
Cloud - FOSS & ChallengeCloud - FOSS & Challenge
Cloud - FOSS & Challenge
Duy Tan Geek
 
AWS, is it interesting?
AWS, is it interesting?AWS, is it interesting?
AWS, is it interesting?
Duy Tan Geek
 
Cloud DC Transforming
Cloud DC TransformingCloud DC Transforming
Cloud DC Transforming
Duy Tan Geek
 
Becoming a better programmer - unit testing
Becoming a better programmer - unit testingBecoming a better programmer - unit testing
Becoming a better programmer - unit testing
Duy Tan Geek
 
Practical TDD in Septeni Technology
Practical TDD in Septeni TechnologyPractical TDD in Septeni Technology
Practical TDD in Septeni Technology
Duy Tan Geek
 
Build Quality In with TDD
Build Quality In with TDDBuild Quality In with TDD
Build Quality In with TDD
Duy Tan Geek
 
Sharing bridge SE working experience of myself
Sharing bridge SE working experience of myselfSharing bridge SE working experience of myself
Sharing bridge SE working experience of myself
Duy Tan Geek
 
Game development with Cocos2d-x Engine
Game development with Cocos2d-x EngineGame development with Cocos2d-x Engine
Game development with Cocos2d-x Engine
Duy Tan Geek
 
HTML5 mobile games
HTML5 mobile gamesHTML5 mobile games
HTML5 mobile games
Duy Tan Geek
 
Game engine introduction and approach
Game engine introduction and approachGame engine introduction and approach
Game engine introduction and approach
Duy Tan Geek
 
10 things you need to know about doing business with Japanese
10 things you need to know about doing business with Japanese10 things you need to know about doing business with Japanese
10 things you need to know about doing business with Japanese
Duy Tan Geek
 
Enjoy Japanese work style
Enjoy Japanese work styleEnjoy Japanese work style
Enjoy Japanese work style
Duy Tan Geek
 
A cup of coffee worth 10 dollars is what we are going to sell!
A cup of coffee worth 10 dollars is what we are going to sell!A cup of coffee worth 10 dollars is what we are going to sell!
A cup of coffee worth 10 dollars is what we are going to sell!
Duy Tan Geek
 
Introduction to pmp
Introduction to pmpIntroduction to pmp
Introduction to pmp
Duy Tan Geek
 
Quality Management Introduction
Quality Management IntroductionQuality Management Introduction
Quality Management Introduction
Duy Tan Geek
 
Techniques in black box testing
Techniques in black box testingTechniques in black box testing
Techniques in black box testing
Duy Tan Geek
 
Mobile App Testing
Mobile App TestingMobile App Testing
Mobile App Testing
Duy Tan Geek
 
Computerized system validation_final
Computerized system validation_finalComputerized system validation_final
Computerized system validation_final
Duy Tan Geek
 

Más de Duy Tan Geek (20)

Amazon Elastic Load Balancing
Amazon Elastic Load BalancingAmazon Elastic Load Balancing
Amazon Elastic Load Balancing
 
Cloud - FOSS & Challenge
Cloud - FOSS & ChallengeCloud - FOSS & Challenge
Cloud - FOSS & Challenge
 
AWS, is it interesting?
AWS, is it interesting?AWS, is it interesting?
AWS, is it interesting?
 
Cloud DC Transforming
Cloud DC TransformingCloud DC Transforming
Cloud DC Transforming
 
Becoming a better programmer - unit testing
Becoming a better programmer - unit testingBecoming a better programmer - unit testing
Becoming a better programmer - unit testing
 
Practical TDD in Septeni Technology
Practical TDD in Septeni TechnologyPractical TDD in Septeni Technology
Practical TDD in Septeni Technology
 
Build Quality In with TDD
Build Quality In with TDDBuild Quality In with TDD
Build Quality In with TDD
 
Sharing bridge SE working experience of myself
Sharing bridge SE working experience of myselfSharing bridge SE working experience of myself
Sharing bridge SE working experience of myself
 
Game development with Cocos2d-x Engine
Game development with Cocos2d-x EngineGame development with Cocos2d-x Engine
Game development with Cocos2d-x Engine
 
HTML5 mobile games
HTML5 mobile gamesHTML5 mobile games
HTML5 mobile games
 
Game engine introduction and approach
Game engine introduction and approachGame engine introduction and approach
Game engine introduction and approach
 
10 things you need to know about doing business with Japanese
10 things you need to know about doing business with Japanese10 things you need to know about doing business with Japanese
10 things you need to know about doing business with Japanese
 
Enjoy Japanese work style
Enjoy Japanese work styleEnjoy Japanese work style
Enjoy Japanese work style
 
A cup of coffee worth 10 dollars is what we are going to sell!
A cup of coffee worth 10 dollars is what we are going to sell!A cup of coffee worth 10 dollars is what we are going to sell!
A cup of coffee worth 10 dollars is what we are going to sell!
 
Leader ship value
Leader ship valueLeader ship value
Leader ship value
 
Introduction to pmp
Introduction to pmpIntroduction to pmp
Introduction to pmp
 
Quality Management Introduction
Quality Management IntroductionQuality Management Introduction
Quality Management Introduction
 
Techniques in black box testing
Techniques in black box testingTechniques in black box testing
Techniques in black box testing
 
Mobile App Testing
Mobile App TestingMobile App Testing
Mobile App Testing
 
Computerized system validation_final
Computerized system validation_finalComputerized system validation_final
Computerized system validation_final
 

Último

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
VishalKumarJha10
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 

Último (20)

introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdfintroduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
introduction-to-automotive Andoid os-csimmonds-ndctechtown-2021.pdf
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students8257 interfacing 2 in microprocessor for btech students
8257 interfacing 2 in microprocessor for btech students
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdfAzure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
Azure_Native_Qumulo_High_Performance_Compute_Benchmarks.pdf
 
Exploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdfExploring the Best Video Editing App.pdf
Exploring the Best Video Editing App.pdf
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 

The way to set automation testing

  • 1. The way to set automation testing in Septeni Technology Presenter: Nguyễn Thị Hiền – SQA at Septeni Technology Hanoi, 2014/04/28
  • 2. Introduction of us • Septeni Technology CO., LTD is the strategic company in Hanoi of Septeni group so that we develop web services of our own in high level and speed. • PYXIS is the software solution for managing Facebook Ad Campaigns and achieving the highest performance from your ads that is developed based on Web application platform.
  • 3. Topic introduction • At present, we are operating automation test for our PYXIS that are developed on Web application platform. • We are using Selenium Webdriver (used language: Java) integrating with testNG to write automation test cases. • Besides, we also use CI environment – Jenkins that is set up and configured by our developers to run test cases automatically everyday.
  • 4. Outline 1. Summarizing about automation test at Septeni Technology. 2. Create test cases by Selenium Webdriver integrating with testNG. 3. Run test cases automatically by using CI environment (Jenkins). 4. Send email notification to inform test results.
  • 5. 1. Automation test in Septeni Technology SQA computer + Create test scripts based on manual testcases + Using Selenium Webdriver integrating with testNG. + create and compile java file by using Eclipse and JAVA 1.7 Septeni technology server Get test scripts files to run test automatically Jenkins Test results(Jenkins reports) Email notification
  • 6. 2. Create test cases by Selenium Webdriver integrating with testNG Why Selenium Webdriver? Selenium Webdriver Selenium RC 1. Interact with browser directly undirectly 2. Interact with page’s elements in a more realistic way not a realistic way 3. API simple complicated 4. Can support the headless HtmlUnit browser? yes no 5. Can connect to DB to execute test? yes yes
  • 7. 2. Create test cases by Selenium Webdriver integrating with testNG Why TestNG? 1. TestNG can generate reports based on our Selenium test results. - WebDriver has no native mechanism for generating reports. - TestNG can generate the report in a readable format like the one shown below. 2. Annotations are easier to understand 3. Test cases can be grouped more easily 4. Parallel testing is possible
  • 8. 2. Create test cases by Selenium Webdriver integrating with testNG 1. Choose testcases from the manual testcases to implement automating with Webdriver: 2. By extracting from this test case, we can design our test scenario automatically by Webdriver.
  • 9. 2. Create test cases by Selenium Webdriver integrating with testNG Test scenario:  Get Cost report value at Dashboard screen – screen cost Query from DB to get expected cost report value - DB cost screen cost = DB cost test passed screen cost != DB cost test failed
  • 10. 2. Create test cases by Selenium Webdriver integrating with testNG 1. Create test case @BeforeTest: create a function to open brower and go to PYXIS-Dashboard screen @BeforeTest public static void openWeb(){ goToDashBoard(); } @Test: create a function to implement test case  Get Cost report value at Dashboard screen – screen cost  Get Cost report value from DB – DB cost  Compare screen cost and DB cost
  • 11. @Test public static void CheckCost() throws InstantiationException,IllegalAccessException, ClassNotFoundException, SQLException { // query to get cost value from db String query = "SELECT IFNULL(SUM(adrep.spent),0) AS cost " + "FROM ad_reports_" + profileId + " adrep " + "INNER JOIN ads ON adrep.ad_id = ads.ad_id " + "WHERE ads.type IN (1,2,4,12)" + " and report_date BETWEEN " + getDate() + ";"; ResultSet result = (ResultSet) getResultFromDB(query); // Get cost value from db String costDB = "", realCost = ""; costDB = getValueFromDb(result, "cost"); realCost = driver.findElement(By.id("real_costs")).getText(); realCost = realCost.replaceAll("[^0-9]", ""); //Check cost at DB comparing with real cost Assert.assertEquals(costDB, realCost); }// end of checkCost
  • 12. 2. Create test cases by Selenium Webdriver integrating with testNG @AfterTest: create a function to close browser after testing. @AfterTest public static void closeBrowser(){ driver.quit(); } 2. Convert to testNG <suite name="Suite" parallel="none"> <test name="Test"> <classes> <class name="checkDB.checkDB"/> </classes> </test> <!-- Test --> </suite> <!-- Suite -->
  • 13. 2. Create test cases by Selenium Webdriver integrating with testNG Result after running test:
  • 14. 3. Run test cases automatically by using CI environment (Jenkins) Why Jenkins? 1. Make is simpler and more convenient to run test case at server everyday automatically. 2. Can view result console easier and more convenient. 3. Provide a better view for manager and reporter to control the status of testing. 4. Sending email notification to concerned people.
  • 15. 3. Run test cases automatically by using CI environment (Jenkins)  Create new job at Jenkins to run test cases automatically Jenkins model: Jenkins Job Build Post build Email notification Export testNG result Export html report
  • 16. 3. Run test cases automatically by using CI environment (Jenkins) Report result after running test by Jenkins: 1. Html report:
  • 17. 4. Send email notification to inform test results • Define Recipient List • Content type: HTML because if using html we can show our test results clearly.
  • 18. Thanks for your listening!
  • 19. Summary 1. Automation test at Septeni Technogy by using Webdriver integrating with testNG 2. Running test cases everyday automatically by using CI environment – Jenkins. 3. Export test result. 4. Send email notification via email.