Behat / Mink / Selen Test ist kaputt (macOS)

Ich benutze Selenium seit geraumer Zeit für automatisierte Browsertests. Ich habe nie herausgefunden, wie ich es in etwas anderem als Firefox zum Laufen bringen kann. Nun, FireFox wird gestartet, wird aber nicht nach vorne gezogen und sitzt nur da und tut nichts. Ich habe das Gefühl, dass FireFox sich selbst aktualisiert hat.

Ich verwende macOS Sierra. Ich habe die Erweiterung WebDriver 2.48 in Safari installiert und aktiviert.

Ich habe sowohl Selenium-Server-Standalone-2.53.1.jar als auch Selenium-Server-Standalone-3.0.0-beta4.jar heruntergeladen und ausprobiert, erhalte jedoch jeweils unterschiedliche Ergebnisse. Mit 2.53.1 und Firefox 49 wird Firefox gestartet. Wie bereits erwähnt, befindet es sich nur dort und führt nichts aus. Es wird nicht einmal eine URL geladen. Eventuell tritt eine Zeitüberschreitung mit folgendem Fehler auf:

Verbindung konnte nicht hergestellt werden: Verbindung zum Host 127.0.0.1 auf Port 7055 nach 45000 ms nicht möglich. Firefox-Konsolenausgabe: 08198ce6fd} "," syncGUID ":" mT5F_TRS51sP "," location ":" app-global "," version ":" 49.0.1 "," type ":" theme "," internalName ":" classic /1.0","updateURL":null,"updateKey":null,"optionsURL":null,"optionsType":null,"aboutURL":null,"icons":{"32":"icon.png "," 48 ":" icon.png "}," iconURL ": null," icon64URL ": null," defaultLocale ": {" name ":" default "," description ":" Das Standarddesign. "," Creator ": "Mozilla", "homepageURL": null, "contributors": ["Mozilla Contributors"]}, "visible": true, "active": true, "userDisabled": false, "appDisabled": false, "descriptor": "/Applications/Firefox.app/Contents/Resources/browser/extensions/{972ce4c6-7e08-4474-a285-3208198ce6fd}.xpi","installDate":1475253044000,"updateDate":1475253044000,"applyBackground" skinnable ": true," size ": 7140," sourceURI ": null," releaseNotesURI ": null," softDisabled ": false," foreignInstall ": false," hasBinaryComponents ": false," strictCompatibility ": true," locales " : [], "targetApplications": [{"id": "{ec8030f7-c20a-464f-9b0e-13a3a9e97384}", "minVersion": "49 .0.1 "," maxVersion ":" 49.0.1 "}]," targetPlatforms ": []," seen ": true} 1475260611275 addons.xpi DEBUG getModTime: Rekursiver Scan von {972ce4c6-7e08-4474-a285-3208198ce6fd} 1475260611276 DeferredSave.extensions.json DEBUG Änderungen speichern 1475260611277 addons.xpi DEBUG Datenbank mit Änderungen an installierten Add-Ons aktualisieren 1475260611277 addons.xpi-utils DEBUG Add-On-Status aktualisieren 1475260611277 addons.xpi-utils DEBUG Add-Ons schreiben xpi DEBUG Registrierungsmanifest für /Applications/Firefox.app/Contents/Resources/browser/features/[email protected] 1475260611279 addons.xpi DEBUG Aufruf des Starts der Bootstrap-Methode unter [email protected], Version 1.2 1475260611279 addons.xpi Manifest für /Applications/Firefox.app/Contents/Resources/browser/features/[email protected] 1475260611280 addons.xpi DEBUG Aufrufen des Starts der Bootstrap-Methode unter [email protected] Version 1.0.4 1475260611280 addons.xpi DEBUG Registrieren für / Programme / Firefox .app / Contents / Resources / browser / features / webcompat @ mozilla.org.xpi 1475260611281 addons.xpi DEBUG Aufrufen des Starts der Bootstrap-Methode unter [email protected] Version 1.0 1475260611284 addons.manager DEBUG Registrieren des Shutdown-Blockers für XPIProvider 1475260611284 addons.manager DEBUG Start des Providers abgeschlossen: XPIProvider 1475260611284 addons.manager DEBUG Start des Providers: LightweightThemeManager 1475260611284 addons.manager DEBUG Registrieren des Shutdown-Blockers für LightweightThemeManager 1475260611285 addons.manager DEBUG Start des Providers abgeschlossen: LightweightThemeManager 1475260611284 addons.manager 1475 blocker für GMPProvider 1475260611294 addons.manager DEBUG Provider hat den Start beendet: GMPProvider 1475260611294 addons.manager DEBUG Starten des Providers: PluginProvider 1475260611295 addons.manager DEBUG Registrieren des Shutdown-Blockers für PluginProvider 1475260611295 addons.manager DEB ed startup: PluginProvider 1475260611295 addons.manager DEBUG Abgeschlossene Startsequenz 1475260611717 addons.manager DEBUG Startprovider: 1475260611717 addons.manager DEBUG Registrieren des Shutdown-Blockers für 1475260611718 addons.manager DEBUG Beendetes Startup: 14752602606.sex Repository DEBUG Keine addons.json gefunden. 1475260611881 DeferredSave.addons.json DEBUG Save changes 1475260611884 DeferredSave.addons.json DEBUG Starting timer 1475260611917 addons.manager DEBUG Starting provider: PreviousExperimentProvider 1475260611918 addons.manager DEBUG Registrieren von shutdown blocker: PreviousProvider für PreviousExper. extensions.json DEBUG Write erfolgreich 1475260611924 addons.xpi-utils DEBUG XPI-Datenbank gespeichert, Voreinstellung für Schema-Version auf 17 gesetzt

With 3.0.0-beta-4 startet Firefox nicht einmal, es gibt nur den folgenden Fehler aus:

Verbindung konnte nicht geöffnet werden: Der Pfad zur ausführbaren Treiberdatei muss über die Systemeigenschaft webdriver.gecko.driver festgelegt werden. Weitere Informationen finden Sie unterhttps: //github.com/mozilla/geckodrive. Die neueste Version kann von @ heruntergeladen werdehttps: //github.com/mozilla/geckodriver/release (Behat \ Mink \ Exception \ DriverException)

Wenn ich mein @ wechsbehat.yml config zur Verwendung von Safari browser_name: safari), mit 2.53.1 startet es eine Instanz von Safari, die auch nicht in den Vordergrund kommt oder irgendetwas macht (wie Firefox) und ich bekomme den folgenden Fehler:

Unbekannter Befehl: {"id": "f3xi7h2t2u16", "name": "mouseMoveTo", "parameters": {"element": ": wdc: 1475260954832"} (WARNUNG: Der Server hat keine Stacktrace-Informationen bereitgestellt.) Befehlsdauer oder Zeitlimit: 5 Millisekunden Build-Info: Version: '2.53.1', Revision: 'a36b8b1', Uhrzeit: '2016-06-30 17:37:03' Systeminfo: Host: 'flightbyte.local', ip : '127.0.0.1', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10 .12 ', java.version:' 1.8.0_101 'Treiberinfo: org.openqa.selenium .safari.SafariDriver-Funktionen [{browserName = safari, takesScreenshot = true, javascriptEnabled = true, version = 10.0, cssSelectorsEnabled = true, plattform = MAC, secureSsl = true}] Sitzungs-ID: null (WebDriver \ Exception \ UnknownError)

it 3.0.0-beta4 bekomme ich ...

Verbindung konnte nicht geöffnet werden: null (WARNUNG: Der Server hat keine Stacktrace-Informationen bereitgestellt.) Befehlsdauer oder Zeitlimit: 0 Millisekunden Build-Info: Version: '3.0.0-beta4', Revision: '3169782', Uhrzeit: '2016- 09-29 10:29:23 -0700 'Systeminfo: host:' myapp.local ', ip:' 127.0.0.1 ', os.name:' Mac OS X ', os.arch:' x86_64 ', os. version: '10 .12 ', java.version:' 1.8.0_101 'Treiberinfo: driver.version: SafariDriver (Behat \ Mink \ Exception \ DriverException)

In allen oben genannten Fällen öffne ich einfach die JAR-Datei des Standalone-Servers und führe dann meine Behat-Tests aus, wie ich es immer getan habe. Heute denke ich, ich habe herausgefunden, wie ich den Chomedriver zum Laufen bringen kann. Wenn ich versuche, ihn mit Chrom zu verwenden, starte ich ihn auf diese Weise ...

java -jar -Dwebdriver.chrome.driver='/Users/me/bin/selenium/drivers/chromedriver' /Users/me/bin/selenium/selenium-server-standalone-2.53.1.jar

... und ich ändere dasbrowser_name tippe mein @ ebehat.yml zugooglechrome. Wenn ich es auf diese Weise starte, erhalte ich die folgende Fehlermeldung ...

Verbindung konnte nicht geöffnet werden: Der am besten passende Treiberanbieter org.openqa.selenium.safari.SafariDriver kann keine neue Treiberinstanz für Capabilities erstellen. [{Browser = firefox, name = Behat-Funktionssuite, browserName = googlechrome, ignoreZoomSetting = false, tags = [myapp.local, PHP 7.0.10]}] Build-Infos: Version: '2.53.1', Revision: 'a36b8b1', Zeit: '2016-06-30 17:37:03' System-Infos: Host: 'myapp.local', ip: '127.0.0.1', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10 .12 ', java.version:' 1.8.0_101 'Treiber info: driver.version: unknown (Behat \ Mink \ Exception \ DriverException)

Und mit 3.0.0-beta4 bekomme ich das:

Verbindung konnte nicht geöffnet werden: Der am besten passende Treiberanbieter org.openqa.selenium.safari.SafariDriver kann keine neue Treiberinstanz für Capabilities erstellen. [{Browser = firefox, name = Behat-Funktionssuite, browserName = googlechrome, ignoreZoomSetting = false, tags = [flightbyte.local, PHP 7.0.10]}] Build-Info: Version: '3.0.0-beta4', Revision: '3169782', Zeit: '2016-09-29 10:29:23 -0700' System info: host: 'flightbyte.local', ip: '127.0.0.1', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10 .12 ', java.version:' 1.8 .0_101 'Treiberinfo: driver.version: unbekannt (Behat \ Mink \ Exception \ DriverException)

Meine behat.yml fängt so an:

default:
  extensions:
    Laracasts\Behat:
      env_path: .env.testing
    Behat\MinkExtension:
      default_session: laravel
      base_url: <a href="http://myapp.local:8080/" rel="nofollow">http://myapp.local:8080/</a>
      browser_name: googlechrome (this is where I switch browsers)
      laravel: ~
      selenium2: ~

Mein composer.json enthält Folgendes:

"require-dev": {
    "fzaninotto/faker": "~1.4",
    "mockery/mockery": "0.9.*",
    "phpunit/phpunit": "~5.4",
    "phpspec/phpspec": "~2.1",
    "behat/behat": "^3.2",
    "behat/mink": "^1.7",
    "behat/mink-extension": "^2.2",
    "laracasts/behat-laravel-extension": "dev-master",
    "behat/mink-selenium2-driver": "^1.3@dev",
    "symfony/dom-crawler": "~3.0",
    "symfony/css-selector": "~3.0"
  },

Ich habe versucht, die Versionen des Behat- und Nerzmaterials an das anzupassen, was ich auf packagist gesehen habe, gefolgt von einem Composer-Update.

Ich muss nur diese Tests wieder zum Laufen bringen. Es ist mir wirklich egal, welcher Browser es ist, ich würde es vorziehen, nicht Firefox zu sein, aber damit habe ich gelebt, bis alles kaputt gegangen ist.

Jede Hilfe wäre sehr dankbar!

Antworten auf die Frage(4)

Ihre Antwort auf die Frage