Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Improving Web Application Quality - SenchaCon Roadshow 2017

Improving Web Application Quality - SenchaCon Roadshow 2017

Learn how you can improve the quality of your Ext JS applications using Sencha Test. We’ll demonstrate how you can take advantage of the new Selenium WebDriver integration to test both single page and multi-page applications. We will also demonstrate how you can automate your testing efforts by utilizing our integrations with CI (continuous integration) environments and cloud-based browser farms.

Speaker: Olga Petrova

Sencha

June 06, 2017
Tweet

More Decks by Sencha

Other Decks in Technology

Transcript

  1. Agenda • Sencha Test for - Developer - QA Engineer

    - DevOps Engineer • Sencha Test features • Demo
  2. Tom’s dreams • Less bugs • Easy refactoring • Better

    code understanding • Better code design
  3. 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
  4. 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')
  5. 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); }))
  6. Sencha Test Inspector • find component locators • paste locators

    directly into the test code or create page object
  7. Sencha Test Page Object • clean separation between test code

    and component locators • single repository for the components on the page
  8. Alice’s dreams • Easy test writing automation • Good code

    coverage • Defense against regressions
  9. Runtime environment Web Driver • Multi-page application • Run tests

    outside of the browser using WebDriver • Test any web applications
  10. 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
  11. Visual Screen Comparison • Visual comparison of application screenshots generated

    in different browsers: - ST.screenshot • Fixed screen size settings for visual testing
  12. Steve’s dreams • More confidence in the code, less fear

    about releases • Easy releases automation • Be able to release at any time
  13. Selenium server and Browser farms • Integration with browser farms

    • Integration with Selenium WebDriver • Embedded Selenium Server and Browser (Chrome)
  14. Archive Server • Review and Analyze Test Results from Multiple

    Runs • Remote and Local Archive Servers
  15. ALM Integration • Publish bugs directly to the JIRA project

    • Ignore false negatives • Review the latest bug status
  16. Continuous Integration CI • Integration with Jenkins and Team City

    • Command Line Interface (CLI) • Store results from multiple Continuous Integration (CI) runs
  17. Continuous Integration • True automation - Let the machine do

    the heavy lifting • Run Tests at every stage • Integrate with build systems • Run tests on multiple environments - QA - Staging - Production • Leverage browser farms
  18. What’s in Sencha Test 2.1? • Inspector • Page Object

    • External Libraries • Local Archive Server • Generation of screenshots by running tests from Sencha Studio • ALM Integration