Sencha Roadshow 2017: What's New in Sencha Test
-
Upload
sencha -
Category
Technology
-
view
195 -
download
0
Transcript of Sencha Roadshow 2017: What's New in Sencha Test
What’s new in Sencha Test?
Olga Petrova
Agenda
• Sencha Test Roles
• Sencha Test 2.0 features
• Sencha Test 2.1 features
• Sencha Test 2.2 features
• Demo
Sencha Test Roles
Roles
• Developer
• QA Engineer
• DevOps Engineer
Developer Tom
Tom’s dreams
• Less bugs
• Easy refactoring
• Better code understanding
• Better code design
Tom’s problems
• Application complexity
• Asynchronous nature
• Hard to mock
• Short release time
QA Engineer Alice
Alice’s dreams
• Easy test writing automation
• Good code coverage
• Defense against regressions
Alice’s problems
• Uncontrollable environment
• Application complexity
• Asynchronous nature
• Short release time
DevOps Engineer Steve
Steve’s dreams
• More confidence in the code, less fear about releases
• Easy releases automation
• Be able to release at any time
Steve’s problems
• Integration of automated tests into CI environment
• Short release time
Sencha Test 2.0 features
Runtime environment
In-Browser
• Single-page application
• Run application and tests in browser
• Run in several browsers
simultaneously
Web Driver
• Multi-page application
• Run tests outside of the browser using
WebDriver
• Test any web applications
Developer
QA Engineer
Sencha Test API
• Component/Element future wrapper
- ST.grid()
- ST.component()
- ST.element()
• Calls that wait for the component to be in a certain state
- .rendered()
- .disabled()
• Actions
- .click()
- .type(’mytext')
Developer
QA Engineer
Sencha Test API
• Assertions
- .expect('value').toBe('test-username')
- .expect('innerHTML').toContain('my-container')
- .expect('visibility').toBe('visible')
- .get('height') .and(function () {
expect(this.future.data.height).toBe(200);
}))
Developer
QA Engineer
Sencha Test API
• New features for WebDriver tests:
- ST.execute
- ST.navigate
Developer
QA Engineer
Event Recorder
• Faster test creation
• Improved element locator strategies lets to avoiding the use of dynamic IDs
• Choosing component locator strategy
• Editing values in recorded script
QA Engineer
Visual Screen Comparison
• Visual comparison of application screenshots generated in different browsers:
- ST.screenshot
• Fixed screen size settings for visual testing
QA Engineer
Code Coverage
• Build-in integration with Istanbul
• Detailed report for your application code
QA Engineer
Selenium server and Browser farms
• Integration with browser farms
• Integration with Selenium WebDriver
• Embedded Selenium Server and Browser (Chrome)
DevOps Engineer
Archive Server
• Review and Analyze Test Results from Multiple Runs
• Remote and Local Archive Servers
DevOps Engineer
Continuous Integration CI
• Integration with Jenkins and Team City
• Command Line Interface (CLI)
• Store results from multiple Continuous Integration (CI) runs
DevOps Engineer
Sencha Test 2.1 features
Sencha Test Inspector
• Find stable and meaningful component locators
• Paste locators directly into the test code or create page object
Developer
QA Engineer
Sencha Test Page Object
• Clean separation between test code and component locators
• Single repository for the components on the page
• Improve long term maintainability
Developer
QA Engineer
External libraries
• Use any NodeJS module or JS library
• Add a library to the “libs” folder and require it in test code
- connect to DB
- connect to Excel
- perform web service call
- etc.
Developer
QA Engineer
Local Archive Server
• No need to setup CI process
• No need to use command line
• Store and analyze manual test runs locally
DevOps Engineer
ALM Integration
• Publish bugs directly to the JIRA project
• Ignore false negatives
• Review the latest bug status
QA Engineer
Sencha Test 2.2 features
DOM Tree in Inspector
• Identify Ext JS components and DOM elements
• Use DOM element when component property in unavailable
Developer
QA Engineer
Tests Code Visualization
• Tree view for tests
• Generate new tests, indicate asynchronous tests, set pre- and post-
conditions using UI elements
QA Engineer
Support for ExtReact
• Full support for testing ExtReact applications
• Use Inspector to find stable and meaningful locators and generate Page
Objects
Developer
QA Engineer
Demo