使用Selenium Webdriver

时间:2016-04-22 12:16:13

标签: java windows selenium webdriver selenium-chromedriver

我在selenium webdriver中运行并行多浏览器测试。当它第一次启动时,它在chrome和firefox中运行。

从第二次开始,使用上述URL启动两个浏览器。然后进一步的操作只在firefox中发生。 Chrome浏览器只显示页面的URL。

Java代码:

public class Browser {
    static WebDriver driver;

    @BeforeTest
    @Parameters("browser")
    public void setup(String browserName) throws Exception{
        if (browserName.equalsIgnoreCase("Firefox")) {
            driver = new FirefoxDriver();
        }
        else if (browserName.equalsIgnoreCase("Chrome")) {
            System.setProperty("webdriver.chrome.driver",
                    "C:/Users/MSTEMP/Downloads/Softwares/chromedriver_win32/chromedriver.exe");
            driver = new ChromeDriver();
        }
        else if (browserName.equalsIgnoreCase("ie")) {
            System.setProperty("webdriver.ie.driver",
                    "C:/Users/MSTEMP/Downloads/Softwares/IEDriverServer/IEDriverServer.exe");
            driver = new InternetExplorerDriver();
        }
        else {
            throw new Exception("Browser is not correct");
        }
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
    }
    @Test
    public void testParameterWithXML() throws InterruptedException{
        driver.get("https://www.google.co.in/");
        System.out.println(""+driver.toString());
        driver.findElement(By.name("q")).sendKeys("login");
    }
}

的testng.xml

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
 <suite name="Automationsuite" parallel="tests">
  <test name="ChromeTest">
   <parameter name ="browser" value="Chrome"/>
    <classes>
     <class name="browser.Browser" />
    </classes>
  </test>  
  <test name="FirefoxTest">
   <parameter name ="browser" value="Firefox"/>
    <classes>
     <class name="browser.Browser" />
    </classes>
  </test>  
 </suite> 

控制台:      C:\ Users \用户MSTEMP \工作空间\跨浏览\ SRC \ browser.xml

 Starting ChromeDriver 2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4) on port 16536
 Only local connections are allowed.
 FirefoxDriver: firefox on WINDOWS (e787139a-cce5-4406-9eff-c856151a9b20) 
 FirefoxDriver: firefox on WINDOWS (e787139a-cce5-4406-9eff-c856151a9b20)

 ===============================================
 Automationsuite Total tests run: 2, Failures: 0, Skips: 0
 ===============================================

系统规格:

操作系统:Windows 7 64位

Java: Java 8

Selenium: 2.53.0

指导我伸出援手。

1 个答案:

答案 0 :(得分:1)

我认为你需要让驱动程序成为一个成员变量,而不是一个非静态变量。