Skip to content

Latest commit

 

History

History
299 lines (189 loc) · 11.6 KB

WebsitesToScript.md

File metadata and controls

299 lines (189 loc) · 11.6 KB

This page describes the websites that we think would be interesting to script.

Apps being tested by scripts are of three types:

A). Challenge pages are presented as having known difficulties to tools for automation. We script them to experience insight into how to script on real sites, so that we can script real sites faster and better, while we are not in emergency mode.

B). Demo pages containing a generic implementation of frameworks used to develop real apps. We script them to provide a "heads up" on difficulties that might be encountered in real apps built with each framework listed here.

C). Real Famous websites with unique features that we should be able to control in TruClient scripts. So let's try it.

Scripts (and explanation of scripts) for each challenge or demo is in a separate folder in this repo. Folder names are in brackets mentioned below.

CAUTION: Scripts pointing to websites here should not run with more than a single user at a time.


Challenge apps

MLT1 = MyLoadTest Challenge

http://www.myloadtest.com/loadrunner-correlation-exercise/ was developed by LoadRunner master Stuart Moncrieff (of Melbourne, Australia) for use with LoadRunner C-language scripting. This was before TruClient became available.

MyLoadTest basic AJAX application

http://www.myloadtest.com/scripting-exercise-a-basic-ajax-application/ from 2006 uses Google Suggest at https://www.google.com/webhp?complete=1&hl=en&gws_rd=ssl.

Whatever one types in the text field in the middle, Google now puts users at the address bar.

Can TruClient handle this?

See MLT1_Search_Google_TCFF1202_v01

MyLoadTest Unique Usernames Challenge

http://www.myloadtest.com/scripting-exercise-unique-usernames/


TIH1 = The Internet on Herokuapp Challenge

http://the-internet.herokuapp.com/ is a website constructed by a Selenium functional test automation guru Dave Haeffner (http://davehaeffner.com).

David uses the 35 items on the website to provide the basis for describing Selenium coding tips such as http://elementalselenium.com/tips/45-checkboxes.

Source code used to build the website is at https://github.com/tourdedave/the-interne which contains instructions for creating a local server

WT1 = Web Tours (comes with LoadRunner)

MedRec (Medical Records) simulates an independent, centralized medical record management system for patients, doctors (physicians), and administrators to manage patient data.

The program UI is written in Java Enterprise Edition (J2EE) enterprise Java Beans within a Spring framework running on Oracle WebLogic server "middleware" software.

Oracle acquired got MedRec as part of its purchase of BEA and its WebLogic server software.

The installer for MedRec is within the OracleATS (Application Test Suite) download.


# Demo JavaScript Pages/apps

The TruClient scripting technology associated with HP LoadRunner addresses apps which are driven by JavaScript. (The "Mobile Application - HTTP" LoadRunner script protocol create scripts from PCAP files created by WireShark)

There are several demo framework samples, listed by highst current hotness:

WebSockets development framework demos

WebSockets is a HTML5 feature for asynchronous communictions in a lightweight way. It is quicker and uses less server resources because:

a) instead of using standard HTTP headers, it uses a leaner set of headers.

b) instead of JSON, it uses a format that takes less characters,

demo.LightStreamer.com provides front-end UI demos interacting with the server library sold on LightStreamer.com.

Hybrid app development framework demos

These frameworks create apps that don't require users to update their app. Since JavaScript is dynamically sent from the server, apps can be updated dynamically without re-submitting to the app store (which can take days or even not at all).

More importantly, the faster speed of development and testing shifts time to improving the UX and better marketing.

NOTE: Appcelerator is not scripted in TruClient because the resulting app is compiled into native code, and thus rather than JavaScript being exchanged with the server.

Cordova/PhoneGap Demo (PGD1)

https://play.google.com/store/apps/details?id=com.dreamappworld.android.phonegapdemo.free&hl=en Phone Gap Demo (PGD1) Android app.

http://phonegap.com

User Interface Samples

PhoneGap (Apache Cordova) is a free and open source framework that allows you to create mobile apps using standardized web APIs.

jQueryMobile

A generic implementation of each framework feature is listed at
http://api.jquerymobile.com/category/all/

http://demos.jquerymobile.com/1.4.5/ was the latest version listed at http://jquerymobile.com/demos/

SenchaSpace

http://www.sencha.com/products/space/ Sencha Space does not seem to have a demo like the Kitchen Sink for their other product.

Sencha Space is a a managed enterprise environment for securely distributing HTML5 and hybrid business apps in a way that offers business control of data without commandeering an employee’s phone.

Trigger.io

https://trigger.io/examples/ lists mobile demo apps buildt using the https://trigger.io/ web-based mobile development platform and Forge.io replacement for PhoneGap/Coordova that doesn't require locally installed IDE such as XCode, Eclipse. Its UI components and cloud based build environment are a minimum of $39 per month after a 14 day trial.

The basis for the company's claims about faster performance than PhoneGap are from 2012: using code at https://github.com/trigger-corp/Forge-vs-Cordova-Performance.

On iOS, JavaScript serializes API calls and store them temporarily in the DOM. It then makes a request to a fake URI (forge://…) which the native component intercepts and acts on what is stored in the DOM.

JavaScript is called to execute directly in the context of the UIWebView by iOS component:

UIWebView.stringByEvaluatingJavaScriptFromString

Worklight from IBM

http://www-01.ibm.com/software/in/worklight/ IBM Worklight is part of IBM calls its MobileFirst platform that extends PhoneGap (Apache Cordova) with additional development tools and server support for backend integration, authentication, push notifications, and life cycle management.

This article in Stackoverflow notes that Worklight access more native controls than PhoneGap (Options Menu, busy indicator, tabbars, etc).

Lightstreamer

http://www.Lightstreamer.com/demos demos a server that manages asynchronous WebRTC traffic, which is fast.

Not Included

Appcelerator (ACL1) uses its Aptana IDE to develop JavaScript, which is compiled into native code. So communication with servers is not in JavaScript and thus not within the scope of TruClient.


"Responsive" web development framework demos

Bootstrap Responsive web developmenet framework

http://getbootstrap.com/examples/theme/ provides a demo page showing how the whole range of UI elements look when built using Bootstrap.JS downloaded from or (more commonly) referenced from a CDN in HTML. However the page doesn't have code to respond to user actions mimic'd by TruClient automation scripts.

http://expo.getbootstrap.com/ and http://builtwithbootstrap.com/ provide a showcase of real sites built using the library.

The library began within Twitter, and enabled made it humanly possible to create responsive websites by changing a few HTML properties. This simplicity is made possible by limiting how much space each column takes by allocating 12 slots among all boxes.

Bootstrap depends on jQuery and Grunt utilities.


Desktop web development framework demos

The controls for each of these take up one column in the table.

A). http://jqueryui.com/demos

B). http://www.jqwidgets.com/jquery-widgets-demo (built on top of jquery)

C). Bootstrap

D). http://demos.telerik.com/kendo-ui/web/overview/index.html

E). http://zinoui.com/demos

F). http://dhtmlx.com/docs/products/index.shtml (complete interfaces like spreadsheet, scheduler, Gantt chart, Geo Explorer, etc.)

G). http://www.primefaces.org/primeui/demo.html

H). http://madrobby.github.io/scriptaculous/demos

I). http://www.prototype-ui.com (built on scriptaculous)

J). http://livepipe.net (built on prototype)

K). http://www.sencha.com/products/extjs/examples

L). http://www.greensock.com/gsap-js focuses on animation

M). http://wijmo.com/demo/explore/ (many charts)


Desktop ASP.NET web development framework demos


Real Famous websites

Several blogs identify notable examples of mobile web experiences:

Let's see how well famous sites can be scripted using TruClient.