java - 猕猴桃中药 | junit 插件 | 无法将测试结果发布到 Kiwi
问题描述
我有用 JAVA 编写的 selenium 自动化测试框架。与 Junit5 和 kiwi 的 junit-plugin 集成。
我试图根据我的自动化测试结果更新 kiwi 上的测试执行。首先,我想知道这可行吗?
我能够创建连接和登录,但没有熟悉的方法来更新特定测试用例的测试执行。
RpcClient kiwi = new RpcClient();
kiwi.login("my_username", "my_password");
//I need here something like
kiwi.updateTestCaseExecution("specific_test_run", "specific_test_case", "test_status");
kiwi.logout();
任何帮助,将不胜感激!
解决方案
我有用 JAVA 编写的 selenium 自动化测试框架。与 Junit5 和 kiwi 的 junit-plugin 集成。
我试图根据我的自动化测试结果更新 kiwi 上的测试执行。首先,我想知道这可行吗?
正如你已经看到的那样。
我能够创建连接和登录,但没有熟悉的方法来更新特定测试用例的测试执行。
看这个方法:https ://github.com/kiwitcms/junit-plugin/blob/master/src/main/java/org/kiwitcms/java/api/RpcClient.java#L243第一个参数是TE ID,第二个一个是状态 ID。
我无法根据 CaseID 获取此 ExecutionId
您需要 TestExecution.filter() 通过 runId 和 caseId 进行过滤: https ://github.com/kiwitcms/junit-plugin/blob/master/src/main/java/org/kiwitcms/java/api/RpcClient.java# L228
另请参阅https://kiwitcms.readthedocs.io/en/latest/modules/tcms.rpc.api.html#module-tcms.rpc.api了解 API 接受哪些参数以及如何进行查询的信息。
请成为一名优秀的开源公民,并考虑在https://github.com/kiwitcms/api-scripts上贡献您的 Selenium 胶水代码,以帮助可能感兴趣的其他人。
更新:
TestCase[] testCases = kiwi.getRunIdTestCases(2);
底层 TestRun.get_cases() API 方法返回的原始 JSON 包含status
和execution_id
字段,但 junit-plugin 库中的 Java 序列化程序代码会忽略它们,因为它们不是 TestCase 模型的一部分,请参阅model/TestCase.java
。