Member 13158473 Ответов: 1

Почему я получаю исключение нулевого указателя


public class IbiboTest {

static WebDriver driver;

@BeforeClass
public void setUp() throws InterruptedException{
    System.setProperty("webdriver.chrome.driver","C:\\Program Files (x86)\\Google\\Chrome\\Application\\chromedriver.exe");
    WebDriver driver = new ChromeDriver();

    //driver= new FirefoxDriver();
    driver.get("https://www.goibibo.com/");
    Thread.sleep(5000);
    driver.manage().window().maximize();

}


@Test
public void testIbiboHomePage(){
    IbiboHomePage home = PageFactory.initElements(driver, com.Nalini.Ibibo.IbiboHomePage.class);
    home.clickRoundTripRadioButton();

}

public class IbiboHomePage {

WebDriver driver;
@FindBy(css = "input[id='gi_roundtrip_label']")
WebElement iRoundTrip;


public IbiboHomePage(WebDriver driver){
    this.driver = driver;
    PageFactory.initElements(driver, this);

}

public void clickRoundTripRadioButton(){
iRoundTrip.click();
}


Что я уже пробовал:

Я просто пытаюсь автоматизировать веб-сайт ibibo.Я получаю исключение nullpointer для приведенного выше кода.Я не могу понять, где он передает нулевое значение.Пожалуйста, помогите.Спасибо

Patrice T

Сообщение об ошибке также сообщает вам, где находится ошибка.

Member 13158473

Просьба помочь с ошибкой ниже сообщение ,что изменения ШД быть сделано

Member 13158473

Это ошибка, которую я получаю
Не удалось: testIbiboHomePage
Ява.яз.Исключение NullPointerException
в орг.openqa.селен.поддержка.pagefactory.DefaultElementLocator. findElement(DefaultElementLocator. java: 69)
в орг.openqa.селен.поддержка.pagefactory.внутренние.LocatingElementHandler.вызов(LocatingElementHandler.Ява:38)
на ком.солнце.прокси.$Proxy8.выберите(неизвестный источник)
на ком.Налини.Который shelfari.IbiboHomePage.clickRoundTripRadioButton(IbiboHomePage.Ява:22)
на ком.Налини.Который shelfari.IbiboTest.testIbiboHomePage(IbiboTest. java:33)
на солнце.отразить.NativeMethodAccessorImpl.invoke0(родной способ)
at sun.reflect.NativeMethodAccessorImpl. invoke(неизвестный источник)
на солнце.DelegatingMethodAccessorImpl. invoke(неизвестный источник)
в Java.яз.отразить.Method. invoke(неизвестный источник)
в org. testng. internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper. java: 108)
в org. testng. internal.Призывателя.метод invokemethod(Призывателя.Ява:661)
в org. testng. internal.Invoker.invokeTestMethod(Invoker. java:869)
в org. testng. internal.Invoker.invokeTestMethods(Invoker. java:1193)
в org. testng. internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.Ява:126)
в org. testng. internal.TestMethodWorker.запустить(TestMethodWorker.Ява:109)
в орг.для TestNG.TestRunner.privateRun(TestRunner.Ява:744)
в орг.для TestNG.TestRunner.запустить(TestRunner.Ява:602)
в орг.для TestNG.SuiteRunner.runTest(SuiteRunner. java:380)
в орг.для TestNG.SuiteRunner.runSequentially(SuiteRunner. java:375)
в орг.для TestNG.SuiteRunner.privateRun(SuiteRunner.Ява:340)
в орг.для TestNG.SuiteRunner.запустить(SuiteRunner.Ява:289)
в орг.для TestNG.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.Ява:52)
в орг.для TestNG.SuiteRunnerWorker.запустить(SuiteRunnerWorker.Ява:86)
в орг.для TestNG.Для TestNG.runSuitesSequentially(для TestNG.Ява:1301)
в орг.для TestNG.Для TestNG.runSuitesLocally(для TestNG.Ява:1226)
в орг.для TestNG.Для TestNG.runSuites(для TestNG.Ява:1144)
в орг.для TestNG.Для TestNG.запустить(для TestNG.Ява:1115)
в орг.для TestNG.дистанционное.AbstractRemoteTestNG.запустить(AbstractRemoteTestNG.Ява:132)
в орг.для TestNG.дистанционное.RemoteTestNG.initAndRun(RemoteTestNG. java: 230)
в орг.для TestNG.дистанционное.RemoteTestNG.основной(RemoteTestNG.Ява:76)


===============================================
Тест по умолчанию
Тесты: 1, отказами: 1, пропускает: 0
===============================================


===============================================
Набор по умолчанию
Общее количество выполненных тестов: 1, отказов: 1, пропусков: 0
===============================================

Patrice T

Это должна быть интересная линия
- на ком.Налини.Который shelfari.IbiboHomePage.clickRoundTripRadioButton(IbiboHomePage.Ява:22)"

1 Ответов

Рейтинг:
11

Jochen Arndt

Вы объявляете статику IbiboTest член класса:

static WebDriver driver;
В вашем setUp() функция, которую вы объявляете другим локальным экземпляром:
WebDriver driver = new ChromeDriver();
В результате статический член класса все еще неинициализирован, и вы получаете исключение нулевого указателя в своем классе. testIbiboHomePage() функция.

Решение:
Удалите тип при создании драйвера в setUp():
driver = new ChromeDriver();


Member 13158473

Большое тебе спасибо.Я получил его сейчас:)