在TestNG中获取ElementNotFound异常

时间:2014-01-13 14:04:55

标签: selenium-webdriver testng

以下代码用于登录,然后单击Create quest Link。它不会单击链接并提供ElementNotFound异常并跳过测试。它只需登录并注销。请帮忙

public class Edit_Question {

    WebDriver driver = new FirefoxDriver();@
    BeforeTest
    public void load() {
    driver.get("Page url");
    }

    @  Test
    public void login() throws InterruptedException {
    driver.findElement(By.id("userid")).sendKeys("4060@jhg.com");
    driver.findElement(By.id("password")).sendKeys("mpcyn2");
    driver.findElement(By.id("emLoginLink")).click();
    Thread.sleep(10000);
    }@  Test
    public void ques() throws InterruptedException {
    //select create questions
    driver.findElement(By.xpath("//xpath link")).click(); //throws        ElementNotFound exception
    Thread.sleep(5000);
    }@  Test
    public void logout() {
    //logout
    driver.findElement(By.partialLinkText("SeeharackTest1, SherrodUATT")).click();
    driver.findElement(By.id("logoutLink")).click();
    }

    @   AfterSuite
    public void close() {
    driver.close();
    }
}

1 个答案:

答案 0 :(得分:1)

执行的顺序不是保证。您需要在这里使用dependOnMethods来保证订单。所以问题应该取决于登录和注销应该依赖于问题来保证执行的顺序。

其他观察: 1.尝试使用@BeforeClass而不是@BeforeTest和@AfterClass而不是@AfterSuite 2.尽可能避免使用睡眠。请等待特定元素。 3.整个流程不应该是一个测试用例吗?

希望它有所帮助。