jck28-lucio-自动化关键数据记录

目录

  • 行为日志记录
  • 步骤截图记录
  • page source记录

什么是关键数据

  • 代码的执行日志
  • 代码执行的截图
  • page source(页面源代码

记录关键数据的作用

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

image

行为日志记录

  • 日志配置
  • 脚本日志级别
    • debug记录步骤信息
    • info记录关键信息,比如断言等

行为日志记录

  • pom.xml 日志依赖配置
<!-- 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>

行为日志记录

  • logback.xml 配置
<?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);