t.me/atinfo_chat Telegram группа по автоматизации тестирования

Сверка индентичных данных на разных страницах


(futu) #1

есть небольшой вопрос по автоматизаци одного сценария. Есть страница где заполняются данные и есть страница в другом месте где эти данные отображаются. необходимо проверить что они идентичные. так как поля находятся на разных страницах простым assertEquals у меня не найдет одного поля. Кроме как сохранять значения в переменные я не придумал. Может быть есть более лаконичное и красивое решение. Заранее спасибо.


(Mykhailo Poliarush) #2

Хммм. давай подумаем (но походу я не вижу целлостной картины)...

  1. Первый, который приходит в голову - это сохранение данных из одной страницы в какой-то массив, а потом проверка данных на другой странице с сохранеными данными
  2. Второй, сохранение двух страниц и вычленение из них нужных данных в массывы например, а потом сравнение этих массивов на строгое соответствие. (ИМХО на питоне это легче сделать наверное)
  3. Третий, если HTML одинаковые должны быть, то может быть получить HTML или часть HTML каждой страницы и сравнить их, как минимум через сравнение строк.
  4. Чертвертый, иметь открытых два окна и цикле постоянно переключаться через selectWindow(). Но неуверен, что сильно пременимо и более того, наверное трудоемкая и ресурсо тяжелая задача.

(futu) #3

Спасибо за 4 варианта)) Наверно все таки первый придется реализовывать. третий не подойдет, там разные страницы, и получается что некоторые поля на второй странице формируются из нескольких полей на первой. тут еще предстоит со строковыми методами побаловаться. второй вариант не совсем понял про сохранение страниц (я так понял что данные с обеих страниц кладутся в массивы и потом сравниваются?) и четвертый вариант - думаю что не совсем красивый, хотя и оригинальный. колупаться с ним придется долго.


(Mykhailo Poliarush) #4

>>второй вариант не совсем понял про сохранение страниц (я так понял что данные с обеих страниц кладутся в массивы и потом сравниваются?)

да, идея тут в том, чтобы положить все данные в массивы и сравнить массивы.


(futu) #5

Если конкретизировать задачу то получится следующее: Есть страница где заполняются данные того на кого оформляется страховой полис. Когда страхуешь автомобиль есть опция в качестве водителя выбрать этого человека(в этом случае подтягивается инфа о нем и поля дисэбляться) или "другое" (тогда поля пустые и доступны для редактирования). Вот кейс был первый, а надо проверить что данные совпадают. Надеюсь что прояснил ситуацию))


(Mykhailo Poliarush) #6

Может быть есть смысл упростить себе задачу. т.е. подготовить предусловие (данные в setUp()), чтобы нужные данные уже имелись в системе, после чего выполнять скрипт и выбирать конретного человека, и на странице, где данные подтянулись, проверить что подтянулись правильные данные. Вот и все.


(futu) #7

Так не получится( Имена каждый раз новые генерятся. 


(Mykhailo Poliarush) #8

Что вообще нельзя задать, как-то константные данные перед запуском теста?
Или же, допустим, пусть имя генериться автоматически, а все остальное не изменно, то тогда первым шагом нужно получить сгенеренное имя, чтобы впоследствии можно было использовать в тесте.
Может быть я ошибаюсь, так как все равно до конца не могу все представить конкретную задачу и не известны детали реализации.