优化extentreports在线样式改为离线加载自己项目下的样式

主要解决extentreports在线加载失败问题

上篇文章介绍了通过testng编写用例后使用extentreports作为测试报告的输出。java接口自动化首篇文章介绍

由于一直根据业务写接口测试,昨天跑业务接口的时候突然extentreports在线样式加载不,就知道extentreports静态服务器挂了,这样可不行,赶紧去下载静态文件放到自己的项目中,这样才有安全感。中间改静态文件路径的时候遇到一些坑,特此记录下。

入坑记录

展示下extentreports加载静态文件失败报告

解决途径

要想不使用官方在线样式,那只能通过下载extentreports源码修改样式路径后打包jar引用到自己使用的项目中。

下载extentreports源码修改样式路径修改后的extentreports源码地址

第一步:把extentreports源码中的dist下的两个文件复制到自己项目的静态文件夹static下

第二步:按照下图找到需要修改源码的样式路径

extentreports的pom文件

第三步:路径修改已入坑

把extentreports两个静态文件路径改成自己的项目静态文件路径,但是extentreports静态文件路径试了很多方法都不能加载到,都是默认自己项目的路径。最终把路径改为自己项目路径的上一级目录才算完美解决路径加载问题:

特此记录下,但是具体为什么需要改成项目路径的上一级目录,目前不是很明白,有明白的大佬看到希望在下方留意指明下

再次优化:把静态文件复制到项目中

修改extentreports源码内容为:(改为访问项目中的静态文件)

第一处:head.ftl

15行:

第二处:index.ftl

97行:

这样可以通过项目直接访问报告

第一处修改:

第二处修改:

第四步: maven打包extentreports修改源码后的项目(自己项目maven依赖包与extentreports修改的maven依赖包同文件夹)

然后在maven中就可以看到已经生成修改后的jar包了

如果不想下载extentreports源码打包的话,也没事,小编这里把修改后的路径生成的jar包放到的某盘上,关注下方公众号,后台回复【extentreports】即可获得修改后的extentreports-java-3,15.jar,放到自己的maven依赖包com/aventstack下即可,通过pom文件引用依赖即可实现离线静态文件使用。

第五步: 最后自己的项目引用修改后的extentreports的jar即可

到这里已经把extentreports静态文件离线使用了,再也不用担心extentreports官方静态资源挂掉的情况了。

使用示例

已经可以正常加载自己项目下的静态文件了,完美解决。

增加IO读写操作

根据业务优化入参参数通过文本读取,响应结果写入文本方便后期查看

//读操作读取订单号

public void readFile(){

String filename = "G:\\testdata\\order-number.txt";

String line = null;

try {

BufferedReader in = new BufferedReader(new FileReader(filename));

String fileName="G:\\testdata\\response.txt";

BufferedWriter out=new BufferedWriter(new FileWriter(fileName));

while ((line = in.readLine()) != null) {

System.out.println(line);

// 读取参数进行核销接口并获取响应结果

String text = ty(line);

System.out.println(line+":核销返回:"+text);

// 响应结果写入文本

writeFile(line+"核销返回:"+text, out);

writeFile("--------------------------------",out);

try {

Thread.sleep(1000);

} catch (InterruptedException e) {

e.printStackTrace();

}

}

out.close();

in.close();

} catch (FileNotFoundException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

}

}

获取响应结果

由于时间原因部分功能优化待更新...

更多测试技术分享、学习资源以及一些其他福利可关注公众号:【Coding测试】获取:

java接口自动化书籍_java接口自动化优化(一)相关推荐

  1. java抽象和接口的理解_Java接口实现与抽象类的区别理解 | 彬菌

    版权声明:转载原创文章请以超链接形式请注明原文章出处,尊重作者,尊重原创! 恰饭广告 接口:接口是抽象方法的集合.接口通常以interface来声明. 接口注意事项: 1.严格来说,接口是用来实现(i ...

  2. Java私有方法解释_java接口中 定义 private 私有方法

    在传统的Java编程中,被广为人知的一个知识点是:java Interface接口中不能定义private私有方法.只允许我们定义public访问权限的方法.抽象方法或静态方法.但是从Java 9 开 ...

  3. java什么是网络接口_java接口和类的区别是什么?它们都有哪些作用呢?

    由于新兴技术的发展,java不断地被更多人应用,而其中java接口和java类的区别主要是哪些,在哪些方面作用显著?这是困扰许多人的问题,那么,让我们继续看一下这两者的区别和作用吧? 在java中,对 ...

  4. java nio的演进_Java接口的防御性API演进

    java nio的演进 API的发展绝对是不平凡的. 只有少数几个需要处理的事情. 我们大多数人每天都在使用内部专有API. 现代IDE附带了很棒的工具,可以分解,重命名,上拉,下推,间接,委托,推断 ...

  5. java接口编程题_Java接口练习题

    1.说出下面程序的执行结果: interface InterfaceA { String S = "good "; void f(); } abstract class Class ...

  6. java接口的关键字_Java 接口 interface关键字

    1.概念:一种特殊的类,有全局常量和公共方法组成 定义接口用interface关键字 2.语法: //中括号"[ ]"的含义:你可继承父接口,也可不继承,是可选的 [修饰符] (a ...

  7. java抽象类接口举例代码_Java接口和抽象类实例分析

    本文实例讲述了Java的接口和抽象类.分享给大家供大家参考.具体分析如下: 对于面向对象编程来说,抽象是它的一大特征之一.在Java中,可以通过两种形式来体现OOP的抽象:接口和抽象类.这两者有太多相 ...

  8. java接口和抽象类_Java接口和抽象类的区别

    类是对象的模板,抽象类和接口可以看做是具体的类的模板. 由于从某种角度讲,接口是一种特殊的抽象类,它们的渊源颇深,有很大的相似之处,所以在选择使用谁的问题上很容易迷糊.我们首先分析它们具有的相同点. ...

  9. java接口自动化监控_java接口自动化(三) - 手工接口测试到自动化框架设计之鸟枪换炮...

    1.简介 上一篇宏哥介绍完了接口用例设计,那么这一章节,宏哥就趁热打铁介绍一下,接口测试工具.然后小伙伴们或者童鞋们就可以用接口测试工具按照设计好的测试用例开始执行用例进行接口手动测试了.关于手动测试 ...

最新文章

  1. [Skr-Shop]购物车之架构设计
  2. 程序员请不要问“在吗?”
  3. LTNS的完整形式是什么?
  4. 一键自动生成数据库文档,炫!(告别CV大法)
  5. JavaScript学习(四十七)—构造方法创建对象的不足
  6. 实验二+018+李滨
  7. 今天心情不太开心?有点心烦
  8. Spring Cloud Bus + RabbitMq 自动刷新
  9. CI/CD:DevOps背后的推动力
  10. 2-java面向对象
  11. scrapy爬取阳光政务投诉
  12. 计算机在保险的应用,浅谈计算机信息系统在医疗保险中的应用
  13. 文件格式大全------转自http://h.shanse8.com/simple/Index.php?t33837.html
  14. 服务器固态硬盘无法识别硬盘,固态硬盘无法识别的原因及解决方法
  15. 现代CEO中11种失败的性格(zt)
  16. Prior to Segment: Foreground Cues for Weakly Annotated Classes in Partially Supervised Inseg
  17. 【接口篇 / Wan】(7.0) ❀ 05. 将 4G 作为备用宽带使用 ❀ FortiGate 防火墙
  18. opencv图像处理之图像平移
  19. 反射内存安装使用方法
  20. 【资讯博客翻译】----通过序列转导实现联合语音识别和说话人二值化

热门文章

  1. linux 系统终端字体改变,linux系统终端修改字体的方法
  2. resnet50代码_十余行代码完成迁移学习,百度PaddleHub实战解读
  3. php中声明一个函数,php学习笔记之 函数声明
  4. springboot整个缓存_springboot整合ehcache缓存
  5. AcWing 1058. 股票买卖 V
  6. 《Ubuntu学习笔记》——如何建立软链接
  7. 目标检测——Detectron2的学习笔记
  8. STL中algorithm里的查找
  9. LeetCode 面试题 01.06. 字符串压缩 (双指针)
  10. CleanCodeHandbook Chapter 3: Linked List(20-24)