2017-09-15 76 views
0

我正在为我们当前的网站设置行为测试。我过去曾使用过Behat独立服务器,现在已更新到最新的Behat 3和Selenium 3.5。尽管我有很多问题。使用Selenium 3.5我无法让xpath选择器工作。它无法通过ID,名称,类等来查找元素。使用Selenium 3.4.x,它似乎工作正常,但无法使按钮按钮正常工作。我收到此错误:无法使用Selenium 3.5.x查找Behat/Mink的页面元素

Then I click button "loginBtn"                # FeatureContext::iClickButton() 
    mouseMoveTo 
    Build info: version: '3.4.0', revision: 'unknown', time: 'unknown' 
    System info: host: 'matt-VirtualBox', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '4.4.0-59-generic', java.version: '1.8.0_131' 
    Driver info: driver.version: RemoteWebDriver (WebDriver\Exception\UnknownCommand) 

这似乎是在3.5.x中固定的,enablePassThrough设置为true。这是我的behat.yml配置。

default: 
suites: 
    default: 
     contexts: 
      - FeatureContext: 
       screenshots_path: '%paths.base%/screenshots/firefox/' 
extensions: 
    Behat\MinkExtension: 
     base_url: 'http://localhost:8080/customer_portal/' 
     default_session: selenium2 
     browser_name: 'firefox' 
     selenium2: 
      browser: 'firefox' 
      capabilities: 
       browserName: 'firefox' 
       browser: 'firefox' 
       version: '' 
      wd_host: 'localhost:5555/wd/hub' 

而且我composer.json文件

{ 
"require": { 
    "behat/behat": "3.*@stable", 
    "behat/mink": "1.7.*@stable", 
    "behat/mink-selenium2-driver": "@stable", 
    "behat/mink-goutte-driver": "@stable", 
    "behat/mink-extension": "@stable", 
     "phpmd/phpmd" : "@stable" 
}, 
"config": { 
    "bin-dir": "bin/" 
} 

}

我使用的是Firefox 55和geckodriver V18的内部。有没有人成功配置Selenium以使用Behat 3和Firefox?

+0

可以共享实施'我点击按钮“loginBtn” '? – lauda

+0

这是我实现:'/ ** * @Then/^我点击按钮 “([^”] *)“$/ */ 公共职能iClickButton($按钮) {$ 页面= $这个 - > getSession() - > getPage(); $ buttonElement = $ page-> findById($ button); $ buttonElement-> click(); }'不是我仍然遇到与“我按下按钮”和“我应该看到”内置的函数 – Arbel

回答

1

这似乎是来自Selenium的一个问题。我在使用FF时也遇到了问题,无法点击该元素。

+0

刚刚在Chrome上测试了配置并且没有问题的工作有趣 – Arbel

1

mouseMoveTo错误是使用硒3时众所周知的问题。此错误仅适用于带有壁虎驱动程序的Firefox浏览器。要解决此问题,您可以使用chrome或更新MinkSelenium2Driver库。应该是MinkSelenium2Driver的master分支,需要behat/mink:[email protected]。这是问题MinkSelenium2Driver点因此,如果其确定你使用的所有最新版本贝哈特,然后composer.json可能看起来是这样的:

"require": { 
    "behat/behat": "v3.3.1", 
    "behat/mink": "v1.7.1", 
    "behat/mink-extension": "v2.2", 
    "behat/mink-selenium2-driver": "dev-master", 
} 
+0

感谢您的回复我更新了我的作曲文件当我尝试运行Firefox时, v55)与硒3.5.3“无法打开连接:TypeError:给定browserVersion [object String]”9“,但当前版本是[object St ring]“55.0.2” – Arbel

+0

尝试在'selenium2'下的'behat.yml'中用'browserVersion =''' –

+0

更新'capabilities'参数,你会得到这个错误,因为browserVersion 9是MinkSelenium2Driver中的默认参数这里是[github链接](https://github.com/Behat/MinkSelenium2Driver/blob/master/src/Behat/Mink/Driver/Selenium2Driver.php#L182) –

相关问题