Selenium 3.0.1,safaridriver在waitForElementVisible()上失败

Selenium 3.0.1,safaridriver在waitForElementVisible()上失败,selenium,selenium-webdriver,safari,codeception,safaridriver,Selenium,Selenium Webdriver,Safari,Codeception,Safaridriver,Safari 10.0.1 马科斯山脉 运行Codeception命令时: $I->waitForElementVisible(['css' => 'input[type=text][id=UserUsername]'], 30); 在Safari的Selenium 3.0.1验收测试中,我收到一个错误。故障时拍摄的屏幕截图清楚地显示了有问题的元素。相同的测试/命令在Firefox和Chrome中都成功。错误: Screenshot saved to /Applications/M

Safari 10.0.1 马科斯山脉

运行Codeception命令时:

$I->waitForElementVisible(['css' => 'input[type=text][id=UserUsername]'], 30);
在Safari的Selenium 3.0.1验收测试中,我收到一个错误。故障时拍摄的屏幕截图清楚地显示了有问题的元素。相同的测试/命令在Firefox和Chrome中都成功。错误:

Screenshot saved to /Applications/MAMP/htdocs/AutomatedTests/tests/_output/debug/FAILED1479307207.png
  Unable to retrieve Selenium logs : The command 'GET /session/9BC56414-8934-4315-9293-B6E99720E318/log/types' is not implemented.
  Command duration or timeout: 3 milliseconds
  Build info: version: '3.0.1', revision: '1969d75', time: '2016-10-18 09:48:19 -0700'
  System info: host: 'Cosettes-MacBook-Pro.local', ip: '10.0.1.75', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '10.12.1', java.version: '1.8.0_101'
  Driver info: org.openqa.selenium.safari.SafariDriver
  Capabilities [{applicationCacheEnabled=true, rotatable=false, databaseEnabled=true, handlesAlerts=true, version=12602.2.14.0.5, cleanSession=true, platform=MAC, nativeEvents=true, locationContextEnabled=false, webStorageEnabled=true, browserName=safari, javascriptEnabled=true, cssSelectorsEnabled=true}]
  Session ID: 9BC56414-8934-4315-9293-B6E99720E318
  Screenshot and page source were saved into '/Applications/MAMP/htdocs/AutomatedTests/tests/_output/' dir
 ERROR 
当我在Safari/Firefox/Chrome和Selenium 2.53.1中运行相同的测试/命令时,它发现元素没有问题

在浏览论坛时,我是否发现这种定位器存在已知问题?有人对如何实现这一目标有什么建议吗

更新12-01-16:与定位器相比,waitForElementVisible()命令的问题更多。如果我将命令更改为
$I->waitForElement(['css'=>'input[type=text][id=useruserusername]',30)测试成功地向前移动,直到下一个waitForElementVisible()命令。

在Safari 10的发行版中,可见性检查被破坏。您可以尝试,如果您的问题仍然存在,我们可以断定这是其他问题,而不是损坏的可见性检查。如果你的问题消失了,那就不完全是你用户的体验了,但总比什么都没有好。此外,您还可以尝试使用浏览器端的一些脚本(例如,外观足够好)实现自己的可见性检查,作为解决方法

要在Safari技术预览中运行测试,请添加

'safari.options': { technologyPreview: true }
与能力相关


另请参见本主题。

并非完全相同的问题,但它可能会对您有所帮助。谢谢,但我不这么认为。我已经通读了那个问题/解决方案。描述的问题是无法连接safariDriver。“我已经远远超过那个点了。”科塞顿:你找到解决办法了吗?我也有同样的问题。我没有,但我很高兴知道我不是唯一一个与之斗争的人。该死。一切正常(如Edge、Chrome、Firefox),只有Safari不工作。它只打开页面,然后什么也没有。我将尝试等待,而不是现在可见的元素。由于我们在当前Safari和Chrome上成功地使用了旧版本的Selenium Webdriver,我们将继续使用它,直到Safari将其结合起来。我是否理解Safari 10使用的旧web驱动程序是作为Safari的扩展实现的,它工作正常吗?您使用的是什么版本的Selenium服务器?是的。我们一直停留在2.53.1进行日常测试,而我一直在尝试将我们带到3.0.1,让它在Firefox、Chrome和Safari上运行。目前的设置让Firefox保持在47.0.1版本,但我们的Safari用户比Firefox多,因此我们正在优先考虑Safari。