使用Selenium Webdriver和Safari

4
我正在使用Visual Studio Express 2012和Selenium Webdriver C#。我安装了最新版本的Safari浏览器,并创建了来自苹果公司的开发者证书以及构建并安装了扩展程序。
但是即使这样,我仍然无法将URL发送到浏览器。浏览器可以成功启动,但之后我没有获取到任何日志信息。
错误消息为:
“附加信息:未从Safari扩展收到连接。请确认已正确安装并且是正确版本。”
以下是我所使用的代码:
IWebDriver driver = new SafariDriver();
driver.Navigate().GoToUrl("http://www.google.com");

Safari 无法连接服务器。请帮助我,谢谢。

4个回答

1
我正在使用NUnit测试框架和Selenium进行网页浏览器自动化,用C#在Visual Studio中编写测试。请尝试使用Selenium 2.45.0版本。我曾使用过版本为2.49.0的"Selenium WebDriver"和"Selenium WeDriver Support Classes"(通过NuGet在Visual Studio中安装)。当我尝试驱动Safari时它无法工作,但是可以在其他浏览器(Chrome、Firefox和IE)上工作。因此,我决定更改我使用的Selenium版本到2.45.0,因为这里提到:"...从Selenium 2.45.0开始,您必须手动安装SafariDriver浏览器扩展程序..."。我认为2.45.0是最好的起点。它奏效了。所以完整的步骤如下:打开并安装SafariDriver.safariextz 2.45版本,确保在Visual Studio中使用Selenium WebDriver 2.45.0和Selenium WebDriver Support Classes 2.45.0,然后运行测试。要在Visual Studio中更改Selenium版本,请参考以下步骤:
  • 工具
  • NuGet包管理器
  • PackageManager控制台(应该打开控制台窗口)
  • 输入:Install-Package Selenium.Support -Version 2.45.0(这也会将Selenium WebDriver更改为版本2.45.0)
  • 有关PackageManager控制台的更多信息:http://docs.nuget.org/consume/package-manager-console

0

我也在寻找答案...根据我的搜索结果,你需要安装一个扩展程序到你的Safari浏览器中,这样它才能与Selenium进行通信...但就我所知,我还没有找到任何成功的方法来做到这一点。所以我最终放弃了在Safari上使用Selenium测试,转而使用其他浏览器(Chrome、Firefox、IE和Opera(也有限制,目前无法最大化))。看起来Selenium对Safari的支持尚未成功实现,仍处于试验阶段。我目前正在使用最新版本的Selenium 2.29。

我想这更像是一条评论而不是答案,我只是想分享一下我的经验。但如果你找到了在Safari上进行Selenium测试的方法,请告诉我。谢谢。


0
正如Tagsip所说,我也处于同样的困境。 但是我可以使用selenium打开Safari浏览器,但无法导航到URL。它是在Localhost:上打开的。
这意味着,selenium支持Safari,但我们无法导航到URL。如果我错了,请纠正我。

0
使用Webdriver的"DesiredCapabilities"类。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接