appium+Python+Selenium+Unittest+HTMLTestRunner(十三)报错重试机制引用

from framework.retry  import Retry

#引用之前封装的方法

方法一:直接在类前使用,代表这个类下所有的用例,报错后就重试2次或者n次

@Retry(max_n=2)#失败或报错后重试2次
class TestLoginPage(unittest.TestCase):

    #声明获取excel文件第1个表
    Sheet = TestExcel().get_sheetnames()[0]
    test_data = (TestExcel().get_xlsx(Sheet))
    # 初始化必要的设备信息与业务页面
    @classmethod
    def setUpClass(self):
        configure = Driver_Configure()
        #print(u"系统启动")
        self.driver = configure.get_driver()
        self.base_page = BasePage(self.driver)
        self.Login_page = LoginPage(self.driver)

    # 测试用例1 ---手机号格式不正确,密码正确
    def test_login_002(self):
        '''手机号格式不正确,密码正确'''
        print('登录页面')
        # 登录业务
        self.Login_page.do_login_customer(self.test_data[2]['手机号'], self.test_data[2]['密码'])
        # 验证
        try:
            self.assertEquals(self.base_page.show_text(self.Login_page.tip_button), self.test_data[2]['预期结果1'])
        except BaseException as f:
            self.base_page.get_img()
            raise
        else:
            print('测试ok')
        finally:
            # 去掉勾选
            self.base_page.click(self.Login_page.agreement_button)



    @classmethod
    def tearDownClass(self):
        print(u"关闭进程")
        self.driver.quit()



if __name__ == "__main__":
    unittest.main()




方法二:在测试用例前使用,代表这个用例,报错后就重试2次或者n次


class TestLoginPage(unittest.TestCase):

    #声明获取excel文件第1个表
    Sheet = TestExcel().get_sheetnames()[0]
    test_data = (TestExcel().get_xlsx(Sheet))
    # 初始化必要的设备信息与业务页面
    @classmethod
    def setUpClass(self):
        configure = Driver_Configure()
        #print(u"系统启动")
        self.driver = configure.get_driver()
        self.base_page = BasePage(self.driver)
        self.Login_page = LoginPage(self.driver)

    # 测试用例1 ---手机号格式不正确,密码正确
    @Retry(max_n=2)#失败或报错后重试2次
    def test_login_002(self):
        '''手机号格式不正确,密码正确'''
        print('登录页面')
        # 登录业务
        self.Login_page.do_login_customer(self.test_data[2]['手机号'], self.test_data[2]['密码'])
        # 验证
        try:
            self.assertEquals(self.base_page.show_text(self.Login_page.tip_button), self.test_data[2]['预期结果1'])
        except BaseException as f:
            self.base_page.get_img()
            raise
        else:
            print('测试ok')
        finally:
            # 去掉勾选
            self.base_page.click(self.Login_page.agreement_button)



    @classmethod
    def tearDownClass(self):
        print(u"关闭进程")
        self.driver.quit()



if __name__ == "__main__":
    unittest.main()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值