2

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

如何放置检查点,如下面的屏幕截图所示?请用基本示例进行解释。

Qmetry 文档的屏幕截图

我试过搜索这个,但我没有得到清楚的理解。

4

2 回答 2

2

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

编辑:

步骤也被视为检查点。当有一个步骤调用时,其中的所有检查点(步骤/断言/验证)将成为子检查点。Step 是任何带有注释的 java 方法@QAFTestStep,例如:

@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();
} 
于 2020-06-24T22:52:53.453 回答
1

您还可以使用Reporter类添加检查点。请参阅下面的代码片段。

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类必须从com.qmetry.qaf.automation.util包中导入。

于 2020-06-25T03:52:01.293 回答