我正在为我们当前的网站设置行为测试。我以前在Selenium独立服务器上使用过Behat,现在已经更新到最新的Behat 3和Selenium 3.5。我有很多问题。使用Selenium 3.5我无法让xpath选择器工作。它无法通过id,name,class等找到元素。使用Selenium 3.4.x它似乎工作正常,但我无法按下按钮工作。我收到此错误:
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 :(得分:1)
这似乎是Selenium的一个问题。使用FF时我也遇到了问题,无法点击元素。
答案 1 :(得分:1)
使用selenium3时,mouseMoveTo错误是众所周知的问题。此错误仅发生在具有gecko驱动程序的firefox浏览器中。要解决此问题,您可以使用chrome或更新MinkSelenium2Driver库。应该是MinkSelenium2Driver的主分支,需要behat / mink:~1.7@dev。以下是问题的重点MinkSelenium2Driver所以如果你可以使用所有最新的behat版本,那么composer.json可能看起来像这样:
"require": {
"behat/behat": "v3.3.1",
"behat/mink": "v1.7.1",
"behat/mink-extension": "v2.2",
"behat/mink-selenium2-driver": "dev-master",
}