PHPSikuli is a PHP5 wrapper for Sikuli.
Sikuli automates anything you see on the screen. It uses image recognition to identify and control GUI components.
Sikuli is a Java application, that works on Windows XP+, Mac 10.6+ and most Linux/Unix systems. It requires Java JRE 6 or JRE 7 to be installed.
Clone PHPSikuli which includes Sikuli jar file:
git clone git@github.com:squizlabs/php-sikuli.git Include either PHPSikuli.php or PHPSikuliBrowser.php in your project.
Sikuli documentation can be found here. Most wrapper methods have same or very similar names however their usage slightly differ. E.g:
// Python topLeft = Location(reg.x, reg.y) # equivalent to topLeft = reg.getTopLeft() theWidth = reg.w # equivalent to theWidth = reg.getW() reg.h = theWidth # equivalent to reg.setH(theWidth) // PHP $topLeft = $sikuli->createLocation($sikuli->getX($reg), $sikuli->getY($reg)); $topLeft = $sikuli->getTopLeft($reg); $theWidth = $sikuli->getW($reg); $sikuli->setH($reg); require_once 'PHPSikuli/PHPSikuliBrowser.php'; // Use Firefox. $sikuli = new PHPSikuliBrowser('firefox'); // Go to Google. $sikuli->goToURL('http://www.google.com'); // Search for 'Squiz Labs' $sikuli->type('Squiz Labs'); $sikuli->keyDown('Key.ENTER'); sleep(1); // Find the Squiz Labs Home page link on the search results page. $link = $sikuli->find('Home'); // Highlight the found text (region) for 2 seconds. $sikuli->highlight($link, 2); // Click the link. $sikuli->click($link);