Igor Gershovich Connected Testing, Inc. www.connectedtesting.com.

Slides:



Advertisements
Similar presentations
1/7 ITApplications XML Module Session 8: Introduction to Programming with XML.
Advertisements

AJAX Technologies KAUNAS UNIVERSITY OF TECHNOLOGY MODULE: INFORMATION TECHNOLOGY GROUP: IF - 4/9 GROUP: VENTILIATORIAI
Project 1 Introduction to HTML.
© 2007 IBM Corporation IBM Emerging Technologies Enabling an Accessible Web 2.0 Becky Gibson Web Accessibility Architect.
Google Web Toolkit Dudeanu Ermoghen Ib ă nescu Diana Melinte Laurenţiu-Ionuţ Petrişor Ionuţ C ă t ă lin.
Do We Really Need Rich-Interface Technologies? Yifan Zhang
AJAX Presented by: Dickson Fu Dimas Ariawan Niels Andreassen Ryan Dial Jordan Nielson CMPUT 410 University of Alberta 2006.
Cloud Computing Lecture #7 Introduction to Ajax Jimmy Lin The iSchool University of Maryland Wednesday, October 15, 2008 This work is licensed under a.
Does Ajax suck? CS575 Spring 2007 Chanwit Suebsureekul.
Web 2.0 with AJAX Students : LASC Ioana KELEMEN Csilla POP Dan Adrian CIOBANU Dumitru Daniel Project leader : Ahmed RHIAT.
Web Programming Language Dr. Ken Cosh Week 1 (Introduction)
HTML 1 Introduction to HTML. 2 Objectives Describe the Internet and its associated key terms Describe the World Wide Web and its associated key terms.
© 2006 by IBM 1 How to use Eclipse to Build Rich Internet Applications With PHP and AJAX Phil Berkland IBM Software Group Emerging.
XML on the Web: is it still relevant? O'Neil D. Delpratt.
Pengantar Teknologi Internet W15: Advanced Scripting.
Prof. James A. Landay University of Washington Spring 2008 Web Interface Design, Prototyping, and Implementation Rich Internet Applications: AJAX, Server.
INTRODUCTION TO DHTML. TOPICS TO BE DISCUSSED……….  Introduction Introduction  UsesUses  ComponentsComponents  Difference between HTML and DHTMLDifference.
Copyright © The OWASP Foundation Permission is granted to copy, distribute and/or modify this document under the terms of the OWASP License. The OWASP.
1 Ajax. 2 What’s Ajax? AJAX is a combination of a few technologies that has come together in the past few years AJAX used to be an acronym for Asynchronous.
CS 4720 RESTfulness and AJAX CS 4720 – Web & Mobile Systems.
Ruth Betcher Ruth Christie
ASP.NET + Ajax Jesper Tørresø ITNET2 F08. Ajax Ajax (Asynchronous JavaScript and XML) A group of interrelated web development techniques used for creating.
Yahoo! User Interface (YUI) Library Natly Mekdara.
 2008 Pearson Education, Inc. All rights reserved Ajax-Enabled Rich Internet Applications.
1 Test Automation For Web-Based Applications Selenium HP Web Test Tool Training Portnov Computer School.
Selenium Web Test Tool Training Using Ruby Language Discover the automating power of Selenium Kavin School Kavin School Presents: Presented by: Kangeyan.
Some essentials difference syntax and concept for jquery developers Roohullah Afzali
Web Programming: Client/Server Applications Server sends the web pages to the client. –built into Visual Studio for development purposes Client displays.
Matrix Mapping Tool Sam Gross Internship at Virtual Technology Corporation.
06/10/2015AJAX 1. 2 Introduction All material from AJAX – what is it? Traditional web pages and operation Examples of AJAX use Creating.
HTML, XHTML, and CSS Sixth Edition Chapter 1 Introduction to HTML, XHTML, and CSS.
Instructor, Dr. Khalili Bahram Jeevan Kumar Gogineni.
Client side web programming Introduction Jaana Holvikivi, DSc. School of ICT.
The Web Architecture and ASP.NET. Slide 2 Review of the Web (1) It began with HTTP and HTML, which delivers static Web pages to browsers which would render.
Silverlight Technology. Table of Contents 1.What is Silverlight Technology? 2.Silverlight Overview. 2.1 How it works 2.2 Silverlight development tools.
Weekend MS CS Program Internet and Web Technologies COT 5930 Web Project Development - Ajax Dr. Roy Levow, Associate Chair & Professor
Web Design and Development for E-Business By Jensen J. Zhao Copyright 2003 Prentice Hall, Inc. Web Design and Development for E-Business Jensen J. Zhao.
Ventsislav Popov Crossroad Ltd.. 1. What is AJAX?  AJAX Concept  ASP.NET AJAX Framework 2. ASP.NET AJAX Server Controls  ScriptManager, UpdatePanel.
Introduction to Programming the WWW I CMSC Summer 2003 Lecture 7.
Building Rich Web Applications with Ajax Linda Dailey Paulson IEEE – Computer, October 05 (Vol.38, No.10) Presented by Jingming Zhang.
WebSphere Portal Technical Conference U.S Creating Rich Internet (AJAX) Applications with WebSphere Portlet Factory.
Telerik Software Academy ASP.NET Web Forms Telerik Software Academy ASP.NET Web Forms.
Lecture 9: AJAX, Javascript review..  AJAX  Synchronous vs. asynchronous browsing.  Refreshing only “part of a page” from a URL.  Frameworks: Prototype,
AJAX Compiled from “AJAX Programming” [Sang Shin] (Asynchronous JavaScript and XML)
Asynchronous Javascript And XML AJAX : an introduction UFCEUS-20-2 : Web Programming.
Session 1 Chapter 1 - Introduction to Web Development ITI 133: HTML5 Desktop and Mobile Level I
INT222 - Internet Fundamentals Shi, Yue (Sunny) Office: T2095 SENECA COLLEGE.
Introduction and Principles Web Server Scripting.
 Web pages originally static  Page is delivered exactly as stored on server  Same information displayed for all users, from all contexts  Dynamic.
HTML Concepts and Techniques Fifth Edition Chapter 1 Introduction to HTML.
Web 2.0: Concepts and Applications 11 The Web Becomes 2.0.
Event Handling & AJAX IT210 Web Systems. Question How do we enable users to dynamically interact with a website? Answer: Use mouse and keyboard to trigger.
AJAX – Asynchronous JavaScript And XML By Kranthi Kiran Nuthi CIS 764 Kansas State University.
Web Technology (NCS-504) Prepared By Mr. Abhishek Kesharwani Assistant Professor,UCER Naini,Allahabad.
 AJAX technology  Rich User Experience  Characteristics  Real live examples  JavaScript and AJAX  Web application workflow model – synchronous vs.
Overview Web Technologies Computing Science Thompson Rivers University.
Ajax! Ajax Programming Ajax! Ajax Programming. Ajax! Ajax Programming Take a look at a typical desktop application (Spreadsheet app, etc.) The program.
©2010 Hewlett-Packard Development Company, L.P. The information contained herein is subject to change without notice Automating Web 2.0 and Rich Internet.
Automating Web 2.0 AJAX-based applications with QTP. Fun with GWT apps. Igor Gershovich Connected Testing, Inc.
Open Solutions for a Changing World™ Eddy Kleinjan Copyright 2005, Data Access WordwideNew Techniques for Building Web Applications June 6-9, 2005 Key.
Technologies For Creating Rich Internet Applications Presenter's name
INNOV-16: Rich User Interface for the Web???? AJAX to the Rescue Ken Wilner VP of Technology Progress Software.
Objective % Select and utilize tools to design and develop websites.
JavaScript and Ajax (Ajax Tutorial)
Chapter 1 Introduction to HTML.
Working with Client-Side Scripting
Asynchronous Java script And XML Technology
Objective % Select and utilize tools to design and develop websites.
Rich Internet Application Frameworks: a Comparison of Flex, JavaFX, and Silverlight Hi, I am Minseung Kim, the topic that I am going to talk about is Rich.
AJAX.
Presentation transcript:

Igor Gershovich Connected Testing, Inc.

 Often feature a rich, user-friendly interface based Rich Internet Application (RIA) technologies such as Ajax, Flex, Silverlight.  Are Web Applications with some features of desktop applications  Communicate with server applications, and use a plug-in or browser technologies in addition to or instead of HTML and CSS.

 Adobe Flash/Flex  Google Web Toolkit (GWT)  Microsoft Silverlight  dojo  Curl  jQuery  And 200 or 300 others

 Most of Rich Internet are based on AJAX (Asynchronous JavaScript + XML) technology  Microsoft Silverlight and Adobe Flex have proprietary runtime technologies

 AJAX is a technique that combines and exploits some long-standing Web technologies: ◦ Using XHTML and Cascading Style Sheets (CSS) for structure and presentation. ◦ Displaying and manipulating pages using the Document Object Model (DOM). ◦ Using the browser's XMLHttpRequest object to transfer data between the client and the server. ◦ Using XML as the format for the data flowing between the client and the server. ◦ Using JavaScript to dynamically display and interact with all of the above.

 AJAX allows the server to update the current Web page as opposed to sending a new page  The single page interface increases user interactivity

 Some search engines are not equipped for AJAX-based applications  Can be too much context on one page  Bookmarks, Browser’s Back or Forward navigation may not function as expected

Clicking on Adelie Information From Server

Internet Server Client 4. Client processes XML Doc using JScript and updates Web page 3. Server sends HTTP Response With XML Data 1. Client creates XmlHttpRequest object using JScript then sends HTTP request 2. Server processes the HTTP request

 Google Web Toolkit (GWT) is a framework for Java Developers to develop AJAX Web Applications  There are numerous widget libraries available for GWT

 The developer uses Google Web Toolkit (GWT) to write AJAX front-end in the Java programming language  When it is ready to deploy, GWT compiles Java source code into optimized, standalone JavaScript files.

 Custom or 3 rd party Web controls  No unique object properties  Synchronization for AJAX  Cascading Style Sheets (CSS)  No common design framework between GWT applications  Can’t view HTML using View  Source

 It is a Microsoft add-on for IE6 and IE7 that aimed to aid in design and debugging of web pages. It is included in IE8.  It allows to view DOM and CSS structures  Firebug is a similar tool for Firefox

 Automated tools “see” all the objects in CSS- based applications, even if objects are hidden  CSS uses “display” property to hide parts of HTML page  To verify if object or part of HTML page is visible use “Style.display” and “CurrentStyle.display” properties CurrentStyle.Display = “block” ‘visible CurrentStyle.Display = “none” ‘not visible

 By default GWT doesn’t generate the useful web object properties, like “html id” or “name” for object recognition mechanism of GUI test tools  It is highly recommended to work with development team to get a unique static value assigned to web objects

- WebElements (children) - Image - WebEdit - WebElement (parent)

Tree Grid

Browser’s Status Bar isn’t relevant for GWT applications since page is not getting reloaded  Verify that Object exist If.WeEdit(“”).Exist(seconds) …  Page sync – count number of objects on the page and verify that count doesn’t changed several times in a row  Use AJAX “Please Wait” Wheel object or similar objects  Dynamic Object contents – sync on object properties Browser("").WebList("").WaitProperty,"items count", micGreaterThanOrEqual(5) More on this topic (QTP info):

Automating GWT- based applications with HP QTP

What people really want to ask: Does QTP work with custom objects from various JavaScript toolkits?

 There are 2 ways to work with custom objects: ◦ QTP Web-Extensibility add-in. It enables you to develop custom support for third-party and custom Web controls that are not supported out-of-the- box ◦ Traditional approach – coding (Functions/Classes)

 To manipulate these objects we need to define custom methods and properties  Here are excellent articles on this topic: ◦ AJAX and JavaScript tools – Web Extensibility and Traditional approach examples for custom grids ◦ “Web Extensibility Lesson – Building a toolkit Support” for combobox at

Dialog box Included in Object Hierarchy. Object Repository/Descriptive Programming approach Dialog box excluded from Object Hierarchy Dialog box Included in Object Hierarchy. Object Repository only approach. Btn_Tags object moved Manually under Dialog box in OR hierarchy

“Out of the box” support for the most common Web 2.0 technologies, including: -Silverlight Ajax toolkits: -ASP.NET AJAX (from Microsoft) -GWT (from Google) -YUI (from Yahoo) -Dojo (open source) New Extensibility Accelerator (EA) for Functional Testing to provide fast and easy FT add-in extensibility

 It is very advanced – you need to know JavaScript and XML  Troubleshooting is difficult  Distribution/Redistribution challenges – Custom Add-in needs to be install/reinstall on each test box  Time Consuming

 Setting.WebPackage("ReplayType") ◦ 1 - Runs mouse operations using browser events. ◦ 2 - Runs mouse operations using the mouse. Example enabling “Save” button: Setting.WebPackage("ReplayType") = 2 ‘ next line will enable “Save” button.WebList("class:=gwt-ListBox").Select “First” Setting.WebPackage("ReplayType") = 1 If.WebButton("Save").GetRoProperty(“disabled”) Then …. Another use of this technique – getting Tooltips from GWT objects

 Test Automation for Web 2.0 RIA applications is more challenging than automating traditional Web applications  Cooperation with development team is essential for automation success  RIA applications aren’t look alike because of variety of widget sets can be used for development  Advanced test automation expertise is required

 Rich Seeley - “How to sort out Ajax and RIA frameworks”  Paul Tuohy - “What Is AJAX?”   Wikipedia     est/docs/html/features/gwt/gxt.htm est/docs/html/features/gwt/gxt.htm

Company: Connected Testing, Inc. Phone: Website: