自动化测试时的便利代码

文章描述了一种在自动化测试中使用BeautifulReport库来自动命名截图,并对交易类型进行遍历验证的过程。在每个验证步骤中,进行了详细的检索操作、断言检查以及异常处理,确保测试的准确性。当遇到验证失败时,会记录错误信息并最终抛出异常。

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

1.使用BeautifulReport报告时,截图的图片名称自动获取。

# 截图 图片名称自动获取为"类名+方法名"
self.save_img(self.__class__.__name__+"_"+inspect.currentframe().f_code.co_name)

2.详情页的测试验证

transactionType_key=[A,B,C]

# 循环 "取引種別" 下拉内容,再进行检索操作,再断言
for key in transactionType_key:
    print('\n')
    print("取引種別 = ", key)# 展示当前执行信息

    # 检索操作
    business(driver).search(
        transactionPeriodBeginTime=begintime,
        transactionPeriodEndTime=endtime,
        transactionType=key,
        storeName='NSSテスト店舗')

    time.sleep(0.5)

    # 点击 [検索する]
    driver.find_element(By.XPATH, '//span[text()="検索する"]').click()
    time.sleep(1)

    # 显示等待,查询结束,字段“日時”出现
    tool(driver).webDriverWait(
        By.XPATH, '')

    data = tool(driver).tableBody(x=1)
    print('预期数据:', data)

    # 步骤2:
    # 点击 [詳細] 按钮
    listXpath = '//div[@class="el-table__fixed-body-wrapper"]//span[contains(text(),"詳細")]'
    driver.find_element(By.XPATH, listXpath).click()
    time.sleep(1)
    self.save_img(self.__class__.__name__+"_"+inspect.currentframe().f_code.co_name)

    # 循环查询结果列表的表头字段
    for n in data:
        timeValue = data[n] # 记录时间,后续会改写key,所以需要提前记录值,用于断言。
        if n not in ["", "進呈区分"]:# 查询结果列表中,特殊数据排出(详情页没这字段)
            if n == "店舗":# 查询列表字段名称 和 详情页名称有区别,改写匹配
                n = "店舗名"
            try:# 断言操作,失败则记录,不会因为1个字段失败,后续无法执行。
                self.assertIn(
                    timeValue,
                    tool(driver).returnValue(title='取引情報', field=n)
                )
                print(f"{n} 字段值验证,测试通过!")

            except AssertionError as e:
                fail_msg.append(f"{n} 字段值验证失败!")
                fail_msg.append(str(e))

    # 步骤3:
    # 关闭 详情 页
    tool(driver).webDriverWait(
        By.XPATH, ''
    ).click()

# 如果有失败的信息,最后统一抛出异常
if fail_msg:
    raise AssertionError('\n'.join(fail_msg))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值