pytest_全局变量的使用

本文介绍了如何在pytest框架下运用PageObject设计模式,通过示例代码展示了全局变量在loginpage.py和test_login.py中的使用。同时提出了优化建议,将数据库信息读取单独封装,以提高代码组织性。内容适合对Python测试和数据库操作感兴趣的读者。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这里重新阐述下PageObject设计模式:

PageObject设计模式是selenium自动化最成熟,最受欢迎的一种模式,这里用pytest同样适用

 

这里直接提供代码:

 

全局变量

conftest.py
"""
conftest.py 全局变量,主要实现以下功能:
1、添加命令行参数broswer, 用于切换不用浏览器
2、全局参数driver调用
"""

import pytest
from selenium import webdriver

def pytest_addoption(parser):
    '''
    添加命令行参数 --browser
    '''

    parser.addoption(
        "--browser", action="store", default="firefox", help="browser option: firefox or chrome"
             )

@pytest.fixture(scope='session')   # 以实现多个.py跨文件使用一个session来完成多个用例
def driver(request):
    '''定义全局driver参数'''
    name = request.config.getoption("--browser")
    if name == "firefox":
        driver = webdriver.Firefox()
    elif name == "chrome":
        driver = webdriver.Chrome()
    else:
        driver = webdriver.Chrome()
    print("正在启动浏览器名称: %s" % name)
    # 需要登陆就调用登陆函数

    def fn():
        print("当全部用例执行完之后: teardown driver!")
        driver.quit()
    request.addfinalizer(fn)
    return driver

 

loginpage.py

'''
作者:Caric_lee
日期:2018
'''
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值