Archive for Mai. 2014

Selenium und PhpUnit

PhpUnit bietet eine Möglichkeit Selenese Tests auszuführen. Zum einen kann man einen Test einzeln ablaufen lassen, zum anderen kann man einen Verzeichnispfad setzen, in dem alle .htm Dateien ausgeführt werden.

Leider ist es derzeit so, dass die Selenese Tests nicht gegen ein Selenium hub ausführbar sind.
Das liegt daran, dass die API von Selenium von 1 zu 2 geändert hat, da die IDE derzeit nur die API Version 1 unterstütz, sind Selenese tests gegen ein hub nativ nicht ausführbar.

Um den Server zu starten reicht hier der klassische aufruf:

java -jar selenium-server.jar

Im folgendem Listing ist ein kleiner Unittest und der dazu passende Selenese Test.
Dieser wird dann wie gewohnt mit phpunit ausgeführt.

php phpunit SeleneseTest.php 

PhpUnit-Test

<?php
  class SeleneseTest extends PHPUnit_Extensions_SeleniumTestCase {
    public static $browsers
      = array(
        array(
          "name"    => "Firefox",
          "browser" => "firefox",
          "host"    => "localhost",
        )
      );
 
    protected function setUp() {
      $this->setBrowser("*firefox");
      $this->setBrowserUrl("https://www.google.com/");
    }
 
    public function testMyTestCase() {
      $this->runSelenese("Pfad/zur/Datei.htm");
    }
  }
?>

Selenese-Test:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head profile="http://selenium-ide.openqa.org/profiles/test-case">
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
    <link rel="selenium.base" href="https://www.google.de/"/>
    <title>test</title>
</head>
<body>
<table border="1" cellpadding="1" cellspacing="1">
    <thead>
    <tr>
        <td rowspan="1" colspan="3">test</td>
    </tr>
    </thead>
    <tbody>
    <tr>
        <td>open</td>
        <td>/</td>
    </tr>
    <tr>
        <td>type</td>
        <td>id=gbqfq</td>
        <td>hallo welt2</td>
    </tr>
    <tr>
        <td>click</td>
        <td>id=gbqfb</td>
    </tr>
    <tr>
        <td>click</td>
        <td>id=gbqfb</td>
    </tr>
    <tr>
        <td>pause</td>
        <td>1500</td>
    </tr>
    <tr>
        <td>verifyTitle</td>
        <td>hallo welt2 - Google-Suche</td>
    </tr>
    </tbody>
</table>
</body>
</html>

Hier der Vollständigkeit halber das snipped für das Verzeichnis in dem die .htm Dateien zu finden sind:

<?php
require_once 'PHPUnit/Extensions/SeleniumTestCase.php';
 
class SeleneseTests extends PHPUnit_Extensions_SeleniumTestCase
{
    public static $seleneseDirectory = '/path/to/files';
}
?>

Recycling

Ich habe an meinem Fahrrad am Lenker ein Klickfix. Der Korb dazu ist natürlich ganz praktisch, allerdings ist es, wenn ich mit dem kleinen unterwegs bin eine Umhängetasche besser.

Da ich genügend alte Umhängetaschen habe, habe ich mir gedacht, das ich eine ausgediente Tasche ein zweites Leben schenfte.

Ich bin in den nächsten laden gegangen, und habe mir da eine adapterplatte besorgt und diese an die Tasche geschraubt. Es ist leide nicht ganz gerade geworden. Damit der Stoff bei den Löchern nicht einreißt habe ich sie noch mit metallösen verstärkt.

P1020445

P1020446