2017-12-16 7 views
2

私は見てきましたが、この正確な質問はどこにも見つからないので、私は先に進むつもりです...私は、私はかなりプログラミングに慣れていないので、情報が明白であるか重複しているか、どんな情報が重要であるかは分かりません。私はあまりにも多くの面で間違ってみようとします。セレンとクロムまたはSafariまたはMacでSafariまたはFirefoxとの接続BehatとMink

私の究極の目標は、javascriptを使用するウェブサイト用のMacでBehatテストを作成して実行できるようにすることです。もし私が間違ったトラックに乗っていたら、別の方向に私を送ってください。

私はBDD, Behat, Mink and other Wonderful Thingsチュートリアルに従おうとしています。我々がセレンを含む部分に着くまでうまくいっていた。

は、私は私がこれを入力すると10.12.6

私はBehatといくつかの拡張機能をインストールするために作曲を使用し、

composer require behat/mink-extension behat/mink-goutte-driver 
behat/mink-selenium2-driver facebook/webdriver 

は(私は私の問題の一部を実現していますMacのOSを実行しているかもしれません私がSelenium 3を駆動するためにSelenium 2ドライバを使用しようとしているのでしょうか? minkphp/MinkSelenium2Driver: Selenium 3 support #254 Ugh。最新のバージョンのSelenium 2をダウンロードする必要がありますか?Selenium 2については、彼らはすべて私のコンピュータ上で最新のバージョンに自動的に更新するので、破滅してください...)

私はSelenium Standalone Server 3.8.1をダウンロードし、〜/ Applicationsに貼り付けました。それは私の$ PATHにはありませんが、私はそれを直接呼び出すので、私はそれが必要ではないと考えました。

私もchromedriverとgeckodriverをダウンロードし、/ usr/local/bin /に入れました。は、私の$ PATHにです。

$ ./behat --version 
behat version 3.4.3 

$ chromedriver --version 
ChromeDriver 2.34.522932 (4140ab217e1ca1bec0c4b4d1b148f3361eb3a03e) 

$ geckodriver --version 
geckodriver 0.19.1 

(この時点で私はグーグルと適用聞こえる をダウンロードし、望んでいること...作品 何か:ため息:)

限り、ブラウザのバージョンは、私が行くように持っている:

  • クロームバージョン63.0.3239.84(公式ビルド)(64ビット)
  • Firefoxの量子バージョン63.0.3239.84(公式ビルド)(64-BIトン)
  • Safariのバージョン11.0.2(12604.4.7.1.4)

Behatが正常に任意の上記のに話すことができれば、私は喜んだろう。

マイbehat.ymlが含まれています

​​

私FeatureContext.phpは含まれています

<?php 

use Behat\Behat\Context\Context; 
use Behat\Behat\Context\SnippetAcceptingContext; 
use Behat\Gherkin\Node\PyStringNode; 
use Behat\Gherkin\Node\TableNode; 
use Behat\MinkExtension\Context\MinkContext; 

/** 
* Defines application features from the specific context. 
*/ 
class FeatureContext extends MinkContext implements Context, SnippetAcceptingContext 
{ 
    /** 
    * Initializes context. 
    * 
    * Every scenario gets its own context instance. 
    * You can also pass arbitrary arguments to the 
    * context constructor through behat.yml. 
    */ 
    public function __construct() 
    { 
    } 
} 

マイ/機能/検索。機能が含まれています。私のブラウザの別のタブで

Feature: Search 
    In order to find products dinosaurs love 
    As a web user 
    I need to be able to search for products 

    @javascript 
    Scenario: Searching for a product that exists 
    Given I am on "/" 
    When I fill in "searchTerm" with "Samsung" 
    And I press "search_submit" 
    Then I should see "Samsung Galaxy" 

を、私はセレンスタンドアロンサーバを立ち上げました:

$ java -jar /Users/noxlady/Applications/selenium-server-standalone-3.8.1.jar 
19:04:54.801 INFO - Selenium build info: version: '3.8.1', revision: '6e95a6684b' 
19:04:54.801 INFO - Launching a standalone Selenium Server 
2017-12-15 19:04:55.246:INFO::main: Logging initialized @1087ms to org.seleniumhq.jetty9.util.log.StdErrLog 
19:04:55.386 INFO - Using `new FirefoxOptions()` is preferred to `DesiredCapabilities.firefox()` 
19:04:55.443 INFO - Using `new ChromeOptions()` is preferred to `DesiredCapabilities.chrome()` 
19:04:55.458 INFO - Using `new EdgeOptions()` is preferred to `DesiredCapabilities.edge()` 
19:04:55.463 INFO - Driver class not found: com.opera.core.systems.OperaDriver 
19:04:55.463 INFO - Using `new OperaOptions()` is preferred to `DesiredCapabilities.operaBlink()` 
19:04:55.467 INFO - Using `new SafariOptions()` is preferred to `DesiredCapabilities.safari()` 
19:04:55.469 INFO - Driver class not found: org.openqa.selenium.phantomjs.PhantomJSDriver 
19:04:55.570 INFO - Driver provider class org.openqa.selenium.ie.InternetExplorerDriver registration is skipped: 
registration capabilities Capabilities {browserName: internet explorer, ensureCleanSession: true, platform: WINDOWS, version: } does not match the current platform MAC 
19:04:55.570 INFO - Driver provider class org.openqa.selenium.edge.EdgeDriver registration is skipped: 
registration capabilities Capabilities {browserName: MicrosoftEdge, platform: WINDOWS, version: } does not match the current platform MAC 
19:04:55.703 INFO - Using `new ChromeOptions()` is preferred to `DesiredCapabilities.chrome()` 
19:04:55.703 INFO - Using `new EdgeOptions()` is preferred to `DesiredCapabilities.edge()` 
19:04:55.703 INFO - Using `new FirefoxOptions()` is preferred to `DesiredCapabilities.firefox()` 
19:04:55.704 INFO - Using `new OperaOptions()` is preferred to `DesiredCapabilities.operaBlink()` 
19:04:55.704 INFO - Using `new SafariOptions()` is preferred to `DesiredCapabilities.safari()` 
19:04:55.731 INFO - Using the passthrough mode handler 
2017-12-15 19:04:55.805:INFO:osjs.Server:main: jetty-9.4.7.v20170914 
2017-12-15 19:04:55.870:WARN:osjs.SecurityHandler:main: [email protected]@1a75e76a{/,null,STARTING} has uncovered http methods for path:/
2017-12-15 19:04:55.879:INFO:osjsh.ContextHandler:main: Started [email protected]{/,null,AVAILABLE} 
2017-12-15 19:04:55.964:INFO:osjs.AbstractConnector:main: Started [email protected]{HTTP/1.1,[http/1.1]}{0.0.0.0:4444} 
2017-12-15 19:04:55.965:INFO:osjs.Server:main: Started @1806ms 
19:04:55.965 INFO - Selenium Server is up and running 

ビットは確かに有望な音「Seleniumサーバーが稼働しています」!私のブラウザでhttp://127.0.0.1:4444/http://0.0.0.0:4444/の両方を訪問すると、素晴らしいSelenium Standalone v.3.8.1ページが表示されます(これはSeleniumが端末で実行されている場合にのみ利用可能です)ので、Selenium jarファイルは何かをしているようです... ...私は@javascriptを削除し、(グット使用して)私のテストを実行すると

は私が取得:

$ ./behat 
Feature: Search 
    In order to find products dinosaurs love 
    As a web user 
    I need to be able to search for products 

    Scenario: Searching for a product that exists # features/search.feature:7 
    Given I am on "/"       # FeatureContext::visit() 
    When I fill in "searchTerm" with "Samsung" # FeatureContext::fillField() 
    And I press "search_submit"     # FeatureContext::pressButton() 
    Then I should see "Samsung Galaxy"   # FeatureContext::assertPageContainsText() 

1 scenario (1 passed) 
4 steps (4 passed) 
0m3.15s (14.27Mb) 

しかし、私は戻ってFirefoxの起動(それは、セレンを使用しています)で、その後@javascriptを置くときだけの種類そこに座っている。約45秒後に私の端子が退屈して、次のように吐き出します:

./behat --verbose 
Feature: Search 
    In order to find products dinosaurs love 
    As a web user 
    I need to be able to search for products 

    @javascript 
    Scenario: Searching for a product that exists # features/search.feature:7 
    Given I am on "/"       # FeatureContext::visit() 
     WebDriver\Exception\UnknownError: Timed out waiting 45 seconds for Firefox to start. 
     Build info: version: '3.8.1', revision: '6e95a6684b', time: '2017-12-01T19:05:32.194Z' 
     System info: host: 'Megs-MacBook.local', ip: 'fe80:0:0:0:1057:7410:918d:cd36%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.12.6', java.version: '9.0.1' 
     Driver info: driver.version: unknown in vendor/instaclick/php-webdriver/lib/WebDriver/Exception.php:155 
     Stack trace: 
     #0 vendor/instaclick/php-webdriver/lib/WebDriver/AbstractWebDriver.php(157): WebDriver\Exception::factory(13, 'Timed out waiti...') 
     #1 vendor/instaclick/php-webdriver/lib/WebDriver/WebDriver.php(70): WebDriver\AbstractWebDriver->curl('POST', '/session', Array, Array) 
     #2 vendor/behat/mink-selenium2-driver/src/Selenium2Driver.php(287): WebDriver\WebDriver->session(Array, Array) 
     #3 vendor/behat/mink/src/Session.php(70): Behat\Mink\Driver\Selenium2Driver->start() 
     #4 vendor/behat/mink/src/Mink.php(117): Behat\Mink\Session->start() 
     #5 vendor/behat/mink-extension/src/Behat/MinkExtension/Context/RawMinkContext.php(108): Behat\Mink\Mink->getSession(NULL) 
     #6 vendor/behat/mink-extension/src/Behat/MinkExtension/Context/RawMinkContext.php(131): Behat\MinkExtension\Context\RawMinkContext->getSession(NULL) 
     #7 vendor/behat/mink-extension/src/Behat/MinkExtension/Context/MinkContext.php(49): Behat\MinkExtension\Context\RawMinkContext->visitPath('/') 
     #8 [internal function]: Behat\MinkExtension\Context\MinkContext->visit('/') 
     #9 vendor/behat/behat/src/Behat/Testwork/Call/Handler/RuntimeCallHandler.php(109): call_user_func_array(Array, Array) 
     #10 vendor/behat/behat/src/Behat/Testwork/Call/Handler/RuntimeCallHandler.php(64): Behat\Testwork\Call\Handler\RuntimeCallHandler->executeCall(Object(Behat\Behat\Definition\Call\DefinitionCall)) 
     #11 vendor/behat/behat/src/Behat/Testwork/Call/CallCenter.php(140): Behat\Testwork\Call\Handler\RuntimeCallHandler->handleCall(Object(Behat\Behat\Definition\Call\DefinitionCall)) 
     #12 vendor/behat/behat/src/Behat/Testwork/Call/CallCenter.php(96): Behat\Testwork\Call\CallCenter->handleCall(Object(Behat\Behat\Definition\Call\DefinitionCall)) 
     #13 vendor/behat/behat/src/Behat/Behat/Tester/Runtime/RuntimeStepTester.php(125): Behat\Testwork\Call\CallCenter->makeCall(Object(Behat\Behat\Definition\Call\DefinitionCall)) 
     #14 vendor/behat/behat/src/Behat/Behat/Tester/Runtime/RuntimeStepTester.php(73): Behat\Behat\Tester\Runtime\RuntimeStepTester->testDefinition(Object(Behat\Behat\Context\Environment\InitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), Object(Behat\Gherkin\Node\StepNode), Object(Behat\Behat\Definition\SearchResult), false) 
     #15 vendor/behat/behat/src/Behat/Behat/Hook/Tester/HookableStepTester.php(74): Behat\Behat\Tester\Runtime\RuntimeStepTester->test(Object(Behat\Behat\Context\Environment\InitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), Object(Behat\Gherkin\Node\StepNode), false) 
     #16 vendor/behat/behat/src/Behat/Behat/EventDispatcher/Tester/TickingStepTester.php(59): Behat\Behat\Hook\Tester\HookableStepTester->test(Object(Behat\Behat\Context\Environment\InitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), Object(Behat\Gherkin\Node\StepNode), false) 
     #17 vendor/behat/behat/src/Behat/Behat/EventDispatcher/Tester/EventDispatchingStepTester.php(73): Behat\Behat\EventDispatcher\Tester\TickingStepTester->test(Object(Behat\Behat\Context\Environment\InitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), Object(Behat\Gherkin\Node\StepNode), false) 
     #18 vendor/behat/behat/src/Behat/Behat/Tester/StepContainerTester.php(59): Behat\Behat\EventDispatcher\Tester\EventDispatchingStepTester->test(Object(Behat\Behat\Context\Environment\InitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), Object(Behat\Gherkin\Node\StepNode), false) 
     #19 vendor/behat/behat/src/Behat/Behat/Tester/Runtime/RuntimeScenarioTester.php(76): Behat\Behat\Tester\StepContainerTester->test(Object(Behat\Behat\Context\Environment\InitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), Object(Behat\Gherkin\Node\ScenarioNode), false) 
     #20 vendor/behat/behat/src/Behat/Behat/Hook/Tester/HookableScenarioTester.php(74): Behat\Behat\Tester\Runtime\RuntimeScenarioTester->test(Object(Behat\Behat\Context\Environment\InitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), Object(Behat\Gherkin\Node\ScenarioNode), false) 
     #21 vendor/behat/behat/src/Behat/Behat/EventDispatcher/Tester/EventDispatchingScenarioTester.php(103): Behat\Behat\Hook\Tester\HookableScenarioTester->test(Object(Behat\Behat\Context\Environment\InitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), Object(Behat\Gherkin\Node\ScenarioNode), false) 
     #22 vendor/behat/behat/src/Behat/Behat/Tester/Runtime/IsolatingScenarioTester.php(69): Behat\Behat\EventDispatcher\Tester\EventDispatchingScenarioTester->test(Object(Behat\Behat\Context\Environment\InitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), Object(Behat\Gherkin\Node\ScenarioNode), false) 
     #23 vendor/behat/behat/src/Behat/Behat/Tester/Runtime/RuntimeFeatureTester.php(84): Behat\Behat\Tester\Runtime\IsolatingScenarioTester->test(Object(Behat\Behat\Context\Environment\UninitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), Object(Behat\Gherkin\Node\ScenarioNode), false) 
     #24 vendor/behat/behat/src/Behat/Behat/Hook/Tester/HookableFeatureTester.php(72): Behat\Behat\Tester\Runtime\RuntimeFeatureTester->test(Object(Behat\Behat\Context\Environment\UninitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), false) 
     #25 vendor/behat/behat/src/Behat/Behat/EventDispatcher/Tester/EventDispatchingFeatureTester.php(71): Behat\Behat\Hook\Tester\HookableFeatureTester->test(Object(Behat\Behat\Context\Environment\UninitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), false) 
     #26 vendor/behat/behat/src/Behat/Testwork/Tester/Runtime/RuntimeSuiteTester.php(63): Behat\Behat\EventDispatcher\Tester\EventDispatchingFeatureTester->test(Object(Behat\Behat\Context\Environment\UninitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), false) 
     #27 vendor/behat/behat/src/Behat/Testwork/Hook/Tester/HookableSuiteTester.php(73): Behat\Testwork\Tester\Runtime\RuntimeSuiteTester->test(Object(Behat\Behat\Context\Environment\UninitializedContextEnvironment), Object(Behat\Testwork\Specification\GroupedSpecificationIterator), false) 
     #28 vendor/behat/behat/src/Behat/Testwork/EventDispatcher/Tester/EventDispatchingSuiteTester.php(72): Behat\Testwork\Hook\Tester\HookableSuiteTester->test(Object(Behat\Behat\Context\Environment\UninitializedContextEnvironment), Object(Behat\Testwork\Specification\GroupedSpecificationIterator), false) 
     #29 vendor/behat/behat/src/Behat/Testwork/Tester/Runtime/RuntimeExercise.php(71): Behat\Testwork\EventDispatcher\Tester\EventDispatchingSuiteTester->test(Object(Behat\Behat\Context\Environment\UninitializedContextEnvironment), Object(Behat\Testwork\Specification\GroupedSpecificationIterator), false) 
     #30 vendor/behat/behat/src/Behat/Testwork/EventDispatcher/Tester/EventDispatchingExercise.php(70): Behat\Testwork\Tester\Runtime\RuntimeExercise->test(Array, false) 
     #31 vendor/behat/behat/src/Behat/Testwork/Ordering/OrderedExercise.php(80): Behat\Testwork\EventDispatcher\Tester\EventDispatchingExercise->test(Array, false) 
     #32 vendor/behat/behat/src/Behat/Testwork/Tester/Cli/ExerciseController.php(149): Behat\Testwork\Ordering\OrderedExercise->test(Array, false) 
     #33 vendor/behat/behat/src/Behat/Testwork/Tester/Cli/ExerciseController.php(108): Behat\Testwork\Tester\Cli\ExerciseController->testSpecifications(Object(Symfony\Component\Console\Input\ArgvInput), Array) 
     #34 vendor/behat/behat/src/Behat/Testwork/Cli/Command.php(63): Behat\Testwork\Tester\Cli\ExerciseController->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) 
     #35 vendor/symfony/symfony/src/Symfony/Component/Console/Command/Command.php(242): Behat\Testwork\Cli\Command->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) 
     #36 vendor/symfony/symfony/src/Symfony/Component/Console/Application.php(842): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) 
     #37 vendor/symfony/symfony/src/Symfony/Component/Console/Application.php(193): Symfony\Component\Console\Application->doRunCommand(Object(Behat\Testwork\Cli\Command), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) 
     #38 vendor/behat/behat/src/Behat/Testwork/Cli/Application.php(124): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) 
     #39 vendor/symfony/symfony/src/Symfony/Component/Console/Application.php(117): Behat\Testwork\Cli\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) 
     #40 vendor/behat/behat/bin/behat(34): Symfony\Component\Console\Application->run() 
     #41 {main} 

     Next Behat\Mink\Exception\DriverException: Could not open connection: Timed out waiting 45 seconds for Firefox to start. 
     Build info: version: '3.8.1', revision: '6e95a6684b', time: '2017-12-01T19:05:32.194Z' 
     System info: host: 'Megs-MacBook.local', ip: 'fe80:0:0:0:1057:7410:918d:cd36%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.12.6', java.version: '9.0.1' 
     Driver info: driver.version: unknown in vendor/behat/mink-selenium2-driver/src/Selenium2Driver.php:290 
     Stack trace: 
     #0 vendor/behat/mink/src/Session.php(70): Behat\Mink\Driver\Selenium2Driver->start() 
     #1 vendor/behat/mink/src/Mink.php(117): Behat\Mink\Session->start() 
     #2 vendor/behat/mink-extension/src/Behat/MinkExtension/Context/RawMinkContext.php(108): Behat\Mink\Mink->getSession(NULL) 
     #3 vendor/behat/mink-extension/src/Behat/MinkExtension/Context/RawMinkContext.php(131): Behat\MinkExtension\Context\RawMinkContext->getSession(NULL) 
     #4 vendor/behat/mink-extension/src/Behat/MinkExtension/Context/MinkContext.php(49): Behat\MinkExtension\Context\RawMinkContext->visitPath('/') 
     #5 [internal function]: Behat\MinkExtension\Context\MinkContext->visit('/') 
     #6 vendor/behat/behat/src/Behat/Testwork/Call/Handler/RuntimeCallHandler.php(109): call_user_func_array(Array, Array) 
     #7 vendor/behat/behat/src/Behat/Testwork/Call/Handler/RuntimeCallHandler.php(64): Behat\Testwork\Call\Handler\RuntimeCallHandler->executeCall(Object(Behat\Behat\Definition\Call\DefinitionCall)) 
     #8 vendor/behat/behat/src/Behat/Testwork/Call/CallCenter.php(140): Behat\Testwork\Call\Handler\RuntimeCallHandler->handleCall(Object(Behat\Behat\Definition\Call\DefinitionCall)) 
     #9 vendor/behat/behat/src/Behat/Testwork/Call/CallCenter.php(96): Behat\Testwork\Call\CallCenter->handleCall(Object(Behat\Behat\Definition\Call\DefinitionCall)) 
     #10 vendor/behat/behat/src/Behat/Behat/Tester/Runtime/RuntimeStepTester.php(125): Behat\Testwork\Call\CallCenter->makeCall(Object(Behat\Behat\Definition\Call\DefinitionCall)) 
     #11 vendor/behat/behat/src/Behat/Behat/Tester/Runtime/RuntimeStepTester.php(73): Behat\Behat\Tester\Runtime\RuntimeStepTester->testDefinition(Object(Behat\Behat\Context\Environment\InitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), Object(Behat\Gherkin\Node\StepNode), Object(Behat\Behat\Definition\SearchResult), false) 
     #12 vendor/behat/behat/src/Behat/Behat/Hook/Tester/HookableStepTester.php(74): Behat\Behat\Tester\Runtime\RuntimeStepTester->test(Object(Behat\Behat\Context\Environment\InitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), Object(Behat\Gherkin\Node\StepNode), false) 
     #13 vendor/behat/behat/src/Behat/Behat/EventDispatcher/Tester/TickingStepTester.php(59): Behat\Behat\Hook\Tester\HookableStepTester->test(Object(Behat\Behat\Context\Environment\InitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), Object(Behat\Gherkin\Node\StepNode), false) 
     #14 vendor/behat/behat/src/Behat/Behat/EventDispatcher/Tester/EventDispatchingStepTester.php(73): Behat\Behat\EventDispatcher\Tester\TickingStepTester->test(Object(Behat\Behat\Context\Environment\InitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), Object(Behat\Gherkin\Node\StepNode), false) 
     #15 vendor/behat/behat/src/Behat/Behat/Tester/StepContainerTester.php(59): Behat\Behat\EventDispatcher\Tester\EventDispatchingStepTester->test(Object(Behat\Behat\Context\Environment\InitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), Object(Behat\Gherkin\Node\StepNode), false) 
     #16 vendor/behat/behat/src/Behat/Behat/Tester/Runtime/RuntimeScenarioTester.php(76): Behat\Behat\Tester\StepContainerTester->test(Object(Behat\Behat\Context\Environment\InitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), Object(Behat\Gherkin\Node\ScenarioNode), false) 
     #17 vendor/behat/behat/src/Behat/Behat/Hook/Tester/HookableScenarioTester.php(74): Behat\Behat\Tester\Runtime\RuntimeScenarioTester->test(Object(Behat\Behat\Context\Environment\InitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), Object(Behat\Gherkin\Node\ScenarioNode), false) 
     #18 vendor/behat/behat/src/Behat/Behat/EventDispatcher/Tester/EventDispatchingScenarioTester.php(103): Behat\Behat\Hook\Tester\HookableScenarioTester->test(Object(Behat\Behat\Context\Environment\InitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), Object(Behat\Gherkin\Node\ScenarioNode), false) 
     #19 vendor/behat/behat/src/Behat/Behat/Tester/Runtime/IsolatingScenarioTester.php(69): Behat\Behat\EventDispatcher\Tester\EventDispatchingScenarioTester->test(Object(Behat\Behat\Context\Environment\InitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), Object(Behat\Gherkin\Node\ScenarioNode), false) 
     #20 vendor/behat/behat/src/Behat/Behat/Tester/Runtime/RuntimeFeatureTester.php(84): Behat\Behat\Tester\Runtime\IsolatingScenarioTester->test(Object(Behat\Behat\Context\Environment\UninitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), Object(Behat\Gherkin\Node\ScenarioNode), false) 
     #21 vendor/behat/behat/src/Behat/Behat/Hook/Tester/HookableFeatureTester.php(72): Behat\Behat\Tester\Runtime\RuntimeFeatureTester->test(Object(Behat\Behat\Context\Environment\UninitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), false) 
     #22 vendor/behat/behat/src/Behat/Behat/EventDispatcher/Tester/EventDispatchingFeatureTester.php(71): Behat\Behat\Hook\Tester\HookableFeatureTester->test(Object(Behat\Behat\Context\Environment\UninitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), false) 
     #23 vendor/behat/behat/src/Behat/Testwork/Tester/Runtime/RuntimeSuiteTester.php(63): Behat\Behat\EventDispatcher\Tester\EventDispatchingFeatureTester->test(Object(Behat\Behat\Context\Environment\UninitializedContextEnvironment), Object(Behat\Gherkin\Node\FeatureNode), false) 
     #24 vendor/behat/behat/src/Behat/Testwork/Hook/Tester/HookableSuiteTester.php(73): Behat\Testwork\Tester\Runtime\RuntimeSuiteTester->test(Object(Behat\Behat\Context\Environment\UninitializedContextEnvironment), Object(Behat\Testwork\Specification\GroupedSpecificationIterator), false) 
     #25 vendor/behat/behat/src/Behat/Testwork/EventDispatcher/Tester/EventDispatchingSuiteTester.php(72): Behat\Testwork\Hook\Tester\HookableSuiteTester->test(Object(Behat\Behat\Context\Environment\UninitializedContextEnvironment), Object(Behat\Testwork\Specification\GroupedSpecificationIterator), false) 
     #26 vendor/behat/behat/src/Behat/Testwork/Tester/Runtime/RuntimeExercise.php(71): Behat\Testwork\EventDispatcher\Tester\EventDispatchingSuiteTester->test(Object(Behat\Behat\Context\Environment\UninitializedContextEnvironment), Object(Behat\Testwork\Specification\GroupedSpecificationIterator), false) 
     #27 vendor/behat/behat/src/Behat/Testwork/EventDispatcher/Tester/EventDispatchingExercise.php(70): Behat\Testwork\Tester\Runtime\RuntimeExercise->test(Array, false) 
     #28 vendor/behat/behat/src/Behat/Testwork/Ordering/OrderedExercise.php(80): Behat\Testwork\EventDispatcher\Tester\EventDispatchingExercise->test(Array, false) 
     #29 vendor/behat/behat/src/Behat/Testwork/Tester/Cli/ExerciseController.php(149): Behat\Testwork\Ordering\OrderedExercise->test(Array, false) 
     #30 vendor/behat/behat/src/Behat/Testwork/Tester/Cli/ExerciseController.php(108): Behat\Testwork\Tester\Cli\ExerciseController->testSpecifications(Object(Symfony\Component\Console\Input\ArgvInput), Array) 
     #31 vendor/behat/behat/src/Behat/Testwork/Cli/Command.php(63): Behat\Testwork\Tester\Cli\ExerciseController->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) 
     #32 vendor/symfony/symfony/src/Symfony/Component/Console/Command/Command.php(242): Behat\Testwork\Cli\Command->execute(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) 
     #33 vendor/symfony/symfony/src/Symfony/Component/Console/Application.php(842): Symfony\Component\Console\Command\Command->run(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) 
     #34 vendor/symfony/symfony/src/Symfony/Component/Console/Application.php(193): Symfony\Component\Console\Application->doRunCommand(Object(Behat\Testwork\Cli\Command), Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) 
     #35 vendor/behat/behat/src/Behat/Testwork/Cli/Application.php(124): Symfony\Component\Console\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) 
     #36 vendor/symfony/symfony/src/Symfony/Component/Console/Application.php(117): Behat\Testwork\Cli\Application->doRun(Object(Symfony\Component\Console\Input\ArgvInput), Object(Symfony\Component\Console\Output\ConsoleOutput)) 
     #37 vendor/behat/behat/bin/behat(34): Symfony\Component\Console\Application->run() 
     #38 {main} 
    When I fill in "searchTerm" with "Samsung" # FeatureContext::fillField() 
    And I press "search_submit"     # FeatureContext::pressButton() 
    Then I should see "Samsung Galaxy"   # FeatureContext::assertPageContainsText() 

--- Failed scenarios: 

    features/search.feature:7 

1 scenario (1 failed) 
4 steps (1 failed, 3 skipped) 
0m46.70s (13.28Mb) 

一方、次は、Seleniumサーバーを実行しているターミナルのタブに追加されます。あなたがたのうち、いくつかの経験取得をお持ちの場合は

2017-12-15 19:14:05.837:INFO:osjshC.ROOT:qtp1021436681-16: org.openqa.selenium.remote.server.WebDriverServlet-49049a04: Initialising WebDriverServlet 
19:14:05.975 INFO - Found handler: [email protected]67021 
19:14:05.990 INFO - /session: Executing POST on /session (handler: BeginSession) 
19:14:06.197 INFO - Capabilities are: Capabilities {browser: firefox, browserName: firefox, ignoreZoomSetting: false, marionette: false, name: Behat feature suite, tags: [Megs-MacBook.local, PHP 7.0.24]} 
19:14:06.202 INFO - Capabilities {browser: firefox, browserName: firefox, ignoreZoomSetting: false, marionette: false, name: Behat feature suite, tags: [Megs-MacBook.local, PHP 7.0.24]} matched class org.openqa.selenium.remote.server.ServicedSession$Factory (provider: org.openqa.selenium.firefox.XpiDriverService) 

Mac上のブラウザと話すだけで、本当にあなたの助けに感謝します。ログやその他の情報などの情報が必要な場合は、私はそれを完全に提供しますが、それを見つける方法については「馬鹿のガイド」の指示を出す必要があります。

どうもありがとうあなたが提供できる任意のヘルプの事前に感謝:)

答えて

1

同じ問題に捕まってしまった、known issue with new mink-extension 2.3があるあなたが必要とするすべてがちょうどmarionette: null

を設定することです
extensions: 
    Behat\MinkExtension: 
     base_url: http://127.0.0.1:8000 
     javascript_session: selenium2 

     browser_name: chrome 
     selenium2: 
      capabilities: 
       # required by mink-extension 2.3 
       marionette: null 
       browserName: chrome 
       browser: chrome 
       version: 63 
+0

ああ、私はおっしゃっていました最後に、やったよ!!!私のシステムを骨抜きにしていたものをインストールし、今週末に核と舗装の準備をしていたので、何時間も無駄な仕事を数時間節約できました。 –

1

セレンのサーバーを起動するときにドライバを設定する必要があります。

java -Dwebdriver.chrome.driver=path_to_chrome_driver -jar path_to_selenium_server.jar 

(セレンサーバーとブラウザードライバー)を同じディレクトリーに置いて、サーバーを始動するためにbashスクリプトを使用することをお勧めします。
デフォルトのポート4444を持つローカルマシン上のサーバーを使用している場合は、wd_hostを指定する必要はありません。

私はfirefoxで試してみませんでしたが、chromeはうまく動作します。 ブラウザを使用しているときは、機能レベルの@javascriptタグに@insulatedも使用できるようにして、ブラウザがクッキーとキャッシュなしでクリーンになるようにします。

@insulated @javascript 
Feature: Feature name 


    @my_tag 
    Scenario: Feature name - scenario summary

ようbehat.yml試してみてください:あなたはまた、Firefoxのあなたのために、そのドライバにセレンサーバを起動してもbehat.ymlで名前を変更する必要があり、別のブラウザを使用している場合は

default: 
    suites: 
    default: 
     contexts: 
     - FeatureContext 
    formatters: 
    pretty: 
    junit: 
    html: 
     output_path: %paths.base%/report 

    extensions: 
    Behat\MinkExtension: 
     goutte: ~ 
     selenium2: 
     browser: chrome 
     capabilities: 
      chrome: 
      switches: 
       - "start-maximized" 
     base_url: 'base_url' 


dev: 
    extensions: 
    Behat\MinkExtension: 
     base_url: 'base_url_dev' 

をgeckdriverが必要で、chromeの代わりにgecko.driverを使用する必要があります。

+0

He y lauda、アドバイスありがとう。残念なことに、それは私のために働いていないが、おそらくあなたはいくつかの考えを持っている。 セレンのjarファイルを/ usr/local/binに移動したので、chromedriverとgeckodriverでハングアウトすることができました。 あなたの推奨事項に従ってbehat.ymlを変更してから、「java -Dwebdriver.chrome.driver =/usr/local/bin/chromedriver -jar/usr/local/bin/selenium-server- standalone-3.8.1.jar」となります。 私はbehatを実行しようとしたとき、前と同じことが起こりました。つまり、** Firefox **が開かれ、そこにハングアップしています... No Chrome。思考? –

+0

サイドの質問:どのように人々はフォローアップの議論を持っているのですか?私は実際にここにコードを貼り付けることはできません。私はオリジナルの投稿を編集するのですか? –

+0

ドライバとファイルが同じディレクトリにある場合は、完全パスを指定する必要はありません。これに関連するその他の質問や更新については、質問を編集する必要があります。また、インストールするライブラリのバージョンにも注意する必要があります。 – lauda

0

セレンをスキップし、クロームドライバを直接ChromeExtensionのD.Moreから使用することもできます。 Chromeドライバを使用すると、ウィンドウとヘッドレスの両方で動作します。ヘッドレス版のクロムとこのドライバは、セレンを使うよりもずっと高速です。参考までに私のbehat.yml:

default: 
translation: 
    locale: nl 
extensions: 
    DMore\ChromeExtension\Behat\ServiceContainer\ChromeExtension: ~ 
    Behat\MinkExtension: 
     browser_name: chrome 
     base_url: https://www.yoursite.com 
     sessions: 
      default: 
       chrome: 
        api_url: "http://127.0.0.1:9222" 
        download_behavior: allow 
        download_path: ~/Downloads 
        validate_certificate: false 

私の作曲家。JSON:あなたはbehatを実行する前に、クロム(ヘッドレスかどうか)を起動する必要があり

{ 
"require-dev": { 
    "behat/behat": "^3.4", 
    "behat/mink-extension": "^2.3", 
    "behat/mink-selenium2-driver": "^1.3" 
}, 
"require": { 
    "behat/mink-goutte-driver": "^1.2", 
    "dmore/chrome-mink-driver": "^2.5", 
    "dmore/behat-chrome-extension": "^1.1" 
} 

}

注意。 chromedriverは(あなたがどこかの$ PATHにある場所に持って確認してください)インストールクロームのバージョンと一致している必要があり

alias chrome='/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome' 
alias chromedriver='chrome --disable-gpu --remote-debugging-address=127.0.0.1 --remote-debugging-port=9222' 
alias chromedriverheadless='chrome --disable-gpu --headless --remote-debugging-address=127.0.0.1 --remote-debugging-port=9222' 

場合:このために私は私のホームディレクトリ内の私の.bash_profileで3つのエイリアスを(作成しました。それは多くの場合、Chromeは自分自身を更新しますが、chromedriverしていない、動作を停止します。 私は、このソリューションは、私のMac上で作業しています。

+0

こんにちはBjinse、あなたの時間のためにあまりにもありがとう:)あなたはもう少し時間があれば、いくつかの問題。 '' ' シナリオ:存在する単語を検索する#features/search.feature:6 私は"/"#を使用していますが、私はあなたに合ったファイルを設定してからbehatを実行すると、 FeatureContext :: visit() 警告:最初のパラメータはオブジェクトか、vendor/dmore/chrome-mink-driver/src/ChromeBrowser.php行の既存のクラスの名前でなければなりません43 '' ' 提案? (私のgoogle-fuは私にここで失敗しています:() –

+0

Chromeを実行していて、ポート9222でリッスンしていますか(psで確認するか127.0.0.1:9222にブラウズしますか?)私がGoogleに送信すると、テストではクロムを使用しています。あなたはセレンのサーバーを稼働させる必要はありません – Bjinse

関連する問題