我在使用mobileEmulation选项运行测试时遇到问题,因此当我尝试在每个元素上绑定click事件时,它会像长按/触摸/点击而不是左键单击,但它在桌面测试中完美运行,是否有人知道可能是什么问题?
<div class="m-t">
<button type="submit" class="btn primary btn-block" ng-disabled="working" ng-mouseover="validateInputs()">
<span ng-show="!working">Sign up for free</span>
<span ng-show="working">Please wait...</span>
</button>
</div>
这是我的选择器示例:
browser.element(by.css( '[类型= “提交”]'))点击();
请查看我的webdriver manager版本和配置:
这是我的配置:
seleniumAddress: 'http://127.0.0.1:4444/wd/hub',
capabilities: {
'browserName': 'chrome',
'chromeOptions': {
// Get rid of --ignore-certificate yellow warning
args: ['--no-sandbox', '--test-type=browser'],
// Set download path and avoid prompting for download even though
// this is already the default on Chrome but for completeness
prefs: {
'download': {
'prompt_for_download': false,
'directory_upgrade': true,
'default_directory': path.join(__dirname, 'dummy-files', 'tmp')
}
},
'mobileEmulation': {
'deviceName': 'iPhone 6'
}
}
}
这是我的webdriver管理器版本:
$ sudo webdriver-manager status
webdriver-manager: using global installed version 12.0.6
I/status - selenium standalone version available: 3.8.1 [last]
I/status - chromedriver version available: 2.34 [last]
I/status - geckodriver version available: v0.19.1 [last]
I/status - android-sdk is not present
I/status - appium is not present
答案 0 :(得分:0)
似乎是chromedriver 2.34 https://bugs.chromium.org/p/chromedriver/issues/detail?id=2172中的一个错误。目前,将chromedriver降级为2.33应该可以解决这个问题。看起来您可能正在运行webdriver-manager update
来开始测试。您只需添加--versions.chrome=2.33
即可运行其他版本
或者,您可以将点击更改为点按:
browser.touchActions().tap(el).perform();