def test_error(self): """测试错误""" logger().error("测试错误") with open("baidu.png", 'rb') as f: image = base64.b64encode(f.read()) AddImage(image, "百度1") AddImage(image, "百度12") AddImage(image, "百度123") raise ValueError
def test_login_1(self): username = "******" password = "******" driver = self.driver logger().info("侧滑进入菜单页") w = driver.get_window_size().get("width") h = driver.get_window_size().get("height") # 侧滑 driver.swipe(1, h / 2, w / 2, h / 2) AddImage(self.driver.get_screenshot_as_base64()) logger().info("点击大商创") driver.find_element_by_xpath("//*[@text='大商创']").click() # 获取导航标题的文本 text = driver.find_element_by_xpath( "//*[@resource-id='io.github.liushilive.at:id/toolbar']/android.widget.TextView" ).text logger().info(f"获取 导航标题的文本:{text}") if "设置" in text: logger().info("配置IP") driver.find_element_by_id("edit_ip").clear() driver.find_element_by_id("edit_ip").send_keys(dsc_app_index) AddImage(self.driver.get_screenshot_as_base64()) logger().info("点击保存按钮") driver.find_element_by_id("save").click() # 侧滑 driver.swipe(1, h / 2, w / 2, h / 2) AddImage(self.driver.get_screenshot_as_base64()) logger().info("点击大商创") driver.find_element_by_xpath("//*[@text='大商创']").click() logger().info("进入webview") driver.switch_to.context("WEBVIEW_io.github.liushilive.at") time.sleep(2) logger().info("点击 我") driver.find_element_by_xpath("//*[text()='我']/../a").click() logger().info(f"输入账号:{username}") driver.find_element_by_name("username").send_keys(username) logger().info("输入密码") driver.find_element_by_name("password").send_keys(password) logger().info("点击立即登录") driver.find_element_by_xpath('//*[@type="submit"]').click() time.sleep(2) logger().info("断言 进入首页") self.assertEqual("首页", driver.title) logger().info("断言 个人中心") driver.find_element_by_xpath("//*[text()='我']/../a").click() self.assertEqual("个人中心", driver.title) logger().info("断言 用户名") driver.find_element_by_xpath('//*[@class="header-admin"]/h4').click() text = driver.find_element_by_xpath("//*[text()='用户名']/..").text self.assertIn(username, text) pass
def add_image(driver: WebDriver): """截图到报告 :param driver: :return: """ if "NATIVE_APP" in driver.context: AddImage(driver.get_screenshot_as_base64()) else: context = driver.context driver.switch_to.context(None) try: AddImage(driver.get_screenshot_as_base64()) except WebDriverException as e: logger().info(f"截图失败:\n{e}") finally: driver.switch_to.context(context)
def add_page_screen_shot(self, title="", describe=""): """添加页面截图到报告中 注意,如果存在警告信息,将截屏失败,导致测试终止 :param title: 图片标题 :param describe: 图片提示 """ self.logger.info(f"添加截图到报告中 {title}") AddImage(self.driver.get_screenshot_as_base64(), title, describe)
def setUp(self): # command_executor = "http://127.0.0.1:4723/wd/hub" logger().info(f"appium服务器:{command_executor}") # desired_capabilities = { # "platformName": "Android", # "platformVersion": "8", # "deviceName": "android", # "newCommandTimeout": "60000", # "noReset": False, # "unicodeKeyboard": True, # "resetKeyboard": True, # "appPackage": "io.github.liushilive.at", # "appActivity": ".MainActivity" # } logger().info(f"appium 参数:{desired_capabilities}") self.driver = webdriver.Remote( command_executor=command_executor, desired_capabilities=desired_capabilities) self.driver.implicitly_wait(5) AddImage(self.driver.get_screenshot_as_base64())
def screen_shot(self): time.sleep(1) AddImage(self.driver.get_screenshot_as_base64()) time.sleep(1)
def addImage(self): """添加截图到报告中""" AddImage(self.driver.get_screenshot_as_base64())
def tearDown(self): print(getPngfileName()) base64Img = self.driver.get_screenshot_as_base64() AddImage(base64Img) self.driver.save_screenshot(getPngfileName()) self.driver.delete_all_cookies()
def screenhost_to_report(self, alt="登陆", name="登陆"): """截屏动作""" if LOG.screenhost: photo = self.driver.get_screenshot_as_base64() AddImage(photo, alt=alt, name=name) log().debug("screenhost sucess %s " % alt)
def screen_shot(driver,imgName): '截屏' path=driver.get_screenshot_as_png() image = base64.b64encode(path) AddImage(image,imgName,imgName)