Chromedriver 测试后关闭

Chromedriver closing after test

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

然而,当 运行 进行我的测试时,似乎即使没有调用 driver.quit 而是调用 pass,window 仍然关闭。

我正在使用 python 和通过 pytest 执行的 unittest 测试用例。我还通过 Pycharm 运行 标准单元测试。在所有情况下,浏览器都会按说明关闭。我希望浏览器在我可以调试测试的地方保持打开状态。我可以调用 sleep(9000) 但这看起来很愚蠢。

此外,在某些机器上注释掉 quit 时浏览器保持打开状态,但在具有相同 chromedriver、Chrome 版本和代码的其他机器上则不会。

分析 chromedriver 日志,它似乎注册了一个 QuitAll 命令,但我不知道它是从哪里得到的。难道pyc文件不能被覆盖吗?

退出代码:

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

由于 the code here.

,您的脚本结束后服务将停止

如果你想让chrome和chrome驱动程序在之后保持打开状态,你可以在启动chrome驱动程序时添加detach选项:

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