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

Фотография

Сравнение переменных в Selenium IDE

сравнение

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

#1 oberlets

oberlets

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

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

Отправлено 02 сентября 2021 - 18:40

Selenium IDE Win, Chrome

Доброго вечера, коллеги!

В процессе выполнения скрипта вычисляю переменную (количество строк в таблице), после дальнейших определенных шагов количество строк становится +1, выисляю и это значение и пакую в переменную. Для проверки факта, что строчка действительно добавилась и ${after}>${before}, либо ${after}=${before}+1, нуждаюсь в совете, как это лучше/возможно проверить. Сравнивать нужно числа, вариант отсюда не подходит 
https://software-tes...ia/?hl=сравнить

Всем заранее благодарен за советы)

 


  • 0

#2 BabyRoot

BabyRoot

    Специалист

  • Members
  • PipPipPipPipPip
  • 833 сообщений


Отправлено 03 сентября 2021 - 06:55

https://www.selenium...commands#assert

Что-то типа такого:

assert   xpath=locator   ${before}+1

  • 0

#3 Snap

Snap

    Специалист

  • Members
  • PipPipPipPipPip
  • 980 сообщений
  • ФИО:Роман
  • Город:Москва


Отправлено 03 сентября 2021 - 16:20

 

https://www.selenium...commands#assert

Что-то типа такого:

assert   xpath=locator   ${before}+1

Хотел бы поправить, что такой финт ушами в текущем Selenium IDE вряд ли пройдет. В предыдущей версии, может быть. А сейчас из описания и практики:

- assert сравнивает строки,

- xpath=locator вернет null, так как assert сравнивает переменную со значением,

- а ${before}+1 также останется строкой, например, "10+1".

Это раньше Селением IDE мог налету выполнять операции с переменными, а теперь  нет. 

 

Вопрос автору, как вы вычисляете переменную количества строк в таблице? Без Javascript вряд ли можно будет использовать операции сравнения.

P.S. я вашу задачку решил :wink: .


  • 0

#4 oberlets

oberlets

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

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

Отправлено 05 сентября 2021 - 22:58

 

 

https://www.selenium...commands#assert

Что-то типа такого:

assert   xpath=locator   ${before}+1

Хотел бы поправить, что такой финт ушами в текущем Selenium IDE вряд ли пройдет. В предыдущей версии, может быть. А сейчас из описания и практики:

- assert сравнивает строки,

- xpath=locator вернет null, так как assert сравнивает переменную со значением,

- а ${before}+1 также останется строкой, например, "10+1".

Это раньше Селением IDE мог налету выполнять операции с переменными, а теперь  нет. 

 

Вопрос автору, как вы вычисляете переменную количества строк в таблице? Без Javascript вряд ли можно будет использовать операции сравнения.

P.S. я вашу задачку решил :wink: .

 

@Snap бодрого))
на ваш вопрос: количество строк вычисляю как сумму четных и нечетных строчек в таблице (два вида локаторов там под них), чтобы перевести строку в число - подсмотрел у шаолиньских монахов перемножение строки и единицы, и да, маленьким таким скриптом return ${Odd}*1+${Even}*1
а вот потом сравнить два числа - не осилил ((


  • 0

#5 Snap

Snap

    Специалист

  • Members
  • PipPipPipPipPip
  • 980 сообщений
  • ФИО:Роман
  • Город:Москва


Отправлено 06 сентября 2021 - 07:26

Для получения количества строк можно использовать команду "store xpath count".

Чтобы сравнивать две переменных с числами я получил команду execute script | return (${after}>${before}) | result , либо ${after}==${before}+1. Переменная result вернет true или false.


  • 0

#6 oberlets

oberlets

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

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

Отправлено 06 сентября 2021 - 09:26

Для получения количества строк можно использовать команду "store xpath count".

Чтобы сравнивать две переменных с числами я получил команду execute script | return (${after}>${before}) | result , либо ${after}==${before}+1. Переменная result вернет true или false.

 

её именно и использовал, просто в табличке строчки двух видов, четные и нечетные, и локаторы под них двух видов соответственно
поэтому сторю их в переменные и суммирую

а по поводу result переменной - как я понимаю тест при этом не упадет, её просто через эхо посмотреть можно будет глазами, верно?
если да, то - можно ли потом это использовать в конструкции типа if result = true и одни действия, else - другие?


  • 0

#7 Snap

Snap

    Специалист

  • Members
  • PipPipPipPipPip
  • 980 сообщений
  • ФИО:Роман
  • Город:Москва


Отправлено 06 сентября 2021 - 10:01

Нет, тест не упадет. Посмотреть через echo можно.

Можно использовать в if-else.


  • 0

#8 oberlets

oberlets

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

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

Отправлено 06 сентября 2021 - 12:04

Нет, тест не упадет. Посмотреть через echo можно.

Можно использовать в if-else.

 

Спасибо!


  • 0


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

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