包含方法中所有浏览器的类:
public class OpenBrowser {
public static void firefox() {
WebDriver driver = new FirefoxDriver();
}
public static void chrome() {
WebDriver driver = new ChromeDriver();
}
}
包含方法中所有环境的类:
public class OpenSite {
public static void stage(WebDriver driver) {
driver.get("stagelink.com");
}
public static void dev(WebDriver driver) {
driver.get("devlink.com");
}
}
包含页面对象的类:
public class HomePage {
private static WebElement element = null;
public static WebElement object1(WebDriver driver) {
element = driver.findElement(By.linkText("object1"));
return element;
}
}
包含实际测试的类
public class Test {
public static void TC1(WebDriver driver) {
HomePage.object1(driver).click();
}
}
MAIN CLASS
public class AllTests {
public static void main(String[] args){
OpenBrowser.chrome();
OpenSite.dev(driver);
Test.TC1(driver);
}
}
我对JAVA和selenium的所有事情都很陌生,我一直在努力设置一些基本的测试并尽可能地组织它们。一切顺利,直到我尝试创建一个包含所有浏览器的方法的类,然后根据首选项在Main中调用它们。 问题是我不确定如何从OpenBrowser.java中导入驱动程序,因为“驱动程序”无法再解析,因为它是在其他地方创建的。
*我知道在线人员建议使用Junit或Testng这样的测试框架,但我觉得他们现在对我来说有点先进,我更喜欢这样做,如果有可能的话。 **我也知道在各种浏览器中执行相同的测试是不可能的,因为事情可能会非常错误,但我现在正在测试的环境是相当基本的,我想这样做至少作为练习。
谢谢!
答案 0 :(得分:1)
将openbrowser更改为:
public class OpenBrowser {
public static WebDriver firefox() {
return new FirefoxDriver();
}
public static WebDriver chrome() {
return new ChromeDriver();
}
}
然后在所有测试中
public class AllTests {
public static void main(String[] args){
WebDriver driver = OpenBrowser.chrome();
OpenSite.dev(driver);
Test.TC1(driver);
}
}