Chromedriver在测试后关闭

时间:2017-04-25 13:39:59

标签: python python-3.x selenium selenium-chromedriver python-unittest

所以我的理解是调用driver.quit或close是关闭驱动程序和关联窗口的正确方法。

然而,在运行我的测试时,似乎即使没有调用driver.quit而是调用pass,窗口仍然会关闭。

我正在使用python与通过pytest执行的unittest测试用例。我也通过Pycharm运行标准unitests。在所有情况下,浏览器都会按照描述关闭。我希望浏览器保持开放,我可以调试测试。我可以打电话给睡觉(9000),但这看起来很蠢。

此外,浏览器在某些计算机上注释退出时保持打开状态,但在使用相同的chromedriver,Chrome版本和代码的其他计算机上则不会保持打开状态。

分析chromedriver日志,它似乎注册了一个QuitAll命令,但我不知道从哪里获取它。 pyc文件可以不被覆盖吗?

退出代码:

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

1 个答案:

答案 0 :(得分:7)

一旦脚本因the code here而结束,服务将停止。

如果您希望chrome和chromedriver在之后保持打开状态,您可以在启动chromedriver时添加detach选项:

from selenium.webdriver import ChromeOptions, Chrome
opts = ChromeOptions()
opts.add_experimental_option("detach", True)
driver = Chrome(chrome_options=opts)