【问题标题】:geckodriver for many tests - Java用于许多测试的 geckodriver - Java
【发布时间】:2017-11-30 19:11:21
【问题描述】:

每次我创建另一个测试时都需要添加一个 geckodriver 吗?例如:

public class JUnit4 {

    @Test
    public void test1() {
        System.setProperty("webdriver.gecko.driver",
                "D:\\...\geckodriver.exe");
        WebDriver driver = new FirefoxDriver();
        driver.get("https://www.google.pl/");
        driver.close();
        }

   @Test
   public void test2() {
        System.setProperty("webdriver.gecko.driver",
                "D:\\...\geckodriver.exe");
        WebDriver driver = new FirefoxDriver();
        driver.get("https://www.google.pl/");
    driver.close();
   }

}

上面的代码有效。

如果我在测试名称之前插入一个 geckodriver,它显然不起作用。我试图将 geckodriver 添加到系统变量中,但它也不起作用。我还观察了@Before 的效果,但也没有用。如果我在测试之前拉动驱动程序,那么这是一个错误,因为首先它必须是 geckodriver。

有没有办法在多次测试后只使用一次 geckodriver?

谢谢你的回答

【问题讨论】:

    标签: java selenium selenium-webdriver junit geckodriver


    【解决方案1】:

    您应该在@Before 中只定义一次,并将 Web 驱动程序设为全局变量。

     public class JUnit4 {
    
     public WebDriver driver;
    
     @Before
        public void setup() {
         System.setProperty("webdriver.gecko.driver", "path of the geckodriver ");
           driver = new FirefoxDriver(); 
                      }
     @Test
    public void test1() {
        driver.get("https://www.google.pl/");
        }
    }
    

    【讨论】:

      【解决方案2】:

      现在我知道了,这真的很简单:

      如果您在系统变量中,只需使用“;”在路径中,例如

      路径1;路径2;并将您的路径粘贴到系统变量中->您不需要每次都粘贴:

      System.setProperty("webdriver.gecko.driver", "C:\...\geckodriver.exe");

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-12-03
        • 1970-01-01
        • 2011-10-17
        • 2020-05-16
        • 2017-11-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-14
        相关资源
        最近更新 更多