如何以有意义的方式在代码中使用Seleniium Java中的范围报告?

问题描述

我有一个Maven项目,当前使用以下范围报告版本:

<dependency>
    <groupId>com.aventstack</groupId>
    <artifactId>extentreports</artifactId>
    <version>4.1.5</version>
</dependency>

我已启动并运行范围报告,但想知道我们如何在现实世界中使用它们。

例如,我设法通过以下方式使用断言:

try {
    Assert.assertEquals(cart.getTotalAmount().getText(),"$45.24");
    test.pass("amount correct");
} catch (AssertionError e) {
    Assert.fail();
    test.fail(e);
}

哪个工作正常。但是在我们的代码中嵌入大量的“ if语句”以输出.PASS或.FAIL结果是常见的吗?还是不推荐这种方法?

我试图了解我们应该报告的程度,以及使用IF / ELSE方法输出到报告是否常见。我看到的这种方法的问题是我们的代码将嵌入许多IF / ELSE语句中-这使我怀疑这是否正确?

解决方法

好问题……范围报告只是一个报告库,可以帮助您获取执行的测试用例的html报告。

您应该报告的程度取决于您要自动化的测试用例场景的类型。

并非总是必须编写是否包含断言的else。但是最重​​要的是,您的自动化脚本应该能够捕获更改,例如-

对于结帐自动化方案,您将自动进行整个结帐,从将产品添加到购物车转到我的购物车页面,然后进行结帐。

但是您必须在脚本中实现的其他事情是,所有页面上的产品价格都应该相同。无论是否获得订单号,都应该能够验证是否在添加产品到购物车或收到订单成功消息时收到成功消息。在为这种情况编写脚本时,需要注意所有这些事情。

仅编写脚本来单击元素是不够的,我已经看到编写的脚本通过了所有回归测试方案,但是仍然在生产中客户发现很多缺陷,如果客户发现的缺陷多于测试自动化,则自动化测试就没有用了工程师。

尝试在脚本中尽可能多地测试和验证每个细节,以提高产品质量。祝你好运,测试愉快:)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...