Selenium中关于setUp()、 setUpclass()、 tearDown()、 tearDownClass()的区别用法

setUp()、tearDown()

setUp():每个测试方法运行前进行(测试前初始化工作,一条用例执行一次,若N次用例就需要执行N次)
tearDown():每个测试方法运行结束后运行(测试后的清理工作。一条用例执行一次,若N次用例就执行N次)
比如以下测试登录:

    def setUp(self):
        executable_path = r"G:\BaiduNetdiskDownload\chromedriver.exe"
        self.driver = webdriver.Chrome(executable_path)
        self.driver.get(GD.login_url)
        self.driver.maximize_window()

    def tearDown(self):
        self.driver.quit()

    def test_a_success(self):
        """
        180xxxxxxxx/123456 登陆系统成功
        断言:出现首页元素'xxxxxx系统'登陆系统成功
        :return:
        """
        success_info = LP(self.driver).login_success(GD.AAA[0], GD.AAA[1])
        print(success_info)
        self.assertEqual(success_info, GD.AAA[2], msg='登录成功,出现XXXXXX系统')
        time.sleep(2)


    def test_b_success(self):
        """
        admin/123 登陆系统失败
        断言:出现提示“用户名/密码错误”
        :return:
        """
        Warning_Info_1 = LP(self.driver).login_error(GD.Admin[0], GD.Admin[1])
        print(Warning_Info_1)
        self.assertEqual(Warning_Info_1, GD.Admin[2], msg='登录失败,提示用户名/密码错误')

setUpclass():所有的测试方法运行前运行,为单元测试做前期准备,但必用@classmethod装饰器修饰,整个测试过程中只执行一次
tearDownClass():所有的测试方法运行结束后运行,为单元测试做后期清理工作,但必须使用@classmethod装饰器进行修饰,整个测试过程中只执行一次

    @classmethod
    def setUpClass(cls):
        executable_path = r"G:\BaiduNetdiskDownload\chromedriver.exe"
        cls.driver = webdriver.Chrome(executable_path)
        cls.driver.get(GD.login_url)
        cls.driver.maximize_window()
        cls.driver.find_element(*LPL.user_loc).send_keys(GD.AAA[0])
        cls.driver.find_element(*LPL.password_loc).send_keys(GD.AAA[1])
        cls.driver.find_element(*LPL.login_button_loc).click()

    # 测试结束关闭浏览器
    @classmethod
    def tearDownClass(cls):
        cls.driver.quit()
        
    def test_a_businesstrip_list(self):
        """
        点击“办公管理”----“出差”进入出差列表页面
        页面跳转正确则成功
        :return:
        """
        success_detail = BTP(self.driver).bustrip_list_perc()
        time.sleep(1)
        print(success_detail)
        self.assertEqual(success_detail,"出差")
        
     def test_b_business_add(self):
        """
        在出差列表页面,添加一条出差数据,如果成功,则列表数目加1
        :return:
        """
        results = BTP(self.driver).bustrip_add_perc(ID.add_business_datas1['Business_Area'],ID.add_business_datas1['Business_Reason'])
        print(results)
        if type(results[0]) == str:
            num_1 = int(re.findall(r"\d+\.?\d*", results[0])[0])
        else:
            num_1 = results[0]
        num_2 = int(re.findall(r"\d+\.?\d*", results[1])[0])
        print(num_1,num_2)
        self.assertEqual(num_1 + 1, num_2)
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值