<?php set_include_path(get_include_path() . PATH_SEPARATOR . './PEAR/'); require_once 'Testing/Selenium.php'; require_once 'PHPUnit/Framework/TestCase.php'; class check_links extends PHPUnit_Framework_TestCase { private $sel; function setUp() { $this->sel = new Testing_Selenium("*firefox", "www.my-test-url.com/"); $this->sel->start(); $this->sel->setTimeOut(60000); } function tearDown() { $this->sel->stop(); } function testLinks() { //delete screenshot files foreach (glob("C:\\screenshot_repo\\*.png") as $filename) { unlink($filename); } $this->sel->open("/"); $this->linkval = $this->sel->getAllLinks('id=links-div'); //write all the links found on a separate php file in an array form $txtfile = fopen('dump.php', 'w+'); fwrite($txtfile, "<?php\n\$links_content = array(\n"); for($i = 0, $size = sizeof($this->linkval); $i < $size; $i++) { $txt = $this->sel->getText("id=".$this->linkval[$i]); fwrite($txtfile, "array(href=>".'"'.$this->sel->getAttribute( 'id='.$this->linkval[$i].'@href').'"'.','."text=>".'"'.$txt.'") ,'."\t\n"); } fwrite($txtfile, ");\n?>"); //read the file and get file length $txtfile = fopen('dump.php', 'r'); $count = 0; while(fgets($txtfile)) { $count++; } fclose($txtfile); include 'dump.php'; for ($links=0;$links<=$count-5;$links++) { $this->sel->open($links_content[$links]['href']); $this->sel->waitForPageToLoad(30000); //take a screenshot of the page $this->sel->windowFocus(); $this->sel->windowMaximize(); $SSPath = 'C:\\screenshot_repo\\'; $this->sel->captureEntirePageScreenshot($SSPath.str_replace( " ","_",(strtolower($links_content[$links]['text']))) .".png",""); } } } ?>
Monday, September 6, 2010
Checking multiple links on page using Selenium RC
A simple script for checking multiple links on page using selenium RC and taking a screenshot of the page. This script will get all the links then throw it to another php file in an array form.
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment