2015-01-29 6 views
-1

Код ниже. Я столкнулся с проблемой в строке: dataTransformationsPanel.applyModelListFirstElement();NullPointerException в Java с селеном

, но он отлично работает, если я делаю это в public static void main(String args[]) самом методе. Пожалуйста, предложите мне.

package test.dataPage; 

import helper.DataTransformationsPanel; 
import helper.Driver; 
import helper.First; 

import java.util.concurrent.TimeUnit; 

import org.junit.Test; 
import org.testng.Assert; 

import pageObjects.DataPage; 

public class ApplyModel extends Driver { 

    First first; 
    DataTransformationsPanel dataTransformationsPanel; 
    DataPage dataPage; 

    String columnNameExpected; 

    public ApplyModel() { 
     super(); 
     columnNameExpected = "New Predicted Column"; 
     first = new First(); 
     dataTransformationsPanel = new DataTransformationsPanel(); 
     dataPage = new DataPage(); 
    } 

    @Test 
    public void applyModel() { 
     first.login(); 
     first.openDataPage(); 
     dataTransformationsPanel.applyModelListFirstElement(); 
     dataTransformationsPanel.applyModelNewColumnName(columnNameExpected); 
     dataTransformationsPanel.applyModelOkButton(); 

     /* 
     * try { Thread.sleep(5000); } 
     * 
     * catch (InterruptedException e) { e.printStackTrace(); } 
     */ 
     webDriver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); 

     String columnNameActual = dataPage.lastColumnInTable(); 
     Assert.assertEquals(columnNameActual, columnNameExpected); 

     first.removeDataSet(); 
     first.logOut(); 
    } 
} 

Заранее благодарен!

+0

Пожалуйста, приложите stacktrace и код функции 'main', в котором он работает правильно. – baju

+0

Где происходит NPE? –

+0

Вы пробовали отлаживать? Я предполагаю, что ваша DataTransformationsPanel имеет значение null. Во всяком случае, ваше решение должно не просто исправить это, но и отделить тест от бизнес-логики. – blagae

ответ

0

Итак, вы хотите иметь класс испытаний.

Попробуйте использовать метод @Before вместо конструктора.

+0

Я использовал приведенный ниже код, но все же я столкнулся с проблемой. '@Before \t public void setUp() { \t \t columnNameExpected =" New Predicted Column "; \t \t первый = новый First(); \t \t dataTransformationsPanel = new DataTransformationsPanel(); \t \t dataPage = new DataPage(); \t \t \t \t first.login(); \t \t первый.openDataPage(); \t} ' – user2118784

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