2016-06-01 6 views
0

Я пытаюсь запустить тест кросс-браузер (чтение из XML-файла) с помощью JUnit и я получаю эту ошибку:испытания не используя JUnit Selenium WebDriver с XML-файл

**"java.lang.Exception: Method verifyTitle should have no parameters at org.junit.runners.model.FrameworkMethod.validatePublicVoidNoArg(FrameworkMethod.java:69) at org.junit.runners.ParentRunner.validatePublicVoidNoArgMethods(ParentRunner.java:131) at org.junit.runners.BlockJUnit4ClassRunner.validateTestMethods(BlockJUnit4ClassRun"** 

XML код:

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" > 

<suite name="Suite1" parallel="tests" > 
    <test name="fireFoxTest" > 
    <parameter name="browser" value="fireFox"/> 
    <classes> 
     <class name="crossbrowser.VerifyTitle" /> 
    </classes> 
    </test> 

код класса:

package testCases; 

import org.junit.Test; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.firefox.FirefoxDriver; 
import org.testng.annotations.Parameters; 

import utility.ConfigReader; 

public class VerifyTitle { 

    WebDriver driver; 
    static ConfigReader config; 

    @Test 
    @Parameters("browser") 

    public void verifyTitle(String browserName) { 
if (browserName.equalsIgnoreCase("chrome")) 

     { 
      config = new ConfigReader(); 

      System.setProperty("Webdriver.chrome.driver", config.getChromePath()); 

      System.out.println("========== Setup Ready ========="); 
     } 

Что может быть Риз и как я могу это исправить?

ответ

0

Проблема в том, что вы смешиваете JUnit и TestNG. Если вы намеревались использовать TestNG, то:

  1. Удалить

    import org.junit.Test; 
    
  2. Добавить вместо

    import org.testng.annotations.Test; 
    

Посмотреть полный пример here.

Если вы собираетесь использовать JUnit, затем

  1. Удалить

    import org.testng.annotations.Parameters; 
    
  2. Добавить вместо

    import org.junit.runner.RunWith; 
    import org.junit.runners.Parameterized; 
    import org.junit.runners.Parameterized.Parameter; 
    
  3. Annotate класс таким образом:

    @RunWith(Parameterized.class) 
    public class VerifyTitle { 
    
  4. Добавить переменную-член, которая называется browserName, и удалить параметр из функции. Комментирование этой переменной, а не функцию:

    @Parameter(value = "chrome") 
    public String browserName; 
    
    @Test 
    public void verifyTitle() { 
    

Посмотреть полный пример here

0
i tried to fix the problem according the steps above but still i encountered failures. 

this is what i did: 

import org.junit.Test; 
import org.junit.runner.RunWith; 
import org.junit.runners.Parameterized; 
import org.junit.runners.Parameterized.Parameter; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.firefox.FirefoxDriver; 

import utility.ConfigReader; 

@RunWith(Parameterized.class) 
public class VerifyTitle { 

    WebDriver driver; 
    static ConfigReader config; 

    @Parameter(value = "chrome") 
    public String browserName; 

    @Test 
    public void verifyTitle() { 
if (browserName.equalsIgnoreCase("chrome")) 

     { 
      config = new ConfigReader(); 

      System.setProperty("Webdriver.chrome.driver", config.getChromePath()); 

      System.out.println("========== Setup Ready ========="); 
     } 

Проблемы я вижу:

1. import org.junit.runners.Parameterized.Parameter; ----not recognized 
2. java.lang.Exception: No public static parameters method on class testCases.VerifyTitle 
    at org.junit.runners.Parameterized.getParametersMethod(Parameterized.java:163) 
    at org.junit.runners.Parameterized.getParametersList(Parameterized.java:149) 
    at org.junit.runners.Parameterized.<init>(Parameterized.java:135) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 

Am i missing something else? 
Thanks 
+0

вы не должны добавлять комментарии в solution..you можете отредактировать исходный вопрос и добавить свои обновления там –

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