python selenium webdriver safari driver

3

快速问题,我一直在为测试我们的网站构建一个Python Selenium框架。我已经成功实现了Firefox、Chrome和IE浏览器的测试,但一直在寻找Safari驱动程序。我知道官方文档中简要描述了它的不兼容性,并且不支持Safari。你们有什么建议可以让我使用Python和Selenium进行Safari功能测试吗?

我已经搜索了很多相关的Safari驱动程序,但是没有找到。

谢谢。

5个回答

2

仍然只能在Safari中使用Python包装Java :( - uchuugaka

2

请查看这篇博客文章。虽然是针对Java的,但Python的过程应该大致相同。


那不是一个答案。 - frmsaul

1

我自己没有使用过,但是有一个Safari driver可用,作为浏览器扩展实现,它向每个页面注入javascript。

它有一些限制,例如无法处理警报,但希望它能有所帮助。


0

Python支持运行Safari测试,您可以在此博客上找到python示例

另一个示例是如何通过Selenium Grid调用Safari测试,请注意Selenium Grid和节点应该正在运行。

# -*- coding: utf-8 -*-
import unittest
from selenium import webdriver
from selenium.webdriver.common.keys import Keys

class PythonOrgSearch(unittest.TestCase):

def setUp(self):
    self.driver = webdriver.Remote(command_executor='http://localhost:4444/wd/hub',desired_capabilities={'browserName':'safari','version':'safariversion','platform':'MAC'})

def test_search_in_python_org(self):
    driver = self.driver
    driver.get("http://www.python.org")
    self.assertIn("Python", driver.title)
    driver.maximize_window()
    elem = driver.find_element_by_name("q")
    elem.send_keys("pycon")
    elem.send_keys(Keys.RETURN)
    assert "No results found." not in driver.page_source


def tearDown(self):
    self.driver.quit()

if __name__ == "__main__":
    unittest.main()

0

Safari Driver是Safari扩展程序,您可以在seleniumhq.org网站的下载部分找到链接。 http://docs.seleniumhq.org/download/

您也可以从Github检查源代码并构建它。

Python Selenium绑定程序对于Safari并没有真正实现,但使用了Java实现。因此,您需要Selenium-standalone-Server jar文件。它必须在运行脚本的机器上的PATH中。


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