首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未能连接到SafariDriver (Safari 10)

未能连接到SafariDriver (Safari 10)
EN

Stack Overflow用户
提问于 2017-01-06 19:55:27
回答 2查看 4.4K关注 0票数 6

在mac上运行量角器测试时,我得到了以下错误

代码语言:javascript
复制
Failed to connect to SafariDriver after 10082 ms
Build info: version: '2.53.1', revision: 'a36b8b1',     
os.arch: 'x86_64', os.version: '10.12.2', java.version: '1.8.0_101'
Driver info: driver.version: SafariDriver

能力:

代码语言:javascript
复制
        name: 'Safari',
        browserName: 'safari',
        logName: 'Safari',
        shardTestFiles: true,
        maxInstances: 2

我们需要一个特殊的旅行司机吗?如果是,我可以从哪里得到它,在.conf文件中应该在哪里声明它。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-09 22:07:42

是的,您需要安装一个特殊的旅行司机才能在量角器内启动它。当然,你需要在mac上。量角器本质上是构建在之上的一个层,因此您需要安装Safari的selenium驱动程序,它是作为Safari插件实现的。

下面是你需要做的事情:

  1. 这里下载safari插件。
  2. 运行插件
  3. 在safari提示下选择“信任”插件

驱动器现在已安装,并应可用于您的量角器过程。

这是Selenium 2.48的驱动程序。我找不到更新的版本,所以如果这个驱动程序版本没有与当前版本的Protractor一起运行,那么您需要使用基于Selenium 2.48的较旧版本的量角器,或者从源代码构建safari驱动程序。

票数 4
EN

Stack Overflow用户

发布于 2017-01-23 16:12:07

首先,从Safari 10开始,Safari附带了一个新的驱动程序实现。旧的驱动程序(扩展部分)被废弃了。您使用的是macOS 10.12.2,所以这是您的情况。若要在Safari中启用新的驱动程序,请在“开发”菜单中切换“允许远程自动化”复选框。如果您没有此菜单,请在菜单栏中启用它: Preferences > Advanced >。手动启动/usr/bin/safaridriver一次,以授予它所需的权限。

其次,您需要一个3.x版本的Selenium独立服务器,而不是2.53.1。安装它的命令:

代码语言:javascript
复制
sudo webdriver-manager update --versions.standalone 3.0.1

首先:

代码语言:javascript
复制
webdriver-manager start --versions.standalone 3.0.1

第三,可见性检查在新司机中被打破。因此,像browser.wait(ExpectedConditions.visibilityOf(myElement), 5000);这样的东西不起作用,导致了UnsupportedCommandException。为了解决这个问题,您可以尝试安装Safari技术预览并在那里运行测试(将'safari.options': { technologyPreview: true }添加到功能中)。但对我来说,预览的效果甚至比发行版还要糟糕。量角器说它无法在页面上找到角,因为他们改变了window.name,使其在第19版中的跨原点导航之后被清除。如果你碰巧找到办法让它发挥作用,请告诉我。

下面是一些你应该检查的链接,因为我可能漏掉了什么。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41513352

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档