validation - 断言在某些登录网站上仅通过一次测试
问题描述
这种断言方法给我所有其他登录网站的错误结果。为什么它不适用于其他登录网站?我正在尝试使用断言来验证(下面给出)。在任何其他登录网站上尝试这些断言时,只有一个测试通过。这是为什么?
public class DataDrivenTest {
WebDriver driver;
@BeforeClass
public void setup() {
System.setProperty("webdriver.chrome.driver", "/Users//Downloads/chromedriver");
driver = new ChromeDriver();
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
}
@Test(dataProvider = "LoginData")
public void loginTest(String user, String pass, String exp) {
driver.get("https://admin-demo.nopcommerce.com/login?ReturnUrl=%2Fadmin%2F");
WebElement txtbox = driver.findElement(By.xpath("//input[@id='Email']"));
txtbox.clear();
txtbox.sendKeys(user);
WebElement passW = driver.findElement(By.xpath("//input[@id='Password']"));
passW.clear();
passW.sendKeys(pass);
driver.findElement(By.xpath("//button[@type='submit']")).click();
String expTitle = "Dashboard / nopCommerce administration";
String actualTitle = driver.getTitle();
if (exp.equals("Valid")) {
if (expTitle.equals(actualTitle)) {
Assert.assertTrue(true);
} else {
Assert.assertTrue(false);
}
}
else if (exp.equals("Invalid")) {
if (expTitle.equals(actualTitle)) {
Assert.assertTrue(false);
} else {
Assert.assertTrue(true);
}
}
}
@DataProvider(name = "LoginData")
public String[][] getdata() {
String loginData[][] = {
{ "admin@yourstore.com", "admin", "Valid" },
{ "admin@yourstore.com", "admn", "Invalid" },
{ "adm@yourstore.com", "admn", "Invalid" },
{ "adm@yourstore.com", "adm", "Invalid" }
};
return loginData;
}
@AfterClass
public void teardown() {
driver.quit();
}
}
解决方案
推荐阅读
- flutter - 改变 X 轴折线图颤动
- javascript - 如何在没有 javascript 的情况下生成 rails 应用程序?
- scala - SFTP上传文件成功但无法终止
- c# - 如何通过非泛型类函数传递泛型类型
- vue.js - Quasar Framework 如何存储登录哈希,以便它在 Web 和移动(使用 cordova)应用程序上工作
- javascript - 如何捕获失败的 WebSocket 消息?
- android - ARCore 记录/回放系统
- c++ - 明确论证?
- html - fontawesome有问题,它没有出现
- javascript - 在 ASP.NET Razor 视图中对大量对象进行分页