Pra*_*wal 5 testcase jenkins jenkins-plugins testrail jenkins-workflow
我正在尝试使用 Testrail 作为测试用例管理系统,因此,将 testrail 与 Jenkins 集成会很有用。
这就是我想要实现的目标:
假设我在 testrail 中手动创建了三个测试用例,用例 ID 为 C1、C2 和 C3,这些测试用例将具有一些独特的自动化测试名称,例如 A1、A2 和 A3(在更多信息中,testrail 中将有一个字段如此独特的信息)
当我点击“开始自动化测试”按钮并从 testrail 运行 Jenkins 作业时(考虑到我已经为具有此按钮的 testrail 实现了 UI 脚本):
,我想运行一个脚本/东西,它采用所选测试用例的用例 ID,并将这些 ID 临时注释到实际的 Java 测试中,以便它可以运行那些特定的测试并将结果发布回 Testrail。
我能想到的方法:
当我点击 Testrail 上的“开始自动化测试”按钮时,我可以创建一个脚本来运行以创建一个 XML 文件,该文件将包含来自 Testrail 的所需的选定测试用例。然后,此 XML 将作为 Jenkins 作业的默认输入提供,它将运行 XML 文件中提到的测试用例。此 XML 将是临时的,每次从 Testrail 进行选择时都会被替换。但是,你怎么做呢?我是 Testrail 的新手并阅读了它的 API,看起来 API 将有助于将结果发布回 Testrail。但是,我们如何实现 ID 的映射?
此外,任何关于将结果发布回 Testrail 的建议都会很有用。
这不是 TestNG 特有的,但您可以在 java 中进行自定义注释。您可以通过 api 通过测试 ID(使用 add_result)或同时使用案例 ID 和运行 ID(使用 add_result_for_case)来更新测试运行中的 TestRail 测试。http://docs.gurock.com/testrail-api2/reference-results
案例 ID 永远不会改变,因此您可以在测试中对它们进行硬编码。
这是我为此目的使用的:
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface TestData
{
int testId() default 0;
String[] tags() default "";
}
Run Code Online (Sandbox Code Playgroud)
我的测试方法如下所示(使用 Junit,但与其他框架应该没有太大不同):
@Test
@TestData(
testId = 177,
tags = {"smoke", "authentication"}
)
public void testName()
{
//Do the test
}
Run Code Online (Sandbox Code Playgroud)
然后,我使用 JUnit 特定的方法来获取要在我的拆卸方法中使用的测试方法名称,但我确信有多种方法可以做到这一点。获得测试方法名称后,我将如何阅读注释:
@After
public void baseTearDown() throws Exception
{
//Good place to record test results
Method testMethod = getClass().getMethod(testName);
if(testMethod.isAnnotationPresent(TestData.class))
{
TestData testData = testMethod.getAnnotation(TestData.class);
//Do something with testData.testId();
System.out.println("Test ID = " + testData.testId());
}
//other cleanups
}
Run Code Online (Sandbox Code Playgroud)
这个 mkyong 链接提供了一些创建注释和通过反射读取注释的非常基本的示例。这是我用来开始的: https://www.mkyong.com/java/java-custom-annotations-example/
如果您在代码中开始测试运行,那么您只需跟踪测试运行 ID 并根据需要使用它即可。如果没有,我的偏好是使用 Jenkins 或其他脚本来定义和设置一些环境变量,您的代码可以从中读取这些变量,这样您就不必处理传递一些真正基本的键值对的文件
| 归档时间: |
|
| 查看次数: |
3703 次 |
| 最近记录: |