我曾尝试编写 zap proxy 但遇到错误。这是错误:
org.zaproxy.clientapi.core.ClientApiException:缺少参数 在 org.zaproxy.clientapi.core.ApiResponseFactory.getResponse(ApiResponseFactory.java:50) 在 org.zaproxy.clientapi.core.ClientApi.callApi(ClientApi.java:389) 在 org.zaproxy.clientapi.core.ClientApi.callApi(ClientApi.java:378) 在 org.zaproxy.clientapi.gen.Reports.generate(Reports.java:114) 在 com.rev.testManager.GenericTestManager.generateZapReport(GenericTestManager.java:58) 在java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:104) 在 java.base/java.lang.reflect.Method.invoke(Method.java:578) 在 org.testng.internal.invokers.MethodInitationHelper.invokeMethod(MethodInitationHelper.java:139) 在 org.testng.internal.invokers.MethodInitationHelper.invokeMethodConsideringTimeout(MethodInitationHelper.java:69) 在 org.testng.internal.invokers.ConfigInvoker.invokeConfigurationMethod(ConfigInvoker.java:390) 在 org.testng.internal.invokers.ConfigInvoker.invokeConfigurations(ConfigInvoker.java:325) 在 org.testng.internal.invokers.TestInvoker.runConfigMethods(TestInvoker.java:810) 在 org.testng.internal.invokers.TestInvoker.runAfterConfigurations(TestInvoker.java:779) 在 org.testng.internal.invokers.TestInvoker.invokeMethod(TestInvoker.java:755) 在 org.testng.internal.invokers.TestInvoker.invokeTestMethod(TestInvoker.java:227) 在 org.testng.internal.invokers.MethodRunner.runInSequence(MethodRunner.java:50) 在 org.testng.internal.invokers.TestInvoker$MethodInvokerAgent.invoke(TestInvoker.java:957) 在 org.testng.internal.invokers.TestInvoker.invokeTestMethods(TestInvoker.java:200) 在 org.testng.internal.invokers.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:148) 在 org.testng.internal.invokers.TestMethodWorker.run(TestMethodWorker.java:128) 在 java.base/java.util.ArrayList.forEach(ArrayList.java:1511) 在 org.testng.TestRunner.privateRun(TestRunner.java:848) 在 org.testng.TestRunner.run(TestRunner.java:621) 在 org.testng.SuiteRunner.runTest(SuiteRunner.java:443) 在 org.testng.SuiteRunner.runSequentially(SuiteRunner.java:437) 在 org.testng.SuiteRunner.privateRun(SuiteRunner.java:397) 在 org.testng.SuiteRunner.run(SuiteRunner.java:336) 在 org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52) 在 org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:95) 在 org.testng.TestNG.runSuitesSequentially(TestNG.java:1280) 在 org.testng.TestNG.runSuitesLocally(TestNG.java:1200) 在 org.testng.TestNG.runSuites(TestNG.java:1114) 在 org.testng.TestNG.run(TestNG.java:1082) 在 com.intellij.rt.testng.IDEARemoteTestNG.run(IDEARemoteTestNG.java:66) 在 com.intellij.rt.testng.RemoteTestNGStarter.main(RemoteTestNGStarter.java:109)
它指向直线生成方法。
我的代码:
@AfterMethod
public void generateZapReport() {
String targetFolder = System.getProperty("user.dir");
if (clientApi != null) {
try {
ApiResponse apiResponse = clientApi.reports.generate("WSM API Security Testing",
null, null, "WSM API Security Testing", null,
"https://google.com.my/", null, null, null,
"zap-Security.html",
null,"targetFolder", null);
System.out.println(apiResponse);
} catch (ClientApiException e) {
e.printStackTrace();
}
}
webDriver.quit();
}
我尝试研究客户端 api 参考,但不知道如何修复它。有任何提示可以查明根本原因吗?
请帮忙。谢谢。
你似乎通过了很多
null
s
姓名 | 在 | 类型 | 必填 | 描述 |
---|---|---|---|---|
标题 | 查询 | 绳子 | 真实 | 报告标题 |
模板 | 查询 | 绳子 | 真实 | 报告模板 |
主题 | 查询 | 绳子 | 假 | 报告主题 |
描述 | 查询 | 绳子 | 假 | 报告说明 |
背景 | 查询 | 绳子 | 假 | 要包含在报告中的上下文的名称,以“ |
网站 | 查询 | 绳子 | 假 | 应包含在报告中的网站 URL,以“ |
部分 | 查询 | 绳子 | 假 | 应包含的报告部分,以“ |
包括信心 | 查询 | 绳子 | 假 | 报告中应包含的置信内容,以“ |
包含风险 | 查询 | 绳子 | 假 | 应包含在报告中的风险,以“ |
报告文件名 | 查询 | 绳子 | 假 | 生成的报告的文件名。该值会覆盖reportFileNamePattern 参数。 |
报告文件名模式 | 查询 | 绳子 | 假 | 报告文件名模式。 |
报告目录 | 查询 | 绳子 | 假 | 应放置生成的报告的目录路径。 |
显示 | 查询 | 绳子 | 假 | 显示生成的报告。要么“真”,要么“假”。 |
传递
null
模板可能是罪魁祸首,因为它是必填字段。
也结帐
reportsViewTemplates
。
API 文档在这里:https://www.zaproxy.org/docs/api/
有关 ZAP 日志和主目录的信息: