java - 在 pageObject 类中设置 WebDriver,然后在测试用例中调用它

标签 java eclipse selenium selenium-webdriver webdriver

我可以在 pageObject 类中编写 WebDriver 的方法,然后在测试用例类中调用该方法吗?

public class setupMethods {

static WebDriver driver;

public static void setup(String browser) throws Exception{
    //Check if parameter passed from TestNG is 'firefox'
    if(browser.equalsIgnoreCase("firefox")){
    //create firefox instance
        System.setProperty("webdriver.gecko.driver", "U:\\path\\geckodriver.exe");
        WebDriver driver = new FirefoxDriver();
    }
    //Check if parameter passed as 'chrome'
    else if(browser.equalsIgnoreCase("chrome")){
        System.setProperty("webdriver.chrome.driver", "U:\\selenium\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
    }
    //Check if parameter passed as 'Edge'
            else if(browser.equalsIgnoreCase("IE")){
                System.setProperty("webdriver.ie.driver","U:\\path\\IEDriverServer.exe");
                InternetExplorerDriver driver;
                driver = new InternetExplorerDriver();
            }
    else{
        //If no browser passed throw exception
        throw new Exception("Browser is not correct");
    }
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
}

}

这是我想在测试用例类中调用的方法,但是当我运行测试时,它会启动 Chrome(或任何其他浏览器),但随后返回 java.lang.NullPointerException当涉及到驱动程序需要最大化窗口的代码行时 driver.manage().window().maximize();

最佳答案

您的方法中有局部变量driver,这就是您收到此异常的原因。 删除方法主体中 driver 的类型声明。

关于java - 在 pageObject 类中设置 WebDriver,然后在测试用例中调用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45088971/

相关文章:

java - Selenium 网络驱动程序 : Faster way to set values in many inputs

java - 在 Eclipse 中配置 JDK——可以在 Maven 中完成吗?

Java:Eclipse:Setter、Getter 以及在另一个类中使用变量

html - 在 Eclipse IDE 之外使用 JSP 文件

java - 将 ZbarScanner 与安卓应用集成

java - 线程 "main"org.openqa.selenium.WebDriverException : java.net.SocketException 中出现异常:连接重置

java - 来自不同存储库的两个 Maven 依赖项

java - 如何使用给定的 String[][] 和预期的 String[][] 返回来计算平均成绩

java - 将对象添加到列表中的 Lambda 表达式

java - 使用正则表达式和匹配字符串方法的垃圾邮件过滤器