Ich erhalte einen Fehler, wenn ich versuche, eine Checkbox mit Behat/Mink/Selen zu überprüfen. Unten finden Sie meine Einstellungen und eine Beschreibung meines Fehlers.Behat, Nerz und Selen. Wie überprüfe ich ein Kontrollkästchen?
behat.yml
default:
extensions:
Behat\MinkExtension:
goutte: ~
selenium2: ~
composer.json
{
"require": {
"behat/behat": "~3.3",
"behat/mink-extension": "~2.2",
"behat/mink-goutte-driver": "~1.2",
"behat/mink-selenium2-driver": "~1.3"
},
"config": {
"bin-dir": "bin/"
}
}
I Selen 3.4.0 wie diese ausgeführt werden (einschließlich eines Gecko-Treiber)
java -Dwebdriver.gecko.driver=/home/ubuntu/path/to/geckodriver -jar selenium-server-standalone-3.4.0.jar
FeatureContext Klasse:
<?php
use Behat\MinkExtension\Context\MinkContext;
use Behat\Behat\Tester\Exception\PendingException;
/**
* Defines application features from the specific context.
*/
class FeatureContext extends MinkContext
{
}
?>
Das Merkmal zu test
Feature: Search
In order to use behat
As a tester
I need to be able to get all these componets to work!
@javascript
Scenario: A very simple test of behat functionality
Given I am on "http://behat-testing.christaylordeveloper.co.uk/"
Then I should see "MY BLOG"
And the "#slave-para" element should not contain "Hi there"
When I check "test-cb"
Then the "#slave-para" element should contain "Hi there"
Der Fehler
Dies ist die Ausgabe des Test einen MouseMoveTo Fehler zeigt
[email protected]:~/behat-tests$ bin/behat
Feature: Search
In order to use behat
As a tester
I need to be able to get all these componets to work!
@javascript
Scenario: A very simple test of behat functionality # features/simple-test.feature:7
Given I am on "http://behat-testing.christaylordeveloper.co.uk/" # FeatureContext::visit()
Then I should see "MY BLOG" # FeatureContext::assertPageContainsText()
And the "#slave-para" element should not contain "Hi there" # FeatureContext::assertElementNotContains()
When I check "test-cb" # FeatureContext::checkOption()
mouseMoveTo
Build info: version: '3.4.0', revision: 'unknown', time: 'unknown'
System info: host: 'ip-172-31-7-6', ip: '172.31.7.6', os.name: 'Linux', os.arch: 'amd64', os.version: '4.4.0-1018-aws', java.version: '1.8.0_131'
Driver info: driver.version: RemoteWebDriver (WebDriver\Exception\UnknownCommand)
Then the "#slave-para" element should contain "Hi there" # FeatureContext::assertElementContains()
--- Failed scenarios:
features/simple-test.feature:7
1 scenario (1 failed)
5 steps (3 passed, 1 failed, 1 skipped)
0m3.75s (10.46Mb)
Wenn ich das @javascript-Tag auskommentiere und den letzten Schritt des Szenarios auskomme (was Javascript mit einbezieht), passiert es gut.
Wie kann ich mit Javascript ohne diesen mouseMoveTo Fehler testen?
Danke
Update-Nummer 2:
ich das jetzt haben Arbeits chromedriver Version 2.32 und Selen Standalone-Server 3.5.3
ich den Server über die Befehlszeile wie folgt aus laufen :
java -Dwebdriver.chrome.driver=chromedriver -jar selenium-server-standalone-3.5.3.jar
Mein Behat.yml ist
default:
extensions:
Behat\MinkExtension:
goutte: ~
selenium2: ~
browser_name: 'chrome'
Vielen Dank Igor. Ich habe eine Bearbeitung zu meiner ursprünglichen Frage hinzugefügt. Ich habe das Gefühl, dass in meiner Feature Context Klasse einige essentielle 'use'-Anweisungen fehlen, da ich die elementaren vordefinierten Methoden wie' Wenn ich "cb_id" 'anschaue oder auch Dinge wie' Wenn ich "link" 'folge, nicht verwenden kann. Vielleicht fehlt mir etwas? – CTaylorGuitar
@CTaylorGuitar seltsam, weil alle Bibliotheken vorhanden sind, können Sie Behath mit 'behat-dl' laufen. und wenn Sie versuchen, '$ this-> checkOption ('optionIdentifier')' in Ihrer Methode in featureContext aufzurufen, welche Art von Fehler erhalten Sie? –
Ich habe die ursprüngliche Frage noch einmal bearbeitet und nun wird meine Situation und der Fehler deutlicher erklärt, hoffe ich. Irgendwelche Ratschläge, wie man Checkboxen mit Selen ankreuzen kann, erhielten – CTaylorGuitar