class SeleniumBaseCase(unittest.TestCase): @classmethod def setUpClass(cls) -> None: logger.info('') logger.info('==============▓Р╩н└Я┐ф╩╝о┤лл=============') def setUp(self) -> None: logger.info('---------▓Р╩нийие┐ф╩╝о┤лл-----------') self.base_page = BasePage(set_driver()) self.base_page.set_browser_max() self.base_page.implicitly_wait() self.base_page.open_url(config.get_url) def tearDown(self) -> None: # ▓Р╩нМ├└§╩Д░▄йп═╝ errors = self._outcome.errors for test,exc_info in errors: if exc_info: self.base_page.wait() self.base_page.screenshot_as_file() self.base_page.close_tab() logger.info('---------▓Р╩нийиео┤лл═Ж▒¤-----------') @classmethod def tearDownClass(cls) -> None: logger.info('==============▓Р╩н└Яо┤лл═Ж▒¤=============')
class SeleniumBaseCase(unittest.TestCase): @classmethod def setUpClass(cls) -> None: logger.info('') logger.info('==============测试类开始执行================') cls.url = Config.get_url def setUp(self) -> None: logger.info('-------------测试方法开始执行------------') self.base_page = BasePage(Browser().get_driver()) self.base_page.set_browser_max() self.base_page.implicitly_wait() self.base_page.open_url(self.url) def tearDown(self) -> None: #测试用例失败截图 errors = self._outcome.errors for test, exc_info in errors: if exc_info: self.base_page.screenshot_as_file() self.base_page.close_tab() logger.info('-----------测试方法执行完毕----------') @classmethod def tearDownClass(cls) -> None: logger.info('===========测试类执行完毕=============')
class QuitTest(unittest.TestCase): test_data_utils = TestDataUtils('main_suite', 'main_suite') # 获得一个测试数据转换的实例 def setUp(self) -> None: self.base_page = BasePage(Browser().get_driver()) self.base_page.set_browser_max() self.base_page.implicitly_wait() self.base_page.open_url(local_config.url) self.test_data = TestDataUtils('main_suite', 'main_suite').get_test_data() def tearDown(self) -> None: self.base_page.close_tab() @unittest.skipIf(test_data_utils.get_is_run('test_quit'), '退出成功测试用例跳过') # 使用类属性,可以提供给实例方法使用 def test_quit(self): test_case_data = self.test_data['test_quit'] login_action = LoginAction(self.base_page.driver) main_page = login_action.default_login() # 默认的登陆方式 quit_action = QuitAction(main_page.driver) login_page = quit_action.quit() actual_result = login_page.get_title() self.assertTrue( actual_result.__contains__(test_case_data['expect_result']), 'test_quit用例失败')
class SeleniumBaseCase(unittest.TestCase): @classmethod def setUpClass(cls) -> None: logger.info('==========测试类开始执行==========') cls.url = config.zantao_url def setUp(self) -> None: logger.info('----------测试方法开始执行----------') self.driver = browser.get_driver() self.base_page = BasePage(self.driver) self.base_page.set_browser_max() self.base_page.time() self.base_page.open_url(self.url) def tearDown(self) -> None: # 测试失败用例截图 errors = self._outcome.errors for test, exc_info in errors: if exc_info: self.base_page.screenshot_as_file() self.base_page.close_tab() logger.info('----------测试方法开始完毕----------') @classmethod def tearDownClass(cls) -> None: logger.info('==========测试类执行完毕==========') pass
class SeleniumBascCase(unittest.TestCase): @classmethod def setUpClass(cls): logger.info(' ') logger.info('=====测试类初始化=====================') cls.url = local_config.url @classmethod def tearDownClass(cls): logger.info('======测试类执行完毕=====================') pass def setUp(self): ''' 测试用例的初始化 :return: ''' logger.info('--------测试方法初始化---------------') self.base_page = BasePage(Browser().get_driver()) self.base_page.set_browser_max() self.base_page.implicitly_wait() self.base_page.open_url(local_config.url) def tearDown(self): # 测试用例失败的截图 errors = self._outcome.errors for test,exc_info in errors: #断言失败,就会有错误的信息 if exc_info: self.base_page.wait() self.base_page.screenshot_as_file() # 截图 self.base_page.close_tab() logger.info('--------测试方法执行完毕---------------')
class CreateNewIterationTest(unittest.TestCase): test_class_data = TestDataUtils('iteration_suite', 'iteration_test').convert_exceldata_to_testdata() print(test_class_data) def setUp(self) -> None: self.base_page = BasePage(Browser().get_driver()) self.base_page.set_browser_max() self.base_page.implicitly_wait() self.base_page.open_url(local_config.url) def tearDown(self) -> None: self.base_page.close_tab() @unittest.skipIf(test_class_data['test_create_new_iteration']['isnot'], '') def test_create_new_iteration(self): test_function_data = self.test_class_data['test_create_new_iteration'] self._testMethodDoc = test_function_data['test_name'] login_action = LoginAction(self.base_page.driver) main_page = login_action.default_login() print(test_function_data['test_parameter'].get('iteration_name')) main_page.goto_project() create_new_iteration_action = CreateNewIterationAction(self.base_page.driver) create_new_iteration_action.create_new_iterationaction(test_function_data['test_parameter'].get('iteration_name'), test_function_data['test_parameter'].get('iteration_code'), test_function_data['test_parameter'].get('start_date'), test_function_data['test_parameter'].get('close_date'), test_function_data['test_parameter'].get('team_name'), test_function_data['test_parameter'].get('iterative_description') )
class SeleniumBaseCase(unittest.TestCase): def __init__(self, methodName: str = ...): super().__init__(methodName) self._outcome = None @classmethod def setUpClass(cls) -> None: # 用例类初始化 logger.info('==============测试类开始执行=============') cls.url = local_config.url def setUp(self) -> None: # 用例初始化 logger.info('---------测试方法开始执行-----------') self.base_page = BasePage(Browser().get_driver()) self.base_page.set_browser_max() self.base_page.implicitly_wait() self.base_page.open_url(self.url) def tearDown(self) -> None: # 测试用例失败截图 if len(self._outcome.errors)>=1: self.base_page.screenshot_as_file() # self.base_page.wait(1) # 截图更加稳定 # errors = self._outcome.errors # for test, exc_info in errors: # if exc_info: # self.base_page.wait() # self.base_page.screenshot_as_file() self.base_page.close_tab() logger.info('---------测试方法执行完毕-----------') @classmethod def tearDownClass(cls) -> None: logger.info('==============测试类执行完毕=============')
class SeleniumBaseCase(unittest.TestCase): @classmethod def setUpClass(cls) -> None: cls.url = local_config.url def setUp(self) -> None: self.base_page = BasePage(Browser().get_driver()) self.base_page.set_browser_max() self.base_page.implicitly_wait() self.base_page.oper_url(self.url) def tearDown(self) -> None: self.base_page.close_tab()
class LoginTest(unittest.TestCase): def setUp(self) -> None: self.base_page = BasePage(Browser().get_driver()) self.base_page.set_browser_max() self.base_page.implicitly_wait() self.base_page.oper_url(local_config.url) def tearDown(self) -> None: self.base_page.close_tab() def test_quit(self): login_action = loginAction(self.base_page.driver) main_page = login_action.default_login() quit_action = QuitAction(main_page.driver) login_page = quit_action.quit() actuel_result = login_page.get_title() self.assertEqual(actuel_result.__contains__('用户登录'), True, 'test_quit用例不通过')
class SeleniumBaseCase(unittest.TestCase): @classmethod def setUpClass(cls) -> None: # 针对类级别的 print('SeleniumBaseCase.setUpClass') cls.url = local_config.url @classmethod def tearDownClass(cls) -> None: print('SeleniumBaseCase.tearDownClass') def setUp(self) -> None: # 针对方法级别的 print('SeleniumBaseCase.setUp') self.base_page = BasePage(Browser().get_driver()) self.base_page.set_browser_max() self.base_page.implicitly_wait() self.base_page.open_url(self.url) def tearDown(self) -> None: print('SeleniumBaseCase.tearDown') self.base_page.close_tab()
class LoginTest(unittest.TestCase): def setUp(self) -> None: self.base_page = BasePage(Browser().get_driver()) self.base_page.set_browser_max() self.base_page.implicitly_wait() self.base_page.open_url(Config.get_url) def tearDown(self) -> None: self.base_page.close_tab() def test_login_success(self): login_action = LoginAction(self.base_page.driver) main_page = login_action.login_sucessful('test01', 'newdream123') actual_result = main_page.get_username() self.assertEqual(actual_result, '测试人员1', 'test_login_success执行失败') def test_login_fail(self): login_action = LoginAction(self.base_page.driver) actual_result = login_action.login_fail('test01', 'newdream12') self.assertEqual(actual_result, '登录失败,请检查您的用户名或密码是否填写正确。', 'test_login_fail执行失败')
class LoginTest(unittest.TestCase): def setUp(self) -> None: self.base_page = BasePage(Browser().get_driver()) self.base_page.set_browser_max() self.base_page.implicitly_wait() self.base_page.oper_url(local_config.url) def tearDown(self) -> None: self.base_page.close_tab() def test_login_success(self): login_action = loginAction(self.base_page.driver) main_page = login_action.login_success('admin', 'Wyp123456') actual_result = main_page.get_username() # print(actual_result) self.assertEqual(actual_result, 'admin', 'test_login_success登陆失败!') def test_login_fail(self): login_action = loginAction(self.base_page.driver) actual_result = login_action.login_fail('admin', 'Wyp1234526') # 密码错误 print('actualt%s' % actual_result) self.assertEqual(actual_result, '登录失败,请检查您的用户名或密码是否填写正确。')
class LoginTest(unittest.TestCase): def setUp(self) -> None: self.driver = browser.get_driver() self.base_page = BasePage(self.driver) self.base_page.set_browser_max() self.base_page.time() self.base_page.open_url(config.zantao_url) def tearDown(self) -> None: self.base_page.close_tab() def test_login_success(self): login_action = LoginAction(self.base_page.driver) main_page = login_action.login_success(config.user_name, config.password) self.assertEqual(main_page.get_user_name(), config.user_name, '测试用例-登录成功:执行失败') def test_login_fail(self): login_action = LoginAction(self.base_page.driver) alert_content = login_action.login_fail(config.user_name, '111111') alert_actual_content = '登录失败,请检查您的用户名或密码是否填写正确。' self.assertEqual(alert_content, alert_actual_content, '测试用例-登录失败:执行失败')