【发布时间】:2018-05-30 07:26:57
【问题描述】:
public class TestingLogin {
WebDriver driver;
@BeforeTest
public void setup()
{
System.setProperty("webdriver.gecko.driver", "\\GeckoDriver\\geckodriver.exe");
driver=new FirefoxDriver();
driver.manage().window().maximize();
driver.get("https://test.admin.placer.life/login");
}
@Test(priority=9)
public void reset_null_email()
{
LoginPage login=new LoginPage(driver);
driver.findElement(By.xpath("//*[@id='app']/div/div[2]/a")).click();
WebDriverWait wait = new WebDriverWait(driver, 60);
wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@id='app']/div/div[2]/p[contains(text(),'Reset Password')]")));
login.set_reset_email("");
login.click_reset_button();
WebDriverWait wait_reset_psw = new WebDriverWait(driver, 10);
wait_reset_psw.until(ExpectedConditions.visibilityOfElementLocated(By.xpath("//*[@id='app']/div/div[2]/form/div[2]/span[2]")));
Assert.assertEquals(driver.findElement(By.xpath("//*[@id='app']/div/div[2]/form/div[2]/span[2]")).getText(),"The email field is required.");
driver.navigate().refresh();
}
@Test(priority=10)
public void reset_invalid_email()
{
LoginPage login=new LoginPage(driver);
driver.findElement(By.xpath("//*[@id='app']/div/div[2]/a")).click();
WebDriverWait wait = new WebDriverWait(driver, 120);
wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//*[@id='app']/div/div[2]/p[contains(text(),'Reset Password')]")));
login.set_reset_email("a@gmail.com");
login.click_reset_button();
WebDriverWait wait_reset_psw = new WebDriverWait(driver, 10);
wait_reset_psw.until(ExpectedConditions.elementToBeClickable(By.xpath("//*[@id='app']/div/div[2]/form/div[2]/span[2]")));
Assert.assertEquals(driver.findElement(By.xpath("//*[@id='app']/div/div[2]/form/div[2]/span[2]")).getText(),"The email field is required.");
driver.navigate().refresh();
}
@AfterTest
public void close()
{
driver.close();
}
}
大家好, 我用“visibilityOfElementLocated”尝试了reset_invalid_email(),但由于代码块的相似性,我猜这是导致测试用例失败的原因。所以我用“elementToBeClickable”尝试过>"。但是也导致了同样的错误。
请帮忙
提前致谢
【问题讨论】:
-
您在哪一步遇到了错误?
-
登录页面后出现错误
-
提供 Html 和错误堆栈跟踪。
-
通过:reset_null_email 失败:reset_invalid_email
-
org.openqa.selenium.TimeoutException:预期条件失败:等待元素可点击:By.xpath://*[@id='app']/div/div[2]/ p[contains(text(),'Reset Password')](以 500 MILLISECONDS 间隔尝试 120 秒)
标签: java selenium selenium-webdriver webdriver webdriverwait