2015-06-15 5 views
3

Я пытаюсь запустить следующий код, но я постоянно получаю нулевой указатель на элемент Select ...FindBy с Select Element

Вот пример моего кода я использую:

@FindBy(id="ddCompany") 
    WebElement Select; 

    public void Test(){ 

    driver.findElement(By.id("igtxtdfUsername")).sendKeys("dimitri"); 
     Select dropdown = new Select(Select); 
     dropdown.getOptions().get(1).click(); 

    driver.findElement(By.id("igtxtdfPassword")).sendKeys("dimitri"); 
    driver.findElement(By.id("Login")).click(); 
    driver.quit(); 

Мы не можем использовать функцию Driver.findElement, поэтому нам нужно найти способ работы с файлом Find By. Я выложил sout после выпадающего списка, но он просто дал мне Null.

+0

Почему вы не можете использовать функцию findElement для поиска Select? – lmcphers

+0

ваш (выберите), имеющий нулевое значение, поэтому вы получаете исключение. –

+0

инициализируйте элемент «Выбрать» перед его использованием. – Manu

ответ

0

Я исправил проблему сегодня,

Проблема была мне нужно использовать pagefactory и потому, что я использовал объект WebDriver страницу, где я определить мои Webdrivers (все три разные браузерам) мне нужно было поместить файл Pagefactory прямо перед моей функцией, теперь он больше не возвращает нулевой указатель, потому что теперь функция получает правильный Драйвер для использования, и все работает отлично.

0

Вы должны найти Элемент:

WebElement select; 

что выбрать переменную не инициализированы, так что вы получите NullPointerException в следующей строке:

Select dropdown = new Select(Select); 

Так findElement для выбора переменной, то только вы получите выпадающие варианты. В противном случае это вызовет исключение.

1

Прежде всего выберите класс имеет конструктор, как:

Select(WebElement element) 

Так что, если вы, как показано ниже, он должен работать:

@FindBy(id="ddCompany") 
private WebElement Select; 
Select dropdown = new Select(Select); 
dropdown.getOptions().get(1).click(); 

Убедитесь, что ваш идентификатор элемента находят правильный.

Вы можете проверить больше о Select mechanism here

+0

Это решает мою проблему! –