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
Sencha Test
http://sencha.com/products/test/
Demo
Sencha Roadshow 2017: What's New in Sencha Test

Sencha Roadshow 2017: What's New in Sencha Test

  • 2.
    What’s new inSencha Test? Olga Petrova
  • 3.
    Agenda • Sencha TestRoles • Sencha Test 2.0 features • Sencha Test 2.1 features • Sencha Test 2.2 features • Demo
  • 4.
  • 5.
    Roles • Developer • QAEngineer • DevOps Engineer
  • 6.
  • 7.
    Tom’s dreams • Lessbugs • Easy refactoring • Better code understanding • Better code design
  • 8.
    Tom’s problems • Applicationcomplexity • Asynchronous nature • Hard to mock • Short release time
  • 9.
  • 10.
    Alice’s dreams • Easytest writing automation • Good code coverage • Defense against regressions
  • 11.
    Alice’s problems • Uncontrollableenvironment • Application complexity • Asynchronous nature • Short release time
  • 12.
  • 13.
    Steve’s dreams • Moreconfidence in the code, less fear about releases • Easy releases automation • Be able to release at any time
  • 14.
    Steve’s problems • Integrationof automated tests into CI environment • Short release time
  • 15.
  • 16.
    Runtime environment In-Browser • Single-pageapplication • 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
  • 17.
    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
  • 18.
    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
  • 19.
    Sencha Test API •New features for WebDriver tests: - ST.execute - ST.navigate Developer QA Engineer
  • 20.
    Event Recorder • Fastertest creation • Improved element locator strategies lets to avoiding the use of dynamic IDs • Choosing component locator strategy • Editing values in recorded script QA Engineer
  • 21.
    Visual Screen Comparison •Visual comparison of application screenshots generated in different browsers: - ST.screenshot • Fixed screen size settings for visual testing QA Engineer
  • 22.
    Code Coverage • Build-inintegration with Istanbul • Detailed report for your application code QA Engineer
  • 23.
    Selenium server andBrowser farms • Integration with browser farms • Integration with Selenium WebDriver • Embedded Selenium Server and Browser (Chrome) DevOps Engineer
  • 24.
    Archive Server • Reviewand Analyze Test Results from Multiple Runs • Remote and Local Archive Servers DevOps Engineer
  • 25.
    Continuous Integration CI •Integration with Jenkins and Team City • Command Line Interface (CLI) • Store results from multiple Continuous Integration (CI) runs DevOps Engineer
  • 26.
  • 27.
    Sencha Test Inspector •Find stable and meaningful component locators • Paste locators directly into the test code or create page object Developer QA Engineer
  • 28.
    Sencha Test PageObject • Clean separation between test code and component locators • Single repository for the components on the page • Improve long term maintainability Developer QA Engineer
  • 29.
    External libraries • Useany 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
  • 30.
    Local Archive Server •No need to setup CI process • No need to use command line • Store and analyze manual test runs locally DevOps Engineer
  • 31.
    ALM Integration • Publishbugs directly to the JIRA project • Ignore false negatives • Review the latest bug status QA Engineer
  • 32.
  • 33.
    DOM Tree inInspector • Identify Ext JS components and DOM elements • Use DOM element when component property in unavailable Developer QA Engineer
  • 34.
    Tests Code Visualization •Tree view for tests • Generate new tests, indicate asynchronous tests, set pre- and post- conditions using UI elements QA Engineer
  • 35.
    Support for ExtReact •Full support for testing ExtReact applications • Use Inspector to find stable and meaningful locators and generate Page Objects Developer QA Engineer
  • 36.
  • 37.