allenzhao28 发表于 2009-11-25 17:51:20

Selenium+JUnit,如何兼顾oneTimeSetup和verify断言?

目前在用selenium做公司的web测试,在测试中为了只创建一次数据库链接,使用如下结构
/************************************
public class Tester {
@BeforeClass
public static void oneTimeSetup() {
   // init connection here
}

@AfterClass
public static void oneTimeTearDown() {
    // release resources
}

@Test
public void Test1(){
    assert one;
    assert two;
    click link;
}

@Test
public void Test2() {
}
}
************************************/
我希望Test1中的assert失败后,测试能继续执行,如click link,但是在JUnit中不支持verify。
Selenium本身提供了verify和assert两种断言,但是Selenium中如何做到oneTimeSetup?
我进入一个两难境地,各位一起研究一下吧?

allenzhao28 发表于 2009-11-25 18:04:45

自己顶一下

park_p 发表于 2009-11-25 19:46:40

捕获Throwble异常试试

在assert除捕获Throwble异常试试,自己把抛出的Exception和Error都吞了,在catch报告到日志里。
不过我想最好别这么做,毕竟你吞了Error级的错误:)

park_p 发表于 2009-11-25 19:48:55

如果能自己手动比较检查点的话,就最好不用assert,这样你就好控制了,哈哈哈~

allenzhao28 发表于 2009-11-26 10:57:12

每个页面都有很多检查点,自己写的话,效率不高啊。

park_p 发表于 2009-11-26 11:46:02

那就捕获Throwble异常类试试吧

allenzhao28 发表于 2009-11-26 14:11:40

我自己重新试了下,在测试类里加入了seleneseTestBase对象,直接调用其verfiy方法。

思路和park兄是一致的,不过是捡了现成。:)

park_p 发表于 2009-11-26 15:13:39

呵呵,能解决问题就好。
你说的一致是指:seleneseTestBase对象的verfiy方法也是用捕获Throwble异常类来进行的么?

allenzhao28 发表于 2009-11-26 15:26:21

seleneseTestBase类中的verifyXXX方法会先将错误捕获,然后加入到一个stringbuffer对象,最后再tearDown方法中打出。

同同爱学习 发表于 2009-12-2 16:53:41

轻轻路过

goal1860 发表于 2009-12-9 13:02:01

TestNG什么都可以帮你搞定,怎么还在用junit呢?

danganxi521 发表于 2011-2-24 13:25:31

需要用单例模式
页: [1]
查看完整版本: Selenium+JUnit,如何兼顾oneTimeSetup和verify断言?