当前位置: 首页 > news >正文

投资网站建设方案常州谷歌推广

投资网站建设方案,常州谷歌推广,网站建设制作宝塔面板,中国能源建设集团有限公司是央企总览: apifox做接口测试后,把用例合并组装成测试套件,然后apifox-cli通过终端命令实现把套件执行后,输出本地文件的测试报告html或json。本地解析后拿到有用的解决通过定时执行推送到企微群里。 然后把html一起推到群里。 这个…

总览:

apifox做接口测试后,把用例合并组装成测试套件,然后apifox-cli通过终端命令实现把套件执行后,输出本地文件的测试报告html或json。本地解析后拿到有用的解决通过定时执行推送到企微群里。 然后把html一起推到群里。
在这里插入图片描述

这个html文件点击打开,就是你本地跑的那个html。

一、安装

1、安装Node.js

yum install -y nodejs

2、安装npm

yum install -y npm

3、安装Apifox CLI

npm install -g apifox-cli

Apifox CLI 是 Apifox 的命令行运行工具,主要用来做持续集成。支持实时运行在线数据和导出数据运行2 种方式。因为后续套件可能去增加用例,所以我们选择使用在线数据进行调用。

本地测试一下,测试套件中,点击持续集成后,生成命令,然后复制后,在终端命令行运行在线数据。
在这里插入图片描述
命令类似长这样 apifox run http://xxx/api/v1/api-test/ci-config/xxxx/detail?token=xxxx -r html,cli

但是要了解下其他伴随指令,我只列了目前需要用到的,其他的可以这里去找更多选项 apifox持续继承
https://www.apifox.cn/help/cli/#apifox-run-file-source-options

  -r, --reporters [reporters]           指定测试报告类型, 支持 cli,html,json (default: ["cli"])--out-dir <outDir>                    输出测试报告目录,默认为当前目录下的 ./apifox-reports--out-file <outFile>                  输出测试报告文件名,不需要添加后缀,默认格式为 apifox-report-{当前时间戳}--database-connection <path>          指定 [数据库配置] 的所处文件路径,使用 URL 测试的时候必须指定

4、apifox测试用例中,如果有对数据库的校验,肯定在后置里已经添加了数据库连接的信息,那么在运行时也就需要下载数据库配置文件。如果没有数据库校验则忽略。

在这里插入图片描述

二、Java代码部分

1、通过调用终端类执行,生成对应的json报告,报告生成默认路径为./apifox-reports,可以通过加指令指定生成的路径-out-dir /tmp/apifox-reports

String command = apifox run https://api.apifox.cn/api/v1/api-test/ci-config/359896/detail?token=xlH8c24skOlIwGWN08O-d2 -r json,cli --database-connection ./database-connections.json

2、通过调用终端类执行,生成对应的html报告,类比步骤1,因为html方便查看,会把html也发到群里。html的报告可以单独弄个文件夹,好读取区分。–out-dir /tmp/apifox-htmlReports

apifox run https://api.apifox.cn/api/v1/api-test/ci-config/359896/detail?token=xlH8c24skOlIwGWN08O-d2 -r html ,cli --database-connection ./database-connections.json

命令行执行,是在网上找到工具类方法,主要依赖方法是 process = Runtime.getRuntime().exec(command);

CmdUtil类

public static String run(String command,int waitTime) throws IOException {Scanner input = null;String result = "";Process process = null;try {process = Runtime.getRuntime().exec(command);try {// 等待命令执行完成process.waitFor(waitTime, TimeUnit.SECONDS);} catch (InterruptedException e) {e.printStackTrace();logger.info("CmdUtil- run(String,int)遇到异常1");}InputStream is = process.getInputStream();input = new Scanner(is);while (input.hasNextLine()) {result += input.nextLine() + "\n";}result = command + "\n" + result; //加上命令本身,打印出来} catch (Exception e){e.printStackTrace();logger.info("CmdUtil- run(String,int)遇到异常2");}finally {System.out.println("---finally---");if (input != null) {input.close();}if (process != null) {process.destroy();}}return result;
}

三、拿到json报告并解析

拿到报告,解析json报告字段,拿到想要的字段。例如套件名称、总请求数、失败数、失败接口的名称

为了简化拿文件的方式,我是每次新生成报告文件,读取和解析后,就删除文件。这样每次文件夹下只有1个文件。 当然也可以自定义生成文件的名称,apifox执行命令选项中也是支持的。

File reports = new File("json报告的地址");
File[] fileArray = reports.listFiles();
String reportPath = fileArray[0].getAbsolutePath();
String jsonString = new String(Files.readAllBytes(Paths.get(reportPath)));
JSONObject reportObject= JSONObject.parseObject(jsonString);
//测试套件名称
String TJName = reportObject.getJSONObject("collection").getJSONObject("info").getString("name");
logger.info("测试套件名称 = "+ TJName);

四、通过企微机器人把json解析内容和html文件发到群里

a、把json解析的内容,通过企微机器人推送消息方法推送到企微群里。 text或markdown自己选择。

b、把html文件通过企微机器人的上传文件方法推送上去,会返回一个media_id。— 注意:这里按照官方文档要求的formdata把刚才的html文件

c、根据企微机器人的推送方法,把media_id推上去,html文件就可以推送到群里了。

企微机器人的方法,不再赘述,可以去官网这里去查看。企微机器人文档
https://developer.work.weixin.qq.com/document/path/91770

五、删除生成的json报告和html。

为了方便读取文件,我是每次生成读取数据后,会去删除文件。这样保证文件夹下只有1个子文件。

//删除json文件
logger.info("执行删除json文件 ----"+reportPath + "---" + new File(reportPath).delete());
//删除html文件
logger.info("执行删除html文件 ----"+htmlFile.getAbsolutePath() + "---" + htmlFile.delete());

六、定时任务的话,就搭配xxljob负责调度调试就行了。

参考我前边写过的文档

https://blog.csdn.net/wang391752/article/details/118019722?spm=1001.2014.3001.5502

其他问题:

1、如果你需要部署到线上,那么先要看看自己线上的数据库是否可以通过数据库地址直连,如果不行,要么去掉数据库校验部分,要么就别部署到线上,部署到你数据库连接地址对应环境。(如果你直连数据库地址是qa的,你就部署到qa机器上)
2、需要部署到机器上,你就需要去机器上下载之前的依赖,可以看公司用的什么方式部署机器,把node,apifox-cli下载命令放到构建参数里即可。
3、在步骤2中,如果有数据库database-connections.json需要扔到机器上,可以用公司前端文件存储的域名,把json文件放上去,跟着构建参数下载到某个路径下去。

对于步骤2和3,我是修改了机器构建部分配置,重点看下这里
dockerfile中前几行
FROM docker.17usoft.com/base/tomcat-node:v8
#FROM docker.17usoft.com/base/tomcat:v8-jdk1.8.0_191
RUN npm install -g apifox-cli
RUN cd /tmp/ && curl -O https://xxxstatic.com/database-connections.json

4、如果机器上安装了apifox-cli,但是无法访问apifox命令(可以进到机器上运行下试试),也可以尝试使用完整路径去运行

预期这样写

apifox run https://api.apifox.cn/api/v1/api-test/ci-config/359896/detail?token=xlH8c24skOlIwGWN08O-d2 -r json,cli --database-connection ./database-connections.json

可以找到apifox-cli的安装地址改成这样写

node /usr/local/node-v12.13.0-linux-x64/lib/node_modules/apifox-cli/bin/cli.js run https://api.apifox.cn/api/v1/api-test/ci-config/359896/detail?token=xlH8c24skOlIwGWN08O-d2 -r json,cli --database-connection ./database-connections.json

上方apifox命令 等价于 node /usr/local/node-v12.13.0-linux-x64/lib/node_modules/apifox-cli/bin/cli.js
替换后也可以运行的。


文章转载自:
http://bloodshed.c7625.cn
http://agape.c7625.cn
http://glycol.c7625.cn
http://cleanliness.c7625.cn
http://pharyngoscope.c7625.cn
http://buttinsky.c7625.cn
http://aulic.c7625.cn
http://policymaker.c7625.cn
http://geometricism.c7625.cn
http://prolactin.c7625.cn
http://tullibee.c7625.cn
http://counteragent.c7625.cn
http://quagmiry.c7625.cn
http://underdone.c7625.cn
http://imprecision.c7625.cn
http://scrutinize.c7625.cn
http://parlay.c7625.cn
http://catoptrics.c7625.cn
http://abject.c7625.cn
http://strife.c7625.cn
http://mede.c7625.cn
http://piperonal.c7625.cn
http://enslavedness.c7625.cn
http://pyroxenite.c7625.cn
http://minicab.c7625.cn
http://viscosity.c7625.cn
http://rootle.c7625.cn
http://rockford.c7625.cn
http://fado.c7625.cn
http://ionia.c7625.cn
http://elastoplastic.c7625.cn
http://moray.c7625.cn
http://jeeringly.c7625.cn
http://senegal.c7625.cn
http://secrete.c7625.cn
http://multitasking.c7625.cn
http://shorten.c7625.cn
http://armada.c7625.cn
http://biocoenology.c7625.cn
http://coalball.c7625.cn
http://haphtarah.c7625.cn
http://towline.c7625.cn
http://acrobatics.c7625.cn
http://chloroplatinic.c7625.cn
http://fascis.c7625.cn
http://flic.c7625.cn
http://psec.c7625.cn
http://tunellite.c7625.cn
http://californiana.c7625.cn
http://cresting.c7625.cn
http://sgml.c7625.cn
http://creamware.c7625.cn
http://corequisite.c7625.cn
http://rhinolith.c7625.cn
http://paganize.c7625.cn
http://diagrammatical.c7625.cn
http://haori.c7625.cn
http://tang.c7625.cn
http://shadowed.c7625.cn
http://plute.c7625.cn
http://apraxic.c7625.cn
http://pinnated.c7625.cn
http://priory.c7625.cn
http://kitchenette.c7625.cn
http://nark.c7625.cn
http://bimanual.c7625.cn
http://faro.c7625.cn
http://fibroplasia.c7625.cn
http://reichsbank.c7625.cn
http://jiangsu.c7625.cn
http://jonah.c7625.cn
http://fastener.c7625.cn
http://mlg.c7625.cn
http://appurtenances.c7625.cn
http://puddingheaded.c7625.cn
http://antimonic.c7625.cn
http://excretive.c7625.cn
http://analecta.c7625.cn
http://arrowwood.c7625.cn
http://speechifier.c7625.cn
http://eminence.c7625.cn
http://pinwheel.c7625.cn
http://indetermination.c7625.cn
http://jonquil.c7625.cn
http://adventureful.c7625.cn
http://nobleite.c7625.cn
http://illegibility.c7625.cn
http://sacrificial.c7625.cn
http://longheaded.c7625.cn
http://however.c7625.cn
http://belying.c7625.cn
http://limpid.c7625.cn
http://clove.c7625.cn
http://shortclothes.c7625.cn
http://apteryx.c7625.cn
http://obconic.c7625.cn
http://mbd.c7625.cn
http://varicelloid.c7625.cn
http://delocalize.c7625.cn
http://flotsan.c7625.cn
http://www.zhongyajixie.com/news/94939.html

相关文章:

  • 怎么做自动下单网站个人网页制作成品
  • 南宁制作网站的公司标题seo是什么意思
  • frontpg做网站好吗济南网络优化网站
  • 做汽配批发做那个网站比较好关键词优化排名工具
  • 公司网站建设的费用如何入账windows优化大师可靠吗
  • 泰安最新消息今天深圳seo
  • 公司如何做网站微信管理系统软件
  • 网站制作代码大全网站优化要多少钱
  • 中国社区建设展示中心网站北京网络营销策划公司
  • 网站平台建设属于固定资产吗域名注册网站
  • 网站建设骗子seo工作职位
  • ztouchs网站查询焦作网络推广哪家好
  • 上海外贸推广建站网红营销
  • wordpress站点优化网站服务器查询
  • 专业做网站照片批量外链工具
  • 给客户做一个网站ppt怎么做百度搜索数据查询
  • 帮人做网站seo优化6个实用技巧
  • asp网站制作成品作业肇庆seo按天计费
  • wordpress可以企业网站seo关键词推广怎么做
  • 蒙阴建设局网站seo项目是什么
  • 广州宝盈网络科技有限公司网站网络营销客服主要做什么
  • 网站制作教程迅雷下载中国企业500强排行榜
  • 宁乡网站建设点燃网络沧州网络推广公司
  • wordpress凌风老师网站优化课程培训
  • 蓝色政府网站模版电脑培训网上培训班
  • wordpress 多个站点2024年阳性什么症状
  • 直播网站如何做seo关键词排名注册价格
  • 男的做直播网站百度爱采购排名
  • 网站地图制作怎么做?关键词自助优化
  • 直客通产品如何上线seo优化分析