webentwicklung-frage-antwort-db.com.de

Wie benutzt man Selen mit PHP?

Ich möchte Selenium verwenden, um einige Webaufgaben zu automatisieren (nicht zum Testen). Ich glaube, ich habe Selenium RC Server installiert, kann aber keine "Testskripte" schreiben, da ich in PHP keinen Client-Treiber finde (siehe: http://seleniumhq.org/download)/ ).

Gibt es eine Möglichkeit für mich, Selen mit PHP zu verwenden? Dies scheint darauf hinzudeuten, dass ich PHPUnit http://www.phpunit.de/manual/current/en/Selenium.html brauche. Ich möchte nur ein paar Aufgaben automatisieren und mich nicht auf eine ganze Reihe von Tests einlassen.

14

Versuchen Sie Folgendes:

  1. Holen Sie sich Phpunit installiert und arbeiten
  2. Haben Sie auch Java sdk & jre auf Ihrem PC.
  3. Zeichnen Sie jetzt Testfälle mit Selenium IDE auf.
  4. Exportieren Sie die Testfälle in PHP-Dateien.
  5. Verwenden Sie diese exportierten Funktionen, um eine Bibliothek mit Testfällen zu erstellen.
  6. Suite erstellen, die die Funktionen/Tests aus der Bibliothek aufruft.
  7. Führen Sie nun den Start Selenium Server mit Java-Befehl aus.
  8. Phpunit verwenden Führen Sie die Suite aus.

um zu erfahren, wie man diese Dateien schreibt, klicke here und probiere git hub aus

13
lAH2iV

facebook/php-webdriver ist ein fantastischer Client für Selenium und PHP.

Sie können es verwenden, um Web-Aufgaben zu automatisieren (je nach gewünschtem OP), oder Sie können php-webdriver einfach in Ihr Testframework integrieren. Es gibt bereits ein Projekt, das dies bereitstellt:


Alles installieren

  1. Laden Sie facebook/php-webdriver herunter. composer require facebook/webdriver 

  2. Selenium herunterladen & start it. Java -jar Selenium-server-standalone-#.jar

  3. Laden Sie Quick Java herunter und legen Sie es in Ihrem Projektverzeichnis ab.


Verwendungszweck

In diesem Beispiel verwenden wir die Erweiterung quickjava, um alles außer javascript und cookies zu deaktivieren.

Weitere Einstellungen hier ansehen:
https://github.com/ThatOneGuyDotNet/QuickJava/blob/master/defaults/preferences/defaults.js

Weitere Beispielbefehle finden Sie hier:
https://github.com/facebook/php-webdriver/wiki/Example-command-reference

use Facebook\WebDriver\Firefox\FirefoxProfile;
use Facebook\WebDriver\Firefox\FirefoxDriver;
use Facebook\WebDriver\Remote\DesiredCapabilities;
use Facebook\WebDriver\Remote\RemoteWebDriver;

// Change this to the path of you xpi
$extensionPath = $this->container->getParameter('kernel.root_dir').'/../bin/Selenium/quickjava-2.0.6-fx.xpi';

// Build our firefox profile
$profile = new FirefoxProfile();
$profile->addExtension($extensionPath);
$profile->setPreference('thatoneguydotnet.QuickJava.curVersion', '2.0.6.1');
$profile->setPreference('thatoneguydotnet.QuickJava.startupStatus.Images', 2);
$profile->setPreference('thatoneguydotnet.QuickJava.startupStatus.AnimatedImage', 2);
$profile->setPreference('thatoneguydotnet.QuickJava.startupStatus.CSS', 2);
//$profile->setPreference('thatoneguydotnet.QuickJava.startupStatus.Cookies', 2);
$profile->setPreference('thatoneguydotnet.QuickJava.startupStatus.Flash', 2);
$profile->setPreference('thatoneguydotnet.QuickJava.startupStatus.Java', 2);
//$profile->setPreference('thatoneguydotnet.QuickJava.startupStatus.JavaScript', 2);
$profile->setPreference("thatoneguydotnet.QuickJava.startupStatus.Silverlight", 2);

// Create DC + Driver
$dc = DesiredCapabilities::firefox();
$dc->setCapability(FirefoxDriver::PROFILE, $profile);

$driver = RemoteWebDriver::create($Host, $dc);
$driver->get('http://stackoverflow.com');

// Do stuff - https://github.com/facebook/php-webdriver/wiki/Example-command-reference
//$driver->findElement(WebDriverBy::id("element-id"));

// The HTML Source code
$html = $driver->getPageSource();

// Firefox should be open and you can see no images or css was loaded
17
Anil

Sie benötigen den Selenium-Server und eine Web-Treiberbibliothek, um mit ihm zu interagieren. 

Offiziell unterstützt Selenium PHP nicht, aber in Nearsoft haben wir eine Bibliothek für die Interaktion mit dem Json Wire-Protokoll erstellt. Wir wollten es den Beispielen aus anderen Sprachen und Treibern von der offiziellen Website so ähnlich wie möglich machen, so dass ein Beispiel von der Seite in Java eine sehr ähnliche Syntax in PHP hat.

Check it out: https://github.com/Nearsoft/PHP-SeleniumClient

Wenn es Ihnen gefällt, teilen Sie es, machen Sie mit, machen Sie es oder tun Sie, wie Sie möchten.

Grüße, Mark.

1
markdrake

Ich glaube, der Typ hat hauptsächlich gefragt, wie er IDE generierte Dateien verwendet.

Es gibt einen Formatierer für PHP: Sie müssen dann nur noch als PHPunit exportieren.

Selen-IDE: PHP Formatters :: Add-ons für Firefox https://addons.mozilla.org/de-de/firefox/addon/Selenium-ide-php-formatters/

0
Nadir

Bitte überprüfen Sie diesen Link: http://mvnrepository.com/artifact/org.seleniumhq.Selenium.client-drivers

Klicken Sie auf den Link Selenium-PHP-Client-Treiber, um die Binärdatei zu erhalten

0
user766038