首页 > 解决方案 > 猕猴桃中药 | 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();

任何帮助,将不胜感激!

标签: javajunit5kiwi-tcms

解决方案


我有用 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 包含statusexecution_id字段,但 junit-plugin 库中的 Java 序列化程序代码会忽略它们,因为它们不是 TestCase 模型的一部分,请参阅model/TestCase.java


推荐阅读