在自动化测试中,使用正向和负向测试来测试每个字段的最佳方法是什么?

问题描述 投票:0回答:1

假设我有一个包含 3 个字段的弹出窗口,并且我有数据提供者,我在其中提供不同的值组合(正值和负值)来填写弹出窗口。还有一个布尔值,指示该组数据提供程序是否应导致成功或错误,我将其用于断言。

这些字段处理错误的方式可能有所不同,例如如果用户角色不同,则字段会被禁用,如果用户输入无效表单,则字段会显示错误,等等。

对弹出窗口中的每个字段使用 try 块是否太过分了?

如果这太过分了,那么测试多个字段的大量组合的更好方法是什么?

我尝试了上述结构,但我在想这里是否有经验法则。

 // Test field 1
            try {
                page.fill("#field1", "TestValue1");
                System.out.println("Field 1 test passed.");
            } catch (PlaywrightException e) {
                System.out.println("Field 1 test failed: " + e.getMessage());
            }

            // Test field 2
            try {
                page.fill("#field2", "TestValue2");
                System.out.println("Field 2 test passed.");
            } catch (PlaywrightException e) {
                System.out.println("Field 2 test failed: " + e.getMessage());
            }

            // Test field 3
            try {
                page.fill("#field3", "TestValue3");
                System.out.println("Field 3 test passed.");
            } catch (PlaywrightException e) {
                System.out.println("Field 3 test failed: " + e.getMessage());
            }
java testing automation playwright playwright-java
1个回答
0
投票

您是否使用 JUnit 5 或 TestNG 等测试框架?通常,在 Web UI 自动化中,您需要将测试框架与浏览器自动化框架配对。测试框架提供了各种选项来构建测试。例如,以下是来自 Playwright 官方文档页面的 JUnit 5 实现:

@Test
void shouldClickButton() {
    page.navigate("data:text/html,<script>var result;</script><button onclick='result=\"Clicked\"'>Go</button>");
    page.locator("button").click();
    assertEquals("Clicked", page.evaluate("result"));
}

您可以通过应用

@Test
注释将方法标记为测试方法。然后,您在方法中执行必要的操作,最后,您断言预期结果是否等于实际结果。

如果您正在寻找使用 Playwright 和 Java 的通用测试自动化框架,您可以检查 此存储库

© www.soinside.com 2019 - 2024. All rights reserved.