我正在编写一些测试脚本,并在运行时遇到某种类型的启动错误。它一直声明logintest应该是void,但它会返回另一个页面。以下任何想法都是代码
package com.testscripts;
import java.util.concurrent.TimeUnit;
import org.junit.*;
import org.junit.rules.ErrorCollector;
import static org.junit.Assert.*;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.PageFactory;
import com.helpers.setup;
import com.pages.Homepage;
public class TestCase1_login extends setup {
public TestCase1_login() throws Exception {
super();
// TODO Auto-generated constructor stub
}
public static boolean IsLogIn = false;
@Rule
public ErrorCollector errorCollector = new ErrorCollector();
@Test
public Homepage LogIntest() {
try {
System.out.println(System.getProperty("user.dir"));
driver.get("http://localhost:2020/Clockwise/Login.htm");
driver.findElement(By.id("USERNAME")).clear();
driver.findElement(By.id("USERNAME")).sendKeys("system");
driver.findElement(By.id("PASSWORD_EDIT")).clear();
driver.findElement(By.id("PASSWORD_EDIT")).sendKeys("clockwise");
driver.findElement(
By.xpath("//button[@onclick='return OkClick();']")).click();
Thread.sleep(3000);
}
catch (Throwable t) {
errorCollector.addError(t); // Assume.assumeNoException(t); // no
// testcases will be run if
System.out.println("LogIn Failure");
}
return new Homepage(driver);
}
}
HomePage.Java:
package com.pages;
import org.openqa.selenium.WebDriver;
public class Homepage {
private WebDriver driver;
public Homepage(WebDriver driver){
this.driver=driver;
}
}
答案 0 :(得分:0)
这是因为JUnit需要所有测试方法(@Test)"必须"声明返回类型为" void"。
您需要为Login创建另一个页面类(例如LoginPage)并创建一个返回HomePage的登录方法,然后您可以在下面的JUnit测试类中调用它:
@Test
public void testLogin() throws Exception {
LoginPage loginPage = new LoginPage(driver);
HomePage homePage = loginPage.loginAs("system", "clockwise");
assertEquals("Login success verification done here",homePage.getLogingSuccessMessage());
}