Posts Tagged ‘Functional Testing’

Working with Selenium-Grid and run PHP Tests

Monday, June 1st, 2009

By Vaishal,

Working with Selenium-Grid

1. Download selenium Grid from
http://seleniumhq.org/download/
And extract files any location. Mostly in C:\selenium

2. Install latest jre from

http://java.sun.com/

3. Download ant from

http://ant.apache.org/
Extract files in C:\Ant.

- Set environment variable ANT_HOME as
- Go to the properties menu of MyComputer
- Go to the advance menu and click on ‘Environment Variable’
- Click on new and Enter value ‘ANT_HOME’ variable with your folder value where you have installed Ant.
- Now set the path variable as
Edit value and add location of your ant\bin folder

4. Now go to the selenium-grid folder from command prompt and launch-hub as follow:

ant launch-hub

Hub will start on port no 4444 as follow:

5. Now start remote server from new terminal from same selenium-grid folder as follow

ant launch-remote-control

It will start as follow:

6. Now in browser go to the hub location by

http://localhost:4444/console

It will look like

7. To start more remote server enter
ant -Dport=5556 launch-remote-control
ant -Dport=5557 launch-remote-control
ant -Dport=5558 launch-remote-control

8. Now the hub on browser will show as

Available Remote Controls
Host Port Environment
localhost 5555 *firefox
localhost 5556 *firefox
localhost 5557 *firefox
localhost 5558 *firefox

Note: The total run time is directly proportional to the number of available remote controls. So don’t start more controls if not necessary.

9. Run the hub

This setup illustrates that you can run the hub and the remote controls on arbitrary machines. When you do so though, you need to provide a lot more information when launching a remote control. You need to launch it with:
ant -Dport=<port> -Dhost=<hostname> -DhubURL=<hub url> launch-remote-control
Where:

port Port that the remote control will be listening at. Must be unique on the machine the remote control runs on. hostname Hostname or IP address of the machine the remote control runs on. Must be visible from the Hub machine. Note: this information could be inferred as it is always referring to the machine the remote control runs on. It might not be required in future versions of the Selenium Grid. hub url Which hub the remote control should register/unregister to. If the hub is running on hostname my.hub.com, this URL will be http://my.hub.com:4444

10. Now to run a test open new cmd prompt and go the test folder.
phpunit Example

11. This will start the test.

Working with Selenium-IDE & Running PHP Unit tests

Monday, June 1st, 2009

By Vaishal,

Working with Selenium-IDE | Running Functional Tests | Runnig PHP Unit Tests

Selenium IDE is an integrated development environment for Selenium tests. It is implemented as a Firefox extension, and allows you to record, edit, and debug tests. Selenium IDE includes the entire Selenium Core, allowing you to easily and quickly record and play back tests in the actual environment that they will run.

Selenium IDE is not only recording tool: it is a complete IDE. You can choose to use its recording capability, or you may edit your scripts by hand. With auto-complete support and the ability to move commands around quickly, Selenium IDE is the ideal environment for creating Selenium tests no matter what style of tests you prefer.

1. Download selenium IDE from
http://selenium-ide.openqa.org/download.jsp

This will directly add IDE as fire-fox add-ons.
https://addons.mozilla.org/en-US/firefox/addon/2079
2. Start Firefox and then Start Selenium IDE: Tools->Selenium IDE.

You will see the following window.

3. Enter base url or open the site on which you want to perform functional testing.
IDE will directly open in play mode with the entry of base url as below. Here we want to perform testing on http://www.offshoresoftwaredevelopmentindia.com/

4. After starting the IDE now simply browse the site. It  makes entry in the table as below

Now the entire test is like

Now stop recording by pressing red button.

In html format it looks like

We can export this file in any format we want as

In PHP format it looks as

5. Now to run the recorded test open new browser and press the green – play button

6. The test will run as follow

7. If there will be any error then that test will be highlighted by red line as

8. If you are on a slow internet connection than it may help to slow the test speed.

9. You can save the test case in php as follow..

Required changes in the exported PHP file is as follow

a. Change the class name same as stored file name as default class name will be “Example”.
b. Enter the web-site name in the
$this->setBrowserUrl(“http://change-this-to-the-site-you-are-testing/“);
Field.
c. Available browser options are
*iexplore
*konqueror
*firefox
*mock
*pifirefox
*piiexplore
*chrome
*safari
*opera
*iehta
*custom
That is write as follow
$this->setBrowser(“*chrome”);
(When we define browser as chrome then no need to get security certificate but in case of firefox or iexplore we need to take certificate. )

10. Downloading and installing Selenium RC
Selenium RC is a Java based command line server that starts browsers and runs commands you pass from your tests.

a. First make sure you have a Java runtime installed on your machine.
Otherwise download it from
http://www.java.com/en/download/manual.jsp
http://java.sun.com/javase/6/docs/technotes/guides/jweb/otherFeatures/jre_install.html
Test the version of JRE by entering command on command line as –
java -version
b. Download Selenium RC from http://selenium-rc.seleniumhq.org/download.html.
c. After extracting the files from the archive copy the ‘selenium-server.jar’ file to any directory you feel appropriate.
d. Start the Selenium RC server from the command-line by issuing the following command:
java -jar selenium-server.jar
This will start the server on port 4444.
e. Now the server is ready to accept test commands from your PHP script. Make sure you keep this server running till you finish testing.

11. Changes in selenium-server.jar file requires to run in Firefox is as below:

a. Open selenium-server.jar using winrar
b. locate 2 dirs: customProfileDirCUSTFFCHROME and customProfileDirCUSTFF
c. recursively explore each of those dirs, and when you find a file called install.rdf drag it to some temp location, and edit the following line:
<em:maxVersion>2.0.0.*</em:maxVersion>
change it to:
<em:maxVersion>4.0.0.*</em:maxVersion>
d. drag the install.rdf back into the archive and overwrite the old one.
e. do this for all the install.rdf files in those 2 dirs.

12. Installing PHPUnit
a. An easy way to install PHPUnit is to use the PEAR installer. The PEAR channel (pear.phpunit.de) is used to distribute PHPUnit so make sure that it is registered with your local PEAR environment:
pear channel-discover pear.phpunit.de
After the channel is registered install PHPUnit:
pear install phpunit/PHPUnit
Actual testing

Now that PHPUnit is installed and the Selenium RC server is up and running, it’s time to run our test we saved before in our ‘Example.php’ file. Type the following on your command-line:
phpunit Example

13. This will start the test. The PHPUnit Selenium driver will execute each test command from your file and send it to the Selenium server, which does the job of launching the appropriate browser, opening web pages, and performing various specified actions; and closing the browser after the test completes.

This will open new browser as

After successful execution the output will be as

Note: All Images will coming soon.

Unit Testing and Selenium Testing

Monday, June 1st, 2009

By Vaishal,

Unit Testing

Unit testing is a software verification and validation method where the programmer gains confidence that individual units of source code are fit for use. A unit is the smallest testable part of an application. In procedural programming a unit may be an individual program, function, procedure, etc., while in object-oriented programming, the smallest unit is a method, which may belong to a base/super class, abstract class or derived/child class.

Ideally, each test case is independent from the others: substitutes like method stubs, mock objects, fakes and test harnesses can be used to assist testing a module in isolation. Unit tests are typically written and run by software developers to ensure that code meets its requirements and behaves as intended. Its implementation can vary from being very manual (pencil and paper) to being formalized as part of build automation.

The goal of unit testing is to isolate each part of the program and show that the individual parts are correct. A unit test provides a strict, written contract that the piece of code must satisfy. As a result, it affords several benefits. Unit tests find problems early in the development cycle.

For the php code we are performing unit testing using PHP Unit.

Selenium Testing

Selenium is a portable software testing framework for web applications. The tests can be written as HTML tables or coded in a number of popular programming languages and can be run directly in most modern web browsers. It is used for functional testing. Selenium can be deployed on Windows, Linux, and Macintosh.

The latest side project is Selenium Grid, which provides a hub allowing the running of multiple Selenium tests concurrently on any number of local or remote systems, thus minimizing test execution time.

  • QUICK QUOTE

     

    cforms contact form by delicious:days

  • CLIENT SPEAKS

    The team at Maven Infosoft has been simply awesome, they provide a great service and are easy to communicate remotely with and have a quick response time.


Country
State / County
City