记录关键数据的作用
内容 | 作用 |
---|---|
日志 | 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的错误
解决方案:在页面报错前打印网页代码,以方便定位分析问题