我如何在 Qmetry 自动化框架 (QAF) 中放置检查点

How can i place checkpoints in Qmetry automation Framework(QAF)

我最近开始使用 QAF Java 框架进行测试。我真的很喜欢那里的仪表板,它既详细又吸引人。但是,由于 Qmetry 网站上的知识和文档有限,我无法使用大部分框架。

如何设置检查点如下图所示?请用基本的例子解释。

Qmetry 文档的屏幕截图

我试过搜索这个,但我没有搞清楚。

测试用例中的断言和验证是检查点。每个检查点都将在报告中找到。如果是 UI 测试,它会自动在每个检查点消息中附加屏幕截图。您可以参考 Assertion/Verification.

的文档

编辑:

步骤也被视为检查点。当有step call时,里面的所有checkpoints(step/assertion/verification)都会变成sub checkpoint。步骤是任何用 @QAFTestStep 注释的 java 方法,例如:

@QAFTestStep(description = "search for {term}")
public static void searchFor(String searchTerm) {
   $("name=q").sendKeys("test");
   $("searchpage.searchbtn.loc").click();
}

当调用步骤时,它将被报告为检查点。步骤可以在测试用例或功能文件中调用。 以下是功能文件中的示例测试用例:

Scenario: SampleTest
   Given get '/'
   When search for 'qaf github infostretch'
   Then verify link with partial text 'qaf' is present

下面是 java

中的示例测试用例
@Test
public void testGoogleSearch() {
    get("/");
    searchFor("qaf github infostretch");
    $("partialLink=qaf").verifyPresent();
}

无论 java 或 bdd 中的测试用例,报告都是相同的。

在 java 中编写的测试中创建动态步骤的另一种方法是使用运行时,即使用运行时场景工厂。

public void testWithGivenWhenThen() {
    scenario().
    given("a precondition",()->{
        //write appropriate code...
    }).
    when("some action performed",()->{
        //write appropriate code...
    }).
    then("it should have expected outcome",()->{
        //write appropriate code...
    }).
    execute();
} 

您也可以使用Reporter class添加检查点。参考下面的代码片段。

import com.qmetry.qaf.automation.util.Reporter;

//Checkpoint with message
Reporter.log("you message");

//Checkpoint with message and screenshot
Reporter.logWithScreenShot("you message");

//Checkpoint with message types
Reporter.logWithScreenShot("you message", MessageTypes.Info);

Reporter class 必须从 com.qmetry.qaf.automation.util 导入 包。