GUI Testing 2015-01-30, NovaTEC // LE.

Slides:



Advertisements
Similar presentations
15 Copyright © 2005, Oracle. All rights reserved. Adding User Interface Components and Event Handling.
Advertisements

Apache Struts Technology
Google Confidential and Proprietary Succeeding with Behavior Driven Development (BDD) Testing and Automation Seattle Area Software Quality Assurance Group.
Integrating SOA and the Application Development Framework Shaun O’Brien Principal Product Manager – Oracle JDeveloper / ADF.
Internet Technologies 1 Master of Information System Management Java Server Faces Model/View/Controller Design Pattern for Web Development Slides.
Object-Oriented Analysis and Design
Hello Vaadin! CS 3130 Summer 2015.
Session-01. Layers Struts 2 Framework The struts 2 framework is used to develop MVC-based web application. Struts 1.0 was released in June The.
Web based testing: Chucklist and Selenium
BY: KYLE ROGAHN COMPUTER SCIENCE SEMINAR UW PLATTEVILLE 4/3/2012 Web Browser Automation - Geb.
Development of mobile applications using PhoneGap and HTML 5
Test Automation Best Practices
Who am I? ● Catalin Comanici ● QA for 10 years, doing test automation for about 6 years ● fun guy and rock star wannabe.
Definition from Wikipedia.  The Prototype JavaScript Framework  implemented as a single file of JavaScript code  named prototype.js (
UNIT-V The MVC architecture and Struts Framework.
MAT Inc. Ephphatha Studio …making your applications bepened Introducing… You need MS PowerPoint 2000 or later version for animation effects.
Tony Nguyen.  Architecture  Advantages  Disadvantages  Setup JSF Environment  JSF & Database  Conclusion  Demo.
ExtWebDriver Open Source Project Daniel Koo Latha Nagaraj Bryan Robbins 04/23/2014.
Fall, Privacy&Security - Virginia Tech – Computer Science Click to edit Master title style Design Extensions to Google+ CS6204 Privacy and Security.
© 2012 LogiGear Corporation. All Rights Reserved Robot framework.
Eric Westfall – Indiana University Jeremy Hanson – Iowa State University Building Applications with the KNS.
Todd Snyder Development Team Lead Infragistics Experience Design Group.
Basic Struts Architecture Client Server Database Request Response Control View Model Server Struts Framework.
© 2006 IBM Corporation IBM WebSphere Portlet Factory Architecture.
JSF Introduction Copyright © Liferay, Inc. All Rights Reserved. No material may be reproduced electronically or in print without written permission.
Building Applications with the KNS. The History of the KNS KFS spent a large amount of development time up front, using the best talent from each of the.
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
And the PageObject Design Model.  How Selenium Remote Control works  You launch a server on your test machine.  Your tests connect to that server via.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
Automated Smoke Testing on the JVM with Geb João SILVA (GS-AIS-EB) 1st Forum 29th of September, 2015 e-Business Section AUTOMATED SMOKE.
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Forms with Spring MVC Handling Form.
JSF Framework Java Server Faces Presented by Songkran Totiya (6/10/2014)
.  A multi layer architecture powered by Spring Framework, ExtJS, Spring Security and Hibernate.  Taken advantage of Spring’s multi layer injection.
Introduction to Java Beans CIS 421 Web-based Java Programming.
Chính phủ điện tử TS. Phạm Văn Tính Khoa CNTT, ĐH Nông Lâm TP.HCM
© 2006 Intland Software1 Aron Gombas Architect, Intland Software Extending & customizing CodeBeamer.
Test Automation For Web-Based Applications Portnov Computer School Presenter: Ellie Skobel.
Lec 19 Web Driver 1 CSCE 747 Fall 2013 CSCE 747 Software Testing and Quality Assurance Lecture 19 Selenium Web Driver 11/4/
Implementation Basics in C# code Minimal C++ code Application logic in Java code.
Presentation.
Database Systems: Design, Implementation, and Management Eighth Edition Chapter 14 Database Connectivity and Web Technologies.
© 2012 LogiGear Corporation. All Rights Reserved FitNesseFitNesse Authors: Nghia Pham 1.
Tata Consultancy Services1 WebDriver Basics Submitted By : Akhil K Gagan Deep Singh Naveenrajha H M Poornachandra Meduri Shubham Utsav Sunil Kumar G Vivek.
Testing Your Alfresco Add-ons Michael Suzuki Software Engineer.
Apache Struts Technology A MVC Framework for Java Web Applications.
Test Automation For Web-Based Applications Portnov Computer School Presenter: Ellie Skobel.
Test Java EE applications with Arquillian Ivan St. Ivanov.
Zhuhai Test Automation Overview Ryan Li Team lead of test automation Foglight QA.
1 Developing for Test Automation and Accessibility Using Programmatic Access to the UI Thomas Logan FUN307 Program Manager Microsoft Corporation.
Convert generic gUSE Portal into a science gateway Akos Balasko.
Testing Your Alfresco Add-ons Michael Suzuki Software Engineer.
What is Selenium Web Driver? - Selenium Training Collection.
JRA2: Acceptance Testing senarious
Automated UI Testing with Seleno.
Automating GUI testing with Selenium WebDriver, Java and Eclipse
Introduction to JUnit CS 4501 / 6501 Software Testing
Testing Your Alfresco Add-ons
 Sympatico is also known as Bell or the bell was orignally known as sympatico.  Sympatico is a company of Canada.  Sympatico or Bell is basically.
Software Quality Assurance
Atit Leelasuksan Rungroj Maipradit
Selenium Testing Training
Haden Jackson-Robbins
Selenium HP Web Test Tool Training
Introduction to JUnit CS 4501 / 6501 Software Testing
Powerschool for Parents
Web UI testing automation and Selenium
Integration (API) testing with SoapUI
Chengyu Sun California State University, Los Angeles
Test Automation For Web-Based Applications
Plug-In Architecture Pattern
Presentation transcript:

GUI Testing 2015-01-30, NovaTEC // LE

Why test the GUI?

Why test the GUI? User Interface API Unit-Tests Component-Tests Integration-Tests System-Test Business Persistence 30.01.2015 Web-UI Testing mit testIT - WebTester

Why test the GUI? The User Interface … … is part of the application. … is an entry point into the system. … is what the customer perceives as THE „application“. … contains it‘s own business logic. 30.01.2015 Web-UI Testing mit testIT - WebTester

Different Kinds of GUI-Tests

Agile Testing Pyramid Unit Tests Unit & Component Tests Automated Manual, Exploratory Testing Automated UI-Tests Service Layer Tests (API-Layer) Unit & Component Tests Detail Complexity / Cost Technology Business Unit Tests Quantity 30.01.2015 Web-UI Testing mit testIT - WebTester

GUI-Testing Pyramid Unit Tests UI System Tests UI Integration Tests UI “Unit” Tests Unit Tests 30.01.2015 Web-UI Testing mit testIT - WebTester

Different Kinds of GUI-Tests UI „Unit“ UI Integration UI System UI Mock-API API Business Persistence 30.01.2015 Web-UI Testing mit testIT - WebTester

Page Object Pattern

Scenario: Login login.html main.html Username: Password: testuser ******** LOGIN Username: Password: Hello testuser! 30.01.2015 Web-UI Testing mit testIT - WebTester

Scenario: Login with default Selenium code (and no optimization) @Test public void testValidLogin () { webDriver.findElement(By.id("username")).sendKeys("testuser"); webDriver.findElement(By.id("password")).sendKeys("123456"); webDriver.findElement(By.id("login")).click(); String headline = webDriver.findElement(By.id("headline")).getText(); assertThat(headline, is("Hello testuser!")); } public void testInvalidLogin () { webDriver.findElement(By.id("username")).sendKeys(„foo"); String errorMessage = webDriver.findElement (By.id("errorMessage")).getText(); assertThat(errorMessage, is("Wrong Credentials!")); 30.01.2015 Web-UI Testing mit testIT - WebTester

Scenario: Login login.html main.html Username: Password: testuser ******** LOGIN Username: Password: Hello testuser! LoginPage.java MainPage.java 30.01.2015 Web-UI Testing mit testIT - WebTester

Scenario: Login with Page Objects @Test public void testValidLogin () { MainPage mainPage = loginPage.login("testuser", "123456"); assertThat(mainPage.getWelcomeMessage(), is("Hello testuser!")); } public void testInvalidLogin () { loginPage = loginPage.loginExpectingError("foo", "123456"); assertThat(loginPage.getErrorMessage(), is("Wrong Credentials!")); 30.01.2015 Web-UI Testing mit testIT - WebTester

Different kinds of Page Object methods Hello testuser! testuser ******** LOGIN Username: Password: Workflows Actions Navigations Information Getter 30.01.2015 Web-UI Testing mit testIT - WebTester

Page Object Pattern: Actions public LoginPage setUsername(String value){ username.sendKeys(value); return this; } public LoginPage setPassword(String value){ password.sendKeys(value); 30.01.2015 Web-UI Testing mit testIT - WebTester

Page Object Pattern: Navigations public MainPage clickLogin(){ login.click(); return createPageObject(MainPage.class); } public LoginPage clickLoginExpectingError(){ return createPageObject(LoginPage.class); 30.01.2015 Web-UI Testing mit testIT - WebTester

Page Object Pattern: Workflows public MainPage login(String username, String password){ return setUsername(username).setPassword(password) .clickLogin(); } public LoginPage loginExpectingError(String username, String password){ .clickLoginExpectingError(); 30.01.2015 Web-UI Testing mit testIT - WebTester

Page Object Pattern: Information Getter public String getErrorMessage () { return errorMessage.getText(); } public List<String> getErrorMessages () { List<String> returnValue = new LinkedList<>(); for(ErrorMessage message : errorMessages){ returnValue.add(message.getText()); return returnValue; 30.01.2015 Web-UI Testing mit testIT - WebTester

Page Object Pattern With the help of the Page Object Pattern… … GUI-Tests are maintainable. … new tests can be implemented with ease and speed. … tests focus on the “WHAT” not on the “HOW”. 30.01.2015 Web-UI Testing mit testIT - WebTester

Web-Tester

What is testIT WebTester? Best Practices from ears of actual project experience Page Object Pattern as a framework Efficiency-oriented Extendable in order to adapt to different functional and technological project contexts 30.01.2015 Web-UI Testing mit testIT - WebTester

What is testIT WebTester? Testcode WebTester Selenium Browser 30.01.2015 Web-UI Testing mit testIT - WebTester

WebTester Feature: Typesave API (Functional Classes) 30.01.2015 Web-UI Testing mit testIT - WebTester

WebTester Feature: Event System click() EventListener EventRegistry 30.01.2015 Web-UI Testing mit testIT - WebTester

WebTester Feature: Extendibility You can … … call the Selenium API directly if any feature is missing. … create custom Page Objects for project specific components and widgets. … create custom Event Listeners, f.e. to handle exceptions. … create custom Browser Factories in order to customize the Web Driver to project specifications. 30.01.2015 Web-UI Testing mit testIT - WebTester

The END 2015-01-30, NovaTEC // LE