java – 使用Common Selenium WebDriver实例

我希望在我的所有TestNG测试中使用一个通用的WebDriver实例,方法是扩展我的测试类以使用如下所示的基类,但它似乎不起作用:

public class browser {

private static WebDriver driver = new FirefoxDriver();

public static WebDriver getDriver()
{
    return driver;
}
public static void open(String url)
{
    driver.get(url);
}
public static void close()
{
    driver.close();
}
}

我想在我的测试类中使用WebDriver,如下所示,但是我收到错误消息:
对于GoogleTest类型,方法getDriver()未定义:

   public class GoogleTest extends browser
   {

      @Test
      public void GoogleSearch() {
     WebElement query = getDriver().findElement(By.name("q"));
     // Enter something to search for
     query.sendKeys("Selenium");
     // Now submit the form
     query.submit();
     // Google's search is rendered dynamically with JavaScript.
     // Wait for the page to load, timeout after 5 seconds
      webdriverwait wait = new webdriverwait(getDriver(), 30);
     // wait.Until((d) => { return d.Title.StartsWith("selenium"); });
     //Check that the Title is what we are expecting
     assertEquals("selenium - Google Search", getDriver().getTitle().toString());
   }
}

解决方法:

问题是你的getDriver方法是静态的.

解决方案#1:使方法非静态(这将需要使驱动程序变量非静态,或使用返回browser.getDriver();)

public WebDriver getDriver() {
    return driver;
}

或者,使用browser.getDriver调用getDriver方法

WebElement query = browser.getDriver().findElement(By.name("q"));

相关文章

转载地址:https://www.cnblogs.com/mini-monkey/p/12104821...
web自动化测试过程中页面截图相对比较简单,可以直接使用sel...
目录前言一、Selenium简介二、浏览器驱动1.浏览器驱动参考2....
一、iframe的含义:iframe是HTML中框架的一种形式,在对界面...
转载请注明出处❤️作者:测试蔡坨坨原文链接:caituotuo.to...
'''##**认识selenium**​**下载:pipinstall...