快速问题,我一直在为测试我们的网站构建一个Python Selenium框架。我已经成功实现了Firefox、Chrome和IE浏览器的测试,但一直在寻找Safari驱动程序。我知道官方文档中简要描述了它的不兼容性,并且不支持Safari。你们有什么建议可以让我使用Python和Selenium进行Safari功能测试吗?
我已经搜索了很多相关的Safari驱动程序,但是没有找到。
谢谢。
本地SafariDriver的绑定尚未实现。如果您需要此功能,请在 Selenium 的 bug 跟踪器中标记以下问题:
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()
Safari Driver是Safari扩展程序,您可以在seleniumhq.org网站的下载部分找到链接。 http://docs.seleniumhq.org/download/
您也可以从Github检查源代码并构建它。
Python Selenium绑定程序对于Safari并没有真正实现,但使用了Java实现。因此,您需要Selenium-standalone-Server jar文件。它必须在运行脚本的机器上的PATH中。