Selenium 3.0.1 与 safaridriver 在 waitForElementVisible() 上失败

2024-01-03

Safari 10.0.1 macOS 塞拉利昂

运行 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 

当我使用 Selenium 2.53.1 在 Safari/Firefox/Chrome 中运行相同的测试/命令时,它发现该元素没有问题。

我在浏览论坛时没有发现这种类型的定位器是否存在已知问题?有人对如何进行这项工作有建议吗?

16 年 1 月 12 日更新:现在这似乎更多是 waitForElementVisible() 命令的问题,而不是定位器的问题。如果我将命令更改为$I->waitForElement(['css' => 'input[type=text][id=UserUsername]'], 30);测试成功前进直到下一个 waitForElementVisible() 命令。


人们说 https://groups.google.com/forum/#!msg/selenium-users/xEGcK92rzVg/IboybWUPAAAJSafari 10 发行版中的可见性检查被破坏。您可以尝试Safari 技术预览 https://developer.apple.com/safari/technology-preview/,如果您的问题仍然存在,我们可以断定这是其他问题,而不是可见性检查损坏。如果您的问题消失了,这将不完全是您的用户体验,但无论如何总比没有好。您也可以尝试使用浏览器端的某些脚本来实现自己的可见性检查作为解决方法(例如这个功能 https://stackoverflow.com/questions/19669786/check-if-element-is-visible-in-dom/41698614#41698614看起来足够好)。

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

'safari.options': { technologyPreview: true }

到能力。

也可以看看我的另一个答案 https://stackoverflow.com/a/41810723/76173关于这个话题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Selenium 3.0.1 与 safaridriver 在 waitForElementVisible() 上失败 的相关文章

随机推荐

  • 使用 linq 更新对象的性能更好

    我有两个自定义对象列表 如果另一个列表中存在与另一对字段匹配的对象 则希望更新一个列表中所有对象的字段 这段代码更好地解释了问题并产生了我想要的结果 然而 对于较大的 20k 列表以及包含匹配对象的 20k 列表 这需要相当长的时间 31
  • Maven:在一个阶段运行插件两次,与另一个插件交错

    对于我们的端到端测试 我们需要执行以下逻辑流程 在数据库中创建并设置 e2e 架构 用户 pre integration test 运行 Liquibase 以最初填充架构 pre integration test 将特定于 e2e 的测试
  • Laravel withCount() 子查询

    如何在 withCount 上运行子查询 我有一个查询要运行多个计数 每个计数都有自己的子查询 这是我正在寻找的示例 date from Carbon parse 1 1 2018 date to Carbon parse 1 2 2018
  • 在 ASP.NET 中使用 SQL 代替 RESX 文件进行本地化

    我正在考虑开发以下内容 但想知道它是否已经存在 我需要一个基于 SQL 的解决方案来为 asp net 站点分配和管理本地化文本值 而不是使用 RESX 文件 这有助于维护网站上的文本 而无需在需要更新时将其删除以进行部署 Thanks 我
  • 如何使用 couchdb-lucene 在 CouchDB 中索引数组(标签)

    设置 我有一个使用 CouchDB 的项目 这些文档将有一个名为 标签 的字段 这个 tags 字段是一个字符串数组 例如 tags tag1 tag2 etc 我使用 couchdb lucene 作为我的搜索提供程序 问题 可以使用什么
  • 开发模式下的 GET + App Engine 应用程序在本地网络上不可用

    我正在开发一个 GWT AppEngine 应用程序 一切正常 除了当我在开发模式下运行它时 该应用程序对本地网络上的机器不可见 即使在本地机器上http localhost 8080 应用程序 http localhost 8080 ap
  • Linkedin V1 update-comments-as-company api 抛出 500 错误代码

    我们正在使用 Linkedin v1 apiupdate comments as company代表用户管理的公司页面发布评论的端点 如今 此端点在尝试添加评论时会抛出 500 错误响应 请求示例 curl X POST H Authori
  • 用基本控制器进行 Ninject?

    我想知道当你有一个基本控制器时 如何使用 ninject 2 0 进行构造函数注入 I have private readonly IBaseService baseService public BaseController IBaseSe
  • 自动滚动回收器视图滑块

    我是 Android 开发新手 我正在尝试创建一个自动滚动 recyclerview 滑块 它还支持用户事件 例如下一个和上一个按钮以及手动滚动 Something like this 我已经实现了recyclerview和按钮事件处理 但
  • 抑制tensorflow-metal初始化消息

    我有一台 macbook pro m1 max 并通过安装了tensorflow张量流 苹果 下载 https developer apple com metal tensorflow plugin 每次运行使用 keras 或 tenso
  • 了解 PropertyChanged 机制的工作原理(工作流程)

    澄清 1 我不知道如果它有一个特定的名称或单词来用英语或编程俚语引用它 那么这可能是重复的帖子 因为我无法查看它 2 我对这些东西完全是新手 我从未使用过处理程序 所以这是问题的一部分 我试图理解如何NotifyPropertyChange
  • Javascript 变量未在函数内更新

    let number 100 function change number number number 10 change number console log number 上面的代码输出 100 而 let number 100 fun
  • 神经网络不适合异或

    我创建了一个 Octave 脚本 用于使用反向传播训练具有 1 个隐藏层的神经网络 但它似乎不适合 XOR 函数 x输入 4x2 矩阵 0 0 0 1 1 0 1 1 y输出4x1矩阵 0 1 1 0 theta隐藏 输出层权重 z加权总和
  • 将数组更改为字符串而不创建字符串

    我希望实现 String beef new String 3 beef 0 Water beef 1 Chicken beef 2 Paper String empo Arrays toString beef if empo isEmpty
  • 几秒钟后,应用程序被 ios7 中的操作系统杀死 -edit

    我正在创建基于导航的应用程序iOS 7 为此我正在使用 CoreLocation 框架获取用户位置数据 应用程序要求是在特定时间开始在后台获取用户位置 为此我已经实现了静默推送通知didReceiveRemoteNotification f
  • 不同 Windows 版本上的 Ruby Ocra 可执行致命错误

    我制作了一个非常简单的程序 用于添加和组织一系列书籍作者 标题 我在顶部只有一个要求 这是我创建的模块 代码只是标准的 ruby 没有 gem 或任何实现 require relative pairs2d 我使用 ocra 将其转换为可执行
  • 如何填补 data.frame 中的(日期)空白?

    我有一个带有日期列的数据框 这些日期可以出现多次 但也可以出现零次 date value 1 2013 01 01 5 2 2013 01 01 3 3 2013 01 03 3 4 2013 01 04 3 5 2013 01 04 1
  • linux——同时从文件读取/写入文件[关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions Linux 对我来说很陌生 我正在思
  • 在FTP服务器上扩展Python的os.walk功能

    我怎样才能使os walk遍历 FTP 数据库的目录树 位于远程服务器上 现在代码的结构方式是 提供注释 import fnmatch os ftplib def find pattern startdir os curdir find f
  • Selenium 3.0.1 与 safaridriver 在 waitForElementVisible() 上失败

    Safari 10 0 1 macOS 塞拉利昂 运行 Codeception 命令时 I gt waitForElementVisible css gt input type text id UserUsername 30 在 Safar