python selenium webdriver safari驱动程序

时间:2011-07-16 05:41:55

标签: python selenium safari webdriver

快速提问,我一直在构建一个用于测试我们网站的python selenium框架。我已成功实施Firefox,Chrome和IE浏览器测试。但一直在寻找Safari驱动程序。我知道在官方文档中它简要描述了它的不兼容性并且不支持Safari。你们会建议我用python和selenium来测试Safari功能。是否可以使用python?

我搜索并搜索,似乎无法找到任何相关的Safari驱动程序。

提前致谢,

5 个答案:

答案 0 :(得分:2)

结帐this blog post。它适用于Java,但Python的过程应该大致相同。

答案 1 :(得分:2)

尚未实施本地SafariDriver的绑定。如果您需要此功能,请在Selenium的错误跟踪器中标出以下问题:

答案 2 :(得分:1)

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

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

答案 3 :(得分:0)

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

您还可以从Github查看源代码并构建它。

Safari的Python Selenium绑定并没有真正实现,而是使用java实现。作为一个reaslt,您需要Selenium-standalone-Server jar文件。它必须位于运行脚本的计算机上的PATH中。

答案 4 :(得分:0)

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

另一个例子如何通过selenium网格调用Safari测试,请注意selenium网格和节点应该正在运行。

# -*- 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()