在Appium自动化项目运行过程中出现异常进行截图

在实际自动化项目运行过程中,很多时候App可能会出现各种异常,为了更好的定位问题,除了捕捉日志还可以对运行时的异常状态来进行截屏。从而达到一种“有图有真相”的效果。

截图方法1:

save_screenshot() 该方法直接保存当前屏幕截图到当前脚本所在文件位置。
driver.save_screenshot('login.png')

截图方法2:

get_screenshot_as_file(self, filename)
将截图保留到指定文件路径
driver.get_screenshot_as_file('./images/login.png')

实践案例:

App判断登录状态是否登录成功,如果失败则截图

    def getScreenShot(self, module):
        time = self.getTime()
        image_file = os.path.dirname(os.path.dirname(__file__)) + '/screenshots/%s_%s.png' % (module, time)

        logging.info('get %s screenshot' % module)
        self.driver.get_screenshot_as_file(image_file)
        try:
            self.driver.find_element(*self.button_myself).click()
            self.driver.find_element(*self.username)
        except NoSuchElementException:
            logging.error('login Fail!')
            self.getScreenShot('login fail')
            return False
        else:
            logging.info('login success!')
            #self.getScreenShot('login success!')
            self.logout_action()
            return True

 

posted @ 2021-11-25 10:27  CNF油条  阅读(389)  评论(0)    收藏  举报