예제 #1
0
class RegisterCase(unittest.TestCase):
    @classmethod
    def setUpClass(cls) -> None:
        cls.log = UserLog()
        cls.logger = cls.log.get_logger()

    def setUp(self) -> None:
        self.driver = webdriver.Firefox()
        self.driver.get('http://www.5itest.cn/register')
        self.driver.maximize_window()
        self.logger.info('this is firefox')
        self.register = RegisterBusiness(self.driver)

    def tearDown(self) -> None:
        time.sleep(2)
        # self.driver.save_screenshot(r'F:\Python\5itest_po_3\report\11.png')
        #当使用HTMLtestrunner模式运行,不会进行打印操作,但是函数依旧会运行
        # print('==============')
        # print(self.__dir__())
        #截图是可以配合断言一起使用的,当断言失败,即case执行异常,也会截图
        for method_name, error in self._outcome.errors:
            if error:
                case_name = self._testMethodName
                file_path_1 = os.path.join(pro_root_path + '/report/' +
                                           case_name + '.png')
                print(file_path_1)
                self.driver.save_screenshot(file_path_1)
        self.driver.close()
        print("这是case的后置条件")

    @classmethod
    def tearDownClass(cls) -> None:
        cls.log.close_logger()

    def test_email_error(self):
        self.register.user_base('34abc', 'aaasdf', '111111', 'asd2f')
        email_error = self.register.get_user_text('user_email_error')
        if email_error is None:
            flag = True
        else:
            flag = False
        self.assertFalse(flag, 'case执行失败')

    def test_username_error(self):
        pass

    def test_password_error(self):
        pass

    def test_code_error(self):
        pass
예제 #2
0
class FirstDdtCase(unittest.TestCase):
    # @classmethod
    # def setUpClass(self) -> None:
    #     self.file_image = r'F:\Python\imooc_selenium_po\image\test001.png'

    def setUp(self):
        self.driver = webdriver.Firefox()
        self.driver.get('http://www.5itest.cn/register')
        self.driver.maximize_window()
        self.register = RegisterBusiness(self.driver)

    def tearDown(self) -> None:
        time.sleep(2)
        for method_name, error in self._outcome.errors:
            if error:
                case_name = self._testMethodName
                file_path_1 = os.path.join(pro_root_path + '/report/' +
                                           case_name + '.png')
                self.driver.save_screenshot(file_path_1)
        self.driver.close()
        print("这是case的后置条件")

    # @ddt.data(
    #     ['12','tom15s','111111','F:\\Python\\imooc_selenium_po\\image\\test001.png','user_email_error','请输入有效的电子邮件地址'],
    #     ['@qq.com', 'tom15s', '111111', 'F:\\Python\\imooc_selenium_po\\image\\test001.png', 'user_email_error', '请输入有效的电子邮件地址'],
    #     ['*****@*****.**', 'tom15s', '111111', 'F:\\Python\\imooc_selenium_po\\image\\test001.png', 'user_email_error', '请输入有效的电子邮件地址']
    # )
    # @ddt.unpack

    @ddt.data(*data)
    def test_register(self, data):
        #特别注意:在Excel中不要出现多余的数据,否则解析数据时会出错
        email, user_name, password, code_text, assert_code = data
        self.register.user_base(email, user_name, password, code_text)
        email_error = self.register.get_user_text(assert_code)
        if email_error is None:
            flag = True
        else:
            flag = False
        self.assertFalse(flag, 'case执行失败')