Selenium webdriver 获取TestNG中的ElementNotFound异常
以下代码用于登录,然后单击CreateQuest链接。它不点击链接,并给出ElementNotFound异常并跳过测试。它只是登录和注销。请帮忙Selenium webdriver 获取TestNG中的ElementNotFound异常,selenium-webdriver,testng,Selenium Webdriver,Testng,以下代码用于登录,然后单击CreateQuest链接。它不点击链接,并给出ElementNotFound异常并跳过测试。它只是登录和注销。请帮忙 public class Edit_Question { WebDriver driver = new FirefoxDriver();@ BeforeTest public void load() { driver.get("Page url"); } @ Test public void
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();
}
}
执行的顺序不明确。您需要使用dependenmethods在此处进行gaurantee订购。因此,ques应取决于登录,而注销应取决于ques以确定执行顺序 其他意见: 1.尝试使用@BeforeClass而不是@BeforeTest,使用@AfterClass而不是@AfterSuite 2.尽可能避免使用睡眠。而是等待特定的元素。 3.整个流程不应该是一个测试用例吗
希望有帮助。您的测试网页的HTML是什么?XPATH链接是否到达所需的DOM节点?我已尝试实现您的建议。但我还是犯了同样的错误。几天前我更改了ANT build.xml的类路径。这个错误可能是因为这个原因吗?没有变化的类路径不应该与此相关。你能粘贴你的更新代码吗。