hytest学习-数据驱动及挑选用例执行

文章介绍了如何使用数据驱动的方法来管理多个测试用例。在类中定义了一个名为`ddt_cases`的列表,存储了每个用例的名称和参数。测试步骤被编写为一个函数,动态获取参数并执行相应的操作,如登录网站。文章还提到了如何通过命令行参数指定执行特定用例、测试套件或基于标签的选择。测试框架支持通过`--test`、`--suite`和`--tag`等选项来控制用例的执行。
摘要由CSDN通过智能技术生成

数据驱动

当有多个用例都在某个界面下按照相同逻辑执行,只是参数不同时,可以在类中定义

dd_cases列表,该列表中存放的是一个个字典,每个字典代表一个用例,字典中存放用例名name,与参数para。如下,运行后会创建5个用例

class UI_000x:
    ddt_cases = [
        {
            'name': '用户登录0001',
            'para': ['', '8888', '请输入用户名']
        },
        {
            'name': '用户登录0002',
            'para': ['byhy', '8888888', '登录失败 : 用户名或者密码错误']
        },
        {
            'name': '用户登录0003',
            'para': ['byhy', '8888', '登录失败 : 用户名或者密码错误']
        },
        {
            'name': '用户登录0004',
            'para': ['dajlwkdja', '88888888', "登录失败 : 用户名或者密码错误"]
        },
        {
            'name': '用户登录0005',
            'para': ['byhy', '', '请输入密码']
        }
    ]

    def teststeps(self):
        STEP('1', "登录网站")
        wd = webdriver.Chrome()
        username, password, info = self.para
        GSTORE["wd"] = wd
        wd.implicitly_wait(10)  # 隐式等待时间
        wd.get("http://127.0.0.1/mgr/sign.html")
        element = wd.find_element(By.CSS_SELECTOR, "#username")
        element.send_keys(username)
        INFO("输入用户名成功")
        element = wd.find_element(By.CSS_SELECTOR, "#password")
        element.send_keys(password)
        INFO("输入密码成功")
        element = wd.find_element(By.CSS_SELECTOR, "[type='submit']")
        element.click()
        text = wd.switch_to.alert.text
        INFO(text)
        CHECK_POINT("检查是否弹出预计的警告", text == info)
        wd.switch_to.alert.accept()  # 点击确定

挑选用例执行

根据name属性指定:hytest --test空格+name名称即可

当需要指定多个用例的时候,需要分别用--test的方式指定

--suite可以指定套件执行,将会对目录下所有的用例执行,若传入的是某个文件名,会将该文件下所有的用例执行

还可以根据标签执行用例,但需要先给用例打标签

可定义force_tags全局变量=['tag1', 'tag2'...],存放标签名,此时,这个文件里面所有的测试用例都具有这些标签。

标签必须放在列表中,即使只有一个标签

若需要对某个用例定义标签,可以在类中定义tags属性

根据标签挑选用例:--tag 标签名

--tagnot 标签名 代表不包含标签名的用例

若选择多个标签

--tag " '标签名1' and '标签名2' ", and可以换为or,代表或

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值