我一直在尝试使用 Selenium 中的“验证”选项而不是“断言”选项。我的想法是使用验证选项是我的测试可以完全运行,然后获取错误列表。在尝试这样做时,我意识到“代码明智”的验证选项与 Assert 相同,但它只是被 try-catch 块包围。我已经尝试了各种选项来完成这项工作,但我面临的问题是测试仍然停止在中断的语句上,而不是给我一个错误列表。
我的结构是:
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);
}
}
但即使在以多种方式修改后,我仍然遇到同样的问题。我还尝试包围整个断言语句块,而不是像上面的代码中那样单独执行它们,但没有任何效果。我故意在一些断言中引入了错误,但每次我只得到 1 个错误的日志。
环境:
Selenium 2.30 Server-standalone
TestNG annotations and frameworks
Java code using WebDriver implementations
Eclipse
Windows 7 - 64bit (this should not matter though)
任何帮助指导我实现我想要实现的目标都将不胜感激。
谢谢,
阿利斯特