image.png

一台虚拟机C盘总是莫名奇妙的空间用完,导致很多软件没法再运行。经过仔细检查发现是C:\Program Files (x86)下面很多scoped_dir开头的文件夹。

数量特别多,总体积超乎了我的想象。

经查询发现运行python+selenium chromedriver产生的东西,具体有什么用不知道。

scoped_dir的则是因为启动webdriver的时候没有指定user data目录,所以在Temp目录下产生了一个临时的配置文件目录。正常来说,当执行完后用driver.quit()应该会退出的,但原先的代码执行时在还没到driver.quit()这一步时就已经失败退出,所以Temp目录下的文件没被删除。

改进:

  1. 使用conftest和yield,将webdriver的初始化,登录和关闭浏览器定义为function级别的fixture
    原代码:
def test_example():
    driver = Driver().openBrowser()
    login_page = LoginPage(driver)
    login_page.login()
   
    home_page = HomePage(driver)
    home_page.open_inventory()
    
    driver.quit()

新代码
conftest.py

@pytest.fixture(scope="function")
def driver():
    # 前置
    driver = Driver().openBrowser()
    login_page = LoginPage(driver)
    login_page.login()
    print("初始化完成...")
    yield driver
    # 后置
    driver.quit()
    print("关闭浏览器...")
PYTHON 复制 全屏
def test_example(driver):
    home_page = HomePage(driver)
    home_page.open_inventory()
  1. 禁止浏览器插件更新 disable-component-update
class Driver:
    def openBrowser(self):
        chrome_options = webdriver.ChromeOptions()
        chrome_options.add_argument("start-maximized")
        chrome_options.add_argument("--disable-component-update")
        driver = webdriver.Chrome(options=chrome_options)
        return driver