我正在为我们当前的网站设置行为测试。我过去曾使用过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?
可以共享实施'我点击按钮“loginBtn” '? – lauda
这是我实现:'/ ** * @Then/^我点击按钮 “([^”] *)“$/ */ 公共职能iClickButton($按钮) {$ 页面= $这个 - > getSession() - > getPage(); $ buttonElement = $ page-> findById($ button); $ buttonElement-> click(); }'不是我仍然遇到与“我按下按钮”和“我应该看到”内置的函数 – Arbel