web自动化关键数据记录

记录关键数据的作用

内容 作用
日志 1、记录代码执行情况,方便复现场景,也可以作为bug依据
截图 1、断言失败或成功的截图;2、异常截图达到丰富报告的作用;3、可以作为bug依据
page source 1、协作排查报错时元素是否存在

一、行为日志记录

  • 日志配置
  • 脚本日志级别
    • debug记录日志信息
    • info记录关键信息,比如断言等
    def test_record_data(self):
        self.driver.get("https://www.sogou.com")
        key_word = "霍格沃兹"
        self.driver.find_element(By.CSS_SELECTOR, "#query").send_keys(key_word)
        logger.debug(f"搜索的内容为{key_word}")
        # 点击搜索
        self.driver.find_element(By.CSS_SELECTOR, "#stb").click()
        # 搜索结果
        search_res = self.driver.find_element(By.CSS_SELECTOR, "em")
        logger.info(f"搜索结果为{search_res.text}")
        assert search_res.text == key_word

二、步骤截图记录

  • driver.save_screenshot(路径+文件名)
  • 记录关键页

三、page source记录

  • 使用page_source属性获取页面源码
  • 在调试过程中,如果有找不到元素的错误可以保存当时的page_source调试代码
  • 结合with open(file)将网页源代码写入文件中
with open(fliename,"w",encoding="utf-8") as f:
    f.write(self.driver.page_source)

问题:出现no such element的错误
解决方案:在页面报错前打印网页代码,以方便定位分析问题