Перейти к содержимому

Фотография

java+selenium проверка не отображаемого элемента

Java Selenium @Test

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 2

#1 tech

tech

    Новый участник

  • Members
  • Pip
  • 16 сообщений

Отправлено 09 декабря 2014 - 20:18

Есть форма с кнопками Сохранить и Отменить. Был баг, что при нажатии кнопки Отмена все равно данные сохранялись. Надо написать скрипт для проверки который заполнял все поля, жал на Отменить и затем проверял что запись не создана. Например запись можно проверить по:

@FindBy (xpath="/html/body/div[2]/div/div[2]/section/div/div/div/div/div/div/div[2]/div[2]/div[1]/div/button")
public WebElement Record;

 

Как грамотно и правильно написать условие на проверку if, чтобы если элемент Record  есть на странице что скрипт валился и давал ошибку?

 

public boolean verifyDeleteRecordIsDisplayed()
{
       if (!Record.isDisplayed())

      {
       
      }

return true;   
}

 

Сейчас баг исправили и записи не создаются. Т.е. Record не будет найден. Можно как-то написать грамотно в  if: если элемент не найден - то ок, если он есть - то скрипт не выполняется дальше и выдает ошибку? Спасибо.


  • 0

#2 Raimbek

Raimbek

    Новый участник

  • Members
  • Pip
  • 11 сообщений
  • ФИО:Егембердиев Раймбек Бактыбайулы
  • Город:Казахстан, Астана


Отправлено 10 декабря 2014 - 18:25

Какой ужасный xpath. Просто не зная дом модель вашей страницы и не имея данных о поведений страницы при нажатий на отмену. Одназначно что то сказать доволньо трудно.

 

Насчет кода, зачем отдельный метод? Можно же сразу проверку сделать: 'assertFalse(Record.isDisplayed())'

 

 


  • 0

#3 tech

tech

    Новый участник

  • Members
  • Pip
  • 16 сообщений

Отправлено 10 декабря 2014 - 21:08

Какой ужасный xpath. Просто не зная дом модель вашей страницы и не имея данных о поведений страницы при нажатий на отмену. Одназначно что то сказать доволньо трудно.

 

Насчет кода, зачем отдельный метод? Можно же сразу проверку сделать: 'assertFalse(Record.isDisplayed())'

xpath уже поменял на  (id="detele_rec_butt")

за функцию спасибо!

Я так написал, если ктому-то понадобится:

assertFalse(isElementPresent());
.

.

.

.

.  

public boolean isElementPresent() {
    try {
        DeleteRecord.isDisplayed();
      return true;
    } catch (NoSuchElementException e) {
        return false;
    }
}


  • 0



Темы с аналогичным тегами Java Selenium, @Test

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных