2015-07-13 2 views
2

я хочу запускать тесты на различных браузерах, с помощью JUnit, селена, у меня есть этот код:Тестировать с на разных браузерах

 @Test //Test1 
     public void logInFaildTest() { 
      GridTest gridTest = new GridTest(); 
      WebDriver webDriver = gridTest.getWebDriver();//get driver 
      LoginPage logIn = new LoginPage(webDriver, url); 
      String userName = "user"; 
      String pass="pass"; 
      ...................................... 
      webDriver.close(); 
     } 
     @Test //Test2 change 
     public void logInFaildTest(WebDriver webDriver) { 
      LoginPage logIn = new LoginPage(webDriver, url); 
      String userName = "user"; 
      String pass="pass"; 
      ...................................... 
      webDriver.close(); 
     } 

     @Test //Test3 
     public void loginSucsecc(WebDriver webDriver) 
     { 
      WebDriver webDriver = gridTest.getWebDriver(); 
      LoginPage logIn = new LoginPage(webDriver, url); 
      ...................................... 
      webDriver.quit(); 
      assertEquals(expected, actual); 
     } 

В тесте 1 я создать экземпляр WebDriver внутри метода испытаний, в тестах 2 и 3 я хочу получить тестовый драйвер в качестве параметра и выполнить тест с помощью конкретного webdriver, как я могу запустить тестовый пример, который может запускать каждую функцию с помощью другого веб-драйвера (один на firefox other on chrome ...).

ответ

0

Решение Чтобы отправить параметры тестовой функции, необходимо установить класс как @RunWith (Parameterized.class). Другой способ - прочитать файл свойств в каждом тестовом методе и запустить тест как свойства.

0

Лучший способ сделать это, группировать тесты, которые вы хотите запустить конкретный браузер.

Отправить параметр браузера из testNg для запуска в определенном браузере.

тест:

@Parameters({ "browser" }) 
    @Test(groups="IE") 
    public void logInFaildTest(String browser) { 
     GridTest gridTest = new GridTest(); 
     WebDriver webDriver = gridTest.getWebDriver();//get driver 
     LoginPage logIn = new LoginPage(webDriver, url); 
     String userName = "user"; 
     String pass="pass"; 
     ...................................... 
     webDriver.close(); 
    } 
    @Parameters({ "browser" }) 
    @Test(groups="IE") 
    public void logInFaildTest(String browser) { 
     LoginPage logIn = new LoginPage(webDriver, url); 
     String userName = "user"; 
     String pass="pass"; 
     ...................................... 
     webDriver.close(); 
    } 

    @Parameters({ "browser" }) 
    @Test(groups="Chrome") 
    public void loginSucsecc(String browser) 
    { 
     WebDriver webDriver = gridTest.getWebDriver(); 
     LoginPage logIn = new LoginPage(webDriver, url); 
     ...................................... 
     webDriver.quit(); 
     assertEquals(expected, actual); 
    } 

TestNG:

<test name="Testing Parameterization"> 
<parameter name="browser" value="IE"/> 
<parameter name="username" value="testuser"/> 
<parameter name="password" value="testpassword"/> 
    <groups> 
     <run> 
     <include name="IE"/> 
     </run> 
    </groups> 
    <classes> 
     <class name="com.parameterization.TestParameters" /> 
    </classes> 
</test> 

<test name="Testing Parameterization"> 
<parameter name="browser" value="Firefox"/> 
<parameter name="username" value="testuser"/> 
<parameter name="password" value="testpassword"/> 
    <groups> 
     <run> 
     <include name="chrome"/> 
     </run> 
    </groups> 
    <classes> 
     <class name="com.parameterization.TestParameters" /> 
    </classes> 
</test> 

+2

Тхак вы, но я не использую tesnNg, я использую JUnit. –

Смежные вопросы