Presented and showcased the automation framework we are building in iConnect360. Presented from Slide 7 and onward till the end. It was an amazing experience to be part of it :)
2. iconnect360.com
Topic: Or sub heading here...
Presented by: Celeste Kirby-Brown
Date: 15th February 2012
Presenters
Gan Boon Leong
M Rizwanur Rashid
Functional Test Automation
8. iconnect360.com
Test Automation Architecture
Custom Framework
Automation Framework
(Selenium/Telerik Testing
Framework)
Browser (Web App)
Tests
Each Layer only interacts
with the layer immediately
below it
9. iconnect360.com
Tip: React with UI changes
How we ensured it?
UI elements are independent
Referred from different layer
Only need to change the definition of the UI object
10. iconnect360.com
Thinking About Layers
Page Tests
Data Layer
Logger
The framework itself should be divided up by layers of functionality
Page
Repositori
es
Entities
UI Object
Repositori
es
Testlink Updater
Helper
Factory
Framework
Selenium
Browser (Web
App)
Tests
11. iconnect360.com
The Page Objects Model Pattern
Test
LoginPage::
Browser
LoginPage::Code
- Login()
- ResetPassword()
- ToggleRememberMe()
Pages are good way to model the functionality of an application
Selenium - org.openqa.selenium.support.PageFactory
.NET – Custom design
12. iconnect360.com
Fine tuning existing process
And because our developers are awesome !
Developers agreed to put ID wherever possible
Tip: Use ID to find element
How we ensured it?
15. iconnect360.com
Execution Flow
Loop for
configured
countries
Begin test
CSV data
IsRun =
true?
Test initialization
Test execution
(Page > UI repo)
HTML logger::
Write detail log
with screenshot
Update Testlink
(pass/fail result)
HTML logger::
Write summary log
End execution
Is last
row?
Yes
Yes
No
No, proceed to next row
16. iconnect360.com
In .NET, App.config with environment specific transformation.
For selenium, properties file for common configurations.
Bonus Tip: Rely on configurations
How we did it?
Cannot just rely on 1 tool, we need to use other tools like jenkins, testlinks to make the automation process complete
Record/playback, is more static if compare to page model. Maintainance cost is low
Review and refactor, we nned to continuously reviewing and refactoring our test framework to ensure the coding standard is followed. E.g. Any changes on the existing code, they need to submit for review. The automation tester required to follow the code standard.
Identify the manual test to automate.
Develop automation scripts and store all the automation scripts into SVN
Create test suits using test link, and using jenkins to trigger the test run.
Jenkin will grab the latest scripts from SVN.
Automati execution is start
Update the test status to testlink.
We can review the test results and logger through testlink.
Log defect trough bugzilla if needed.