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()

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值