PHP-Selenium Framework for UI Automation

UI Automation is a must for testing any application to ensure that new added features dont break the old functionality..

I developed a PHP framework on top of PHPUnit framework for Selenium UI automation. The framework will help in automation by defining test parameters in xml files, capturing screenshots on any errors, generating HTML test report and emailing them after execution and also reading strings from XLIFF resource bundles for automating internationalized applications.

Here’s a quick comparison of QTP, Selenium and Openscript I had done before I chose Selenium. I hope this will be useful to you.

Feature Open script Selenium QTP
Browser support IE and firefox IE,Firefox,Safari,Chrome IE & Firefox
OS support Windows & Unix based Windows , Mac and UNIX based Windows only
Scripting language support Java only HTML, Java, C#, Perl, PHP, Python, Ruby VBscript only
Automatable Applications EBS/Forms applications, Fusion ADF applications and generic web apps. Any web based applications which do not use activeX/Java applets Any application (Generic web based/Java applets/ActiveX/Desktop app)
Data driven testing (Parameterization) Inbuilt support using Databanks(CSV files) and provides inbuilt support for iterating the runs through the databanks. But the data in CSV files must be managed outside Open script. No built-in support. Use the scripting  language to read through parameter files Very good Built in support using Datatables(XLS files) and also supports iterating runs.
Simulation method Simulates browser actions, hence browser can be run in background Simulates browser actions, hence browser can be run in background Simulates end user actions, hence the browser must be visible and running in foreground.
Validation/checkpoint support Text matching,Object matching, Server response matching, Database query match, Table match checkpoints supported with wildcard and regex based checks. Provides ‘verify’ and ‘assertion’ checkpoint for the accessors various properties of an identified HTML element These accessors have to made use of through the scripting language to create custom checkpoints. Hence text matching,object match, table matching and database can be implemented Standard Text, Text Area, Image, Xml, Database checkpoints available by default. Apart from these, Bitmap checkpoint is also supported, which is not supported by Openscript,selenium
Types of code views Tree view and code view present Tree view is only present if HTML scripting is used. Otherwise only code view is present. Keyword view and expert view(code view) are present.
ADF support Provides Native support to recognize ADF components Does not provide ADF support Does not provide ADF support
Screenshots and HTML capture Automatically captures screenshots and HTML during recording & playback Does not capture by default. The command captureEntirePageScreenshot() must be used wherever screenshot is required. Automatically captures screenshots and HTML during recording & playback
HTML report Automatically generates HTML reports for each step group Does not generate HTML report. But can generate XML,JSON log files which can be parsed and converted to HTML reports. Automatically generates HTML reports for each step
Object library/repository Provides inbuilt object library in the form of *.properties files. Also provides a tool to merge repositories. Does not provide in built object library. Provides object repository and tools to compare and merge repositories.
Execution of the test Can  be run from within the IDE or from command line and this feature can be used for DTE integration. Only HTML scripts can be run from IDE. All other type of scripts can only be run from command line. Can  be run from within the IDE of from command line
MBC character support Supports MBC characters in Databanks and object library Support of MBC characters will depend on the scripting language used Supports MBC characters in Datatables and object repository
License Oracle owned product. Free and open source license Not free. HP Proprietary product.

Incoming search terms:

  • #1 written by Danna
    about 9 years ago

    thawnks for the great info

  • #2 written by Ankit Mittal
    about 9 years ago

    Can we import data using JSON/XML in OpenScript? if so, then could you give an example?