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
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执行失败')