1

因此,我运行 Safari .py 测试的设置与 Chrome 和 FireFox 的设置略有不同(示例如下)。话虽这么说,tearDown对于 Safari 一定是不同的,但我找不到任何例子或弄明白。

Chrome 设置示例:

class ChromeAllLinks(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Chrome()
        self.driver.implicitly_wait(30)
        self.base_url = "https://test.foo.com/"
        self.verificationErrors = []
        self.accept_next_alert = True

Safari 设置示例:

class SafariAllLinks(unittest.TestCase):
    def setUp(self):
        import webbrowser
        browser = webbrowser.get('safari')
        browser.open("https://test.foo.com/")
        self.verificationErrors = []
        self.accept_next_alert = True

因此,tearDown他们当然也应该有所不同。

正在使用Chrome tearDown(当然可以正常工作):

def tearDown(self):
    self.driver.quit()
    self.assertEqual([], self.verificationErrors)

我可以展示我正在为 Safari 尝试的内容tearDown,但它不起作用:

def tearDown(self):
    browser = webbrowser.quit('safari')

这是抛出的错误。说没有定义,但它是!

NameError:未定义全局名称“webbrowser”

4

0 回答 0