Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Rich Internet Applications (RIA) Web Testing


Published on

Rich Internet Applications (RIA) Web Testing

Published in: Technology
  • Be the first to comment

  • Be the first to like this

Rich Internet Applications (RIA) Web Testing

  1. 1. Automating and Testing Advanced Web Technologies
  2. 2. Advanced Web Technologies <ul><li>Typical advanced (non-HTML) technologies include: </li></ul><ul><li>AJAX </li></ul><ul><li>Sun Java Applets </li></ul><ul><li>Adobe Flash Applets </li></ul><ul><li>MicroSoft Silverlight </li></ul><ul><li>ActiveX Elements </li></ul><ul><li>One Solution: DirectScreen </li></ul><ul><li>DirectScreen simulates real user mouse and keyboard activity. </li></ul><ul><li>Works with every advanced technology. </li></ul>
  3. 3. Sending text <ul><li>The DirectScreen CLICK command can send keystrokes to the web browser via the CONTENT= attribute: In addition to regular text, it can send special keys: ENTER       {ENTER} TAB      {TAB} DEL      {DEL} BACKSPACE   {BACKSPACE} LEFT      {LEFT} RIGHT      {RIGHT} Example: DS CMD=CLICK X=200 Y=263 CONTENT=&quot;hello{ENTER}&quot; </li></ul>
  4. 4. Winclick Text Handling Screenshot
  5. 5. Comparison CLICK & DirectScreen CMD=CLICK <ul><li>The DirectScreen commands operate on the visible part of the web page only , just a like human would do with a mouse. Thus DS CMD=CLICK X=1 Y= 400 will always click on the specific part of the browser window . If the web page is scrolled, the click hits another part of the web page.   </li></ul><ul><li>The HTML based CLICK commands operates on the complete browser web page (HTML). So CLICK X=1 Y= 980 will always click on the specific HTML element at this position of the page regardless whether the element is currently visible in the browser window or not. So whether or not the web page is scrolled, a specific X/Y combination always hits the same part of the web page.   </li></ul><ul><li>HTML based clicks can be used to position a page correctly for DirectScreen! </li></ul>What is the difference between DirectScreen (DS) and the other TAG/CLICK commands?
  6. 6. Scroll into View Screenshot - Start
  7. 7. Scroll into View Screenshot – Page Scrolled
  8. 8. Scroll into View Screenshot – Text Entered
  9. 9. Scroll into View - Macro VERSION BUILD=6120323 TAB T=1 TAB CLOSEALLOTHERS URL GOTO= WAIT SECONDS=2 SIZE X=559 Y=465 TAG POS=1 TYPE=FONT ATTR=TXT:Pure<SP>Java<SP>Chat<SP>Server DS CMD=CLICK X=203 Y=383 CONTENT= DS CMD=CLICK X=203 Y=383 CONTENT=It<SP>works! WAIT SECONDS=2 Record a TAG command below chat window.
  10. 10. Simulate Mouse Over Events DirectScreen automatically records and simulates mouse-over events: DS CMD=MOVETO X=200 Y=263  You can use this &quot;mouse over&quot; event to automate Javascript based menus. The same technique applies to mouseover and mousemove events in Java, Silverlight or Flash/Flex applets.
  11. 11. Automating and Testing Flash Applets <ul><li>DirectScreen can also be used to automate web pages with Flash-Applets. </li></ul><ul><li>You can also send text to Flash applets </li></ul><ul><li>Typical problem; Flash applets may take an unknown time to load and initialize, but do not signal their status to “outside world”: </li></ul><ul><ul><li>Solution 1: Use WAIT SECONDS=<x> statement. Can be inserted automatically by using “Record at original speed” setting. Works, but can not be used for performance testing due to artificial delay. </li></ul></ul><ul><ul><li>Solution 2 (Better): Use IMAGESEARCH to check if applet is loaded completely. Works well for performance testing Flash applets. </li></ul></ul>
  12. 12. Demo DirectScreen <ul><li>Real world examples: </li></ul><ul><li>Javascript Event Mouseover: http:// </li></ul><ul><li>Java chat: http:// </li></ul><ul><li>Flash chat: </li></ul><ul><li>Java: / </li></ul><ul><li>File upload: </li></ul><ul><li>Test pages at </li></ul><ul><li> </li></ul><ul><li> </li></ul><ul><li> </li></ul>