gpt4 book ai didi

java - 获取 Selenium 测试的错误列表,而不是使用 try-catch block 在单个错误上停止测试

转载 作者:行者123 更新时间:2023-11-30 04:28:54 24 4
gpt4 key购买 nike

我已经尝试使用 Selenium 中的“验证”选项而不是“断言”选项有一段时间了。我的想法是,使用“验证”选项,我的测试可以完全运行,然后获取错误列表。在尝试这样做时,我意识到“代码方面”的验证选项与断言相同,但它只是被 try-catch block 包围。我已经尝试了各种选项来完成这项工作,但我面临的问题是测试仍然停止在中断的语句上,而不是给我一个错误列表。

我的结构是:

public class SelTests {

public StringBuffer verificationErrors = new StringBuffer();
public WebDriver driver;

@BeforeTest
public void setup() throws Exception {
// DO SETUP STUFF
}

@Test
public void TestScript1() throws Exception {

try { //assertEquals("string1", "string2") } catch (Exception e) {verificationErrors.append(e.toString());}
try { //assertEquals("string1", "string2") } catch (Exception e) {verificationErrors.append(e.toString());}
try { //assertEquals("string1", "string2") } catch (Exception e) {verificationErrors.append(e.toString());}

@AfterTest
public void tearDown() throws Exception{

driver.close();

String verificationErrorString = verificationErrors.toString();
if (!"".equals(verificationErrorString)) {
fail(verificationErrorString);
System.out.println(verificationErrorString);
}
}

但是即使经过多种方式修改后,我仍然遇到同样的问题。我还尝试围绕整个断言语句 block ,而不是像上面的代码那样单独执行它们,但没有任何效果。我故意在一些断言中引入错误,但每次我只得到 1 个错误的日志。

环境:

Selenium 2.30 Server-standalone
TestNG annotations and frameworks
Java code using WebDriver implementations
Eclipse
Windows 7 - 64bit (this should not matter though)

任何指导我实现我想要实现的目标的帮助都将不胜感激。

谢谢

阿利斯特

最佳答案

它不会进入 catch block 的原因是 Asserts 会抛出 AssertionErrors。错误与异常不同。当您捕获异常时,您没有捕获 AssertionError。将 catch block Exception e 更改为 AssertionError 或 Throwable,这意味着任何异常或错误。

关于java - 获取 Selenium 测试的错误列表,而不是使用 try-catch block 在单个错误上停止测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15124163/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com