目录
- 行为日志记录
- 步骤截图记录
- page source记录
什么是关键数据
- 代码的执行日志
- 代码执行的截图
- page source(页面源代码
记录关键数据的作用
内容 |
作用 |
日志 |
1. 记录代码的执行记录,方便复现场景 |
- 可以作为bug依据|
|截图|1. 断言失败或成功截图
2.异常截图达到丰富报告的作用
- 可以作为bug依据|
|page source|1. 协助排查报错时元素当时是否存在页面上|
行为日志记录
- 日志配置
- 脚本日志级别
- debug记录步骤信息
- info记录关键信息,比如断言等
行为日志记录
<!-- pom.xml 日志配置依赖 -->
<!-- slf4j -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>2.0.0-alpha6</version>
</dependency>
<!-- logback -->
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.3.0-alpha12</version>
</dependency>
行为日志记录
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<!-- name指定<appender>的名称
class指定<appender>的全限定名 ConsoleAppender的作用是将日志输出到控制台-->
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<!-- 输出时间格式-->
<pattern>%d{yyyy-MM-dd HH:mm:ss} [%thread] %-5level %logger{36}.%M\(%line\) -- %msg%n</pattern>
</encoder>
</appender>
<logger name="com.ceshiren" level="DEBUG" />
<logger name="com" level="WARN" />
<logger name="ceshiren" level="WARN" />
<logger name="org" level="WARN" />
<root level="INFO">
<appender-ref ref="STDOUT" />
</root>
</configuration>
步骤截图记录
getScreenshotAs(OutputType.FILE)
- 记录关键页面
//当前页面截图
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile, new File("./image.png"));
// 截图的第二种方式,元素所在页面截图
WebElement search_ele = driver.findElement(By.id("search"));
File ele_image = search_ele.getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(ele_image, new File("./ele_image.png"));
page_source记录
- 使用
getPageSource()
方法获取页面源码
- 在调试过程中,如果有找不到元素的错误可以保存当时的page_source调试代码
/ 在报错行前面添加保存page_source的操作
String pageSource = driver.getPageSource();
//打印pagesource
logger.debug(pageSource);
//记录为文件
FileWriter fileWriter = new FileWriter("./files/page_source.text");
fileWriter.write(pageSource);