apiFox调用外部(java)程序
参考资料地址1:
apiFox前置或后置脚本里执行java的jar包(推荐)
参考资料地址2:
apifox脚本调用jar包
目录
明确(个人看法)
- apiFox的文档里说可以对指定方法的调用暂时未发现成功的demo测试(不好使)
- 目前只通过调用main函数且用args[]传参(推荐)
- 替代方案,可通过请求http接口实现
1、先查看java环境是否ok,没有的话自行安装配置环境
问题解决 :找不到C:\ProgramData\Oracle\Java\javapath\java.exe
2、写代码
main方法入口
git demo示例: https://gitee.com/li-yanning/apifox-quick-jar.git
3 执行命令测试jar包是否能够运行
利用idea打包
问题解决: 找不到依赖的三方库
pom的配置,使其打的jar包含三方依赖
<build>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.4</version> <!-- 使用适合你Maven版本的插件版本 -->
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<createDependencyReducedPom>true</createDependencyReducedPom>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<mainClass>org.example.EncryptMain</mainClass> <!-- 你的主类 -->
</transformer>
</transformers>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
4 接下来写apiFox的脚本了
4.1 找到apiFox的外部程序目录,点击打开目录
4.2、把写好的jar包放入此目录下
4.3、接口写前置脚本
4.4、脚本内容
// 调用外部程序加密数据
var encryptData = pm.execute('Main-1.0.0-SNAPSHOT.jar', ['data', 'serverPublicKey']);
// 打印将加密后的数据
console.log(encryptData);
4.5、执行的结果能在控制台看到打印信息
5 补充
官方文档说可以jar包的指定方法,但目前未发现有成功的demo