Файл Multi-Test TestNG.xml приводит к исключению java.lang.NullPointerException

Файл Multi-Test TestNG.xml приводит к исключению java.lang.NullPointerException

Привет команда качества,

Мне нужна помощь, чтобы заставить TestNG запускать несколько тестов из одного XML-файла. До сих пор мои попытки сделать это приводят к исключению java.lang.NullPointerException ИЛИ тесту(ам) fake_execute="говорит, что он запущен... но как он мог работать, если он не запускал селен?"

И последнее замечание: все тесты выполняются УСПЕШНО при запуске с использованием автономного XML-файла.

Ниже мой файл XML

   <test name="Simple example">
       <groups>
       <run>
   <include name="groupA" />
   <include name="groupB" />
       </run>
   </groups>
   <classes>
      <class name="test.LoginPageTest"/>
      <class name="test.PurchaseItemTest"/>
     </classes>
   </test>
</suite>

Когда TestNG/Selenium выдает ошибку нулевого указателя, он всегда терпит неудачу на selenium.open(URL), selenium.windowMaximize(), selenium.windowFocus().

Я использую файл SeleneseTestNGHelper, который запускает Selenium и обрабатывает некоторые функции Selenium базового уровня.

Вот команда из теста, на котором мой тест не работает

@Test (dataProvider = "Login_Test", groups = {"groupA"})
 public void testLoginPage(String string1, String string2) throws Exception { 
 // Super-size & Focus on Selenium Test Window
 //selenium.windowMaximize();
 //selenium.windowFocus();

        // Start your motors and get to testing
        try {  selenium.open("http://www.google.com");  }
        catch(Throwable e)
        {e.printStackTrace(); }
}

Вот метод, называемый

 public void open(String string) {
  selenium.open(string);
  selenium.windowMaximize();
  selenium.windowFocus();
 }

person Georgina Halfkenny    schedule 20.09.2010    source источник


Ответы (1)


Я не вижу никакого кода, который фактически инициализирует ваше поле селена, где это происходит?

Где бы он ни был, убедитесь, что он инициализирован в @BeforeMethod или @BeforeClass.

Кроме того, вот некоторые соответствующие документы:

http://testng.org/doc/selenium.html

person Cedric Beust    schedule 20.09.2010
comment
Седрик, я понял! Спасибо большое за ответ на этот вопрос. Я надеюсь, что мой вопрос и ваш ответ помогут другим, кто наткнется на эту проблему. В моем классе SeleneseTestNGHelper для методов Setup и Teardown было установлено значение @BeforeTest. Я изменил это на @BeforeClass (alwaysRun = true). Это позволило запускать тесты и запускать браузер, закрывать браузер, запускать новый браузер, закрывать браузер и т. д. Спасибо за помощь. - person Georgina Halfkenny; 21.09.2010
comment
Рад, что это помогло. Как бы то ни было, вы, вероятно, имели в виду использовать @BeforeMethod, а не @BeforeTest (что означает что-то другое). Но, как вы правильно поняли, @BeforeClass, вероятно, лучшее место для инициализации вашего объекта Selenium. - person Cedric Beust; 22.09.2010