我应该导入哪个类来使用verifyTrue

时间:2011-09-13 05:29:01

标签: selenium testng

我使用DataProvider将Selenium与TestNG一起使用。我正在验证有100个名字的列表。我已将所有这些添加到excel表中,并在A CELL中分隔逗号。我用Java编程如下:

import static org.testng.AssertJUnit.*;
public class example extends Base{
    @Test(dataProvider="List")
    public void isListofNamesPresent(String names) throws Exception
    String list[] = names.split(",");
    for(int i=0; i<list.length; i++){
        assertTrue(selenium.isTextPresent(list[i]));
        Reporter.log("Type of Case:"+ names +" are present");
    }
}

上面的代码断言了A CELL中的名字列表(Aaron,James,Jack,Hegin,Henry)。由于它只有一轮数据,如果实际和预期之间有任何误差,它将退出该方法因为assertTrue。如果我给了verifyTrue,那么它应该执行所有列表,即使实际和预期之间存在不匹配。

有谁能告诉我如何使用verifyTrue?我的意思是我需要导入哪个类。我无法扩展任何类,因为我已经扩展了基类。所以任何导入都可以。我尝试过SeleneseTestCase,但没有运气。

提前致谢

3 个答案:

答案 0 :(得分:0)

我认为您正在寻找的答案可以通过以下问题解决:SeleneseTestCase is deprecated - how to call verify* methods?

答案 1 :(得分:0)

你可以做的另一种方法是创建自己的verifyTrue()方法来执行类似这样的操作来捕获断言错误:

public static void verifyTrue(boolean condition, String message) {
    try {
        Assert.assertTrue(condition, message);
        log("Expected value: true" + " Actual value: " + condition + " - PASSED ", true);
    } catch (Throwable e) {
        log("Expected value: true" + " Actual value: " + condition + " - FAILED " + message, true);
        addVerificationFailure(e);
    }
}

答案 2 :(得分:0)

您可以导入SeleneseTestBase类以使用verifyTrue(),如下所示:

import com.thoughtworks.selenium.SeleneseTestBase;

也可以使用SeleneseTestCase,但不推荐使用它。所以。最好使用SeleneseTestBase