class TestLogin(): def setup_class(self): self.driver = GetDriver.get_app_driver() self.page = PageLogin(self.driver) #调用关闭稍后升级对象 self.page.page_click_close_alter() #调用点击我的对象 self.page.page_click_my() #调用点击登录/注册对象 self.page.page_click_login_reg() def teardown_class(self): GetDriver.quit_app_driver() @pytest.mark.parametrize("phone,pwd,expect", get_yaml("login.yaml")) def test02_login(self, phone, pwd, expect): #调用登录业务操作 self.page.page_login(phone, pwd) #获取登录按钮是否可以操作 result = self.page.page_get_attribute("clickable") print("按钮可点", result) try: assert result == "false" except Exception as e: #日志 log.error(e) #截图 self.page.base_get_img() #抛异常 raise
class Until: def __init__(self): self.login = PageIn.get_page_login() self.driver = GetDriver.get_driver() self.page_login = PageLogin() def assert_nickname(self, expect): """断言昵称""" try: assert self.login.page_get_nickname() == expect except AssertionError as f: self.driver.get_screenshot_as_file(BASE_PATH + "/img/bug_.png") with open(BASE_PATH + "/img/bug_.png", "rb") as f: allure.attach("失败原因", f.read(), allure.attach_type.PNG) log.error(f) raise finally: self.page_login.page_login_quit() self.page_login.page_click_my() self.page_login.page_click_exists_user() def assert_toast(self, expect): """断言toast消息""" try: assert self.login.page_get_toast(expect) == expect except AssertionError as f: self.driver.get_screenshot_as_file(BASE_PATH + "/img/bug_.png") with open(BASE_PATH + "/img/bug_.png", "rb") as e: allure.attach("失败原因", e.read(), allure.attach_type.PNG) log.error(e) raise def screen_shot(self): """截图并把图片写入报告""" self.driver.get_screenshot_as_file(BASE_PATH + "/img/bug_.png") with open(BASE_PATH + "/img/bug_.png", "rb") as f: allure.attach("失败原因", f.read(), allure.attach_type.PNG) log.error(f)