假设我有一个包含 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());
}
您是否使用 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 的通用测试自动化框架,您可以检查 此存储库。