2016-01-23 10 views
5

Ich habe Validierungsformular mit JavaScript und ich möchte die Validierung Nachricht testen, weil Nachrichten in wenigen Sprachen sind. Allerdings wirft Behat eine AusnahmeBehat Test Validierung Nachricht

konnte nicht geöffnet Verbindung: Kräuseln Fehler für http POST

http://localhost:4444/wd/hub/session mit params geworfen: { "desiredCapabilities": { "Tags": [ "Vagabund-ubuntu-getreuen -32 "," PHP 7.0.1-2 + deb.sury.org ~ vertrauenswürdig + 1 "]," browser ":" firefox "," ignoreZoomSetting ": false," name ":" Behat feature suite ", "browserName": "firefox"}}

Fehler beim Verbinden mit Localhost-Port 4444: Verbindung abgelehnt (Behat \ Mink \ Exception \ DriverException)

Eigenschaft: Validator Form Kontakt Im Kontaktformular eine Nachricht Validator sehen

@javascript 
    Scenario: Message validation in english lang 
    Given I am on "/" 
    When I fill in "name" with "behat" 
    And I fill in "email" with "[email protected]" 
    And I fill in "phone" with "111222333" 
    And I fill in "message" with "That test message, send via Behat." 
    When I press "Send Message" 
    Then I wait for the suggestion box to appear 
    Then I should see "Your message has been sent." 

Klasse FeatureContext MinkContext {

public function __construct() 
{ 
} 


/** 
* @Then /^I wait for the suggestion box to appear$/ 
*/ 
public function iWaitForTheSuggestionBoxToAppear() 
{ 
    $this->getSession->wait(5000, false); 
} 




default: 
extensions: 
    Behat\MinkExtension: 
    goutte: ~ 
    base_url: 'http://localhost.dev/' 
    javascript_session: selenium2 
    browser_name: firefox 
    selenium2: ~ 

Wie soll ich diesen Fall die Prüfung erstreckt?

Antwort

1

Nur eine kurze Frage, hast du deinen WebDriver auf Port 4444 gestartet?

Weil ich den Fehler repliziert habe, den Sie einfach durch das Ausschalten meines Chromtreibers erhalten haben.

 [Behat\Mink\Exception\DriverException]                                                                              
    Exception has been thrown in "beforeScenario" hook, defined in FeatureContext::windowSizeChange()                                                               
    Could not open connection: Curl error thrown for http POST to http://127.0.0.1:9515/session with params: {"desiredCapabilities":{"browserName":"chrome","version":"8","platform":"ANY","browserVersion":"8","browser":"firefox","name":"Behat test","deviceOrientation":"portrait","deviceType":"tablet","selenium-version":"2.31.0","max-duration":300}} 
    Failed to connect to 127.0.0.1 port 9515: Connection refused 

    [WebDriver\Exception\CurlExec]                                                                         
    Curl error thrown for http POST to http://127.0.0.1:9515/session with params: {"desiredCapabilities":{"browserName":"chrome","version":"8","platform":"ANY","browserVersion":"8","browser":"firefox","name":"Behat test","deviceOrientation":"portrait","deviceType":"tablet","selenium-version":"2.31.0","max-duration":300}} 
    Failed to connect to 127.0.0.1 port 9515: Connection refused  

Für Selen WebDriver: java -jar selenium-server-standalone-<versionNumber>.jar -port 4444

Für chromedriver: chromedriver --port=4444

Für operadriver: operadriver --port=4444

Und auch, ist dieses Segment in Ihrem FeatureContext.php?

default: extensions: Behat\MinkExtension: goutte: ~ base_url: 'http://localhost.dev/' javascript_session: selenium2 browser_name: firefox selenium2: ~

Denn wenn es ist, ist es an der falschen Stelle ist, und muss in Ihrer behat.yml Datei sein.

0

Sie können den Chrome-Treiber als Standard für das neueste Selen verwenden und nur den Chrome-Browser unterstützen.

put in behat.yml

default: 
    autoload: 
    '': %paths.base%/features/bootstrap 
    extensions: 
    Behat\MinkExtension: 
     base_url: your url 
     default_session: selenium2 
     files_path: features/Resources 
     show_cmd: 'open %s' 
     selenium2: 
     browser: chrome 
     wd_host: http://localhost:4444/wd/hub 

Verwenden Sie Ihre Selen sollte letzte Version 52.3 sein

0

ich viele Möglichkeiten versucht, dieses Problem zu beheben, aber für mich war es die chromedriver Version. Endlich habe ich es geschafft, es zu reparieren, indem ich die korrekte Version von chromedriver von http://www.seleniumhq.org/download/ herunterlade, weil das, das ich hatte, nicht okay war.