pytest如何防止频繁打开浏览器

1、问题描述:登录系统后,进入A模块,点击【新增】按钮,执行新增操作的用例,我希望每次都是重新从新增按钮页面开始操作,而不需从新打开浏览器,进行登录,然后进入A模块等操作

初步解决:虽然说,防止 频繁打开浏览器的方法是使用@pytest.fixture(scope="session")当然scope也可能是class,但是实战过程中,发现依旧是重新打开浏览器等操作

 

实例:

@pytest.fixture(scope="session")
def browser():
    option=webdriver.ChromeOptions()
    option.add_argument("--disable-infobars")
    driver=webdriver.Chrome(options=option)
    driver.implicitly_wait(10)
    driver.maximize_window()
    yield driver

    driver.quit()
@pytest.fixture(scope="session")
def login(browser):#希望整个login操作只执行一次
    print("开始运行")
    index=Login_page(browser).get_url().login("xxx","xxxx").skip_click().get_report().get_sq_manager()
    return index

思考后:在获取失望结果后,无论怎样都执行刷新浏览器操作,即可解决

    def fail_tip(self):
        try:
            return BasePage(self.browser).find_element_only(self.fail_locator).text
        except Exception as e:
            print("失败")
        finally:
            self.browser.refresh()

 

上一篇:linux 安装mysql5.7.25


下一篇:2 flask selenium