@AlbyAen

Возможно ли применить машинное обучение или нейронные сети в автоматизации тестирования вебсайтов?

Подскажите новичку, кто сталкивался с подобной задачей.
Необходимо адаптировать скрипт тестирования под изменения html верстки на сайте.

Как работает сейчас - есть примерно 50-60 веб-страниц, для каждой страницы существует скрипт тестирования C# + Selenium - заполнение формы, выборка элементов по XPath' их заполнение, отправка формы, получение результата, оценка.
Проблема заключается в том что периодически меняется разметка страниц, элементы ввода перемещаются в рамках страницы, соответственно, приходится обновлять значения XPathов и постоянно следить за валидностью скриптов.

Вопрос - возможно ли с помощью вышеописанных технологий (машинное обучение, нейронные сети) распознавать элементы на страницах и определять что с ними делать вместо того чтобы выискивать элементы ввода по жесткой привязки по XPath.
Т.е. на вход некий набор правил по заполнению и значения, далее распознавание элементов по их типу и названию и потом их заполнение согласно правилам .
Таким образом если какой-то элемент переименуют или поменяю расположение скрипт не придется менять.

Кто-нибудь сталкивался с подобной задачей, осуществима ли она в принципе?
  • Вопрос задан
  • 283 просмотра
Пригласить эксперта
Ответы на вопрос 4
mayton2019
@mayton2019
Bigdata Engineer
Как инструмент НС подходят везде. НС - это такая себе мясорубка куда кидают векторы и на выходе что-то получают. Либо классификацию. Либо новый вектор.

Но мне кажется что слабое место этой задачи - это практическая невозможность обучения без учителя.
Вам все равно необходимо что-то показывать этой сети и объяснять.

Еще слабое место этой задачи - это формализация входа и выхода. Что вы подаете на вход? Классическая сетка
оперирует с непрерывными величинами. А у вас что? На вход html? На выходе XPath?

Может НС - это все таки оверинжинеринг?
Ответ написан
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Собирайте свойства каждого объекта (свойства тегов, имена классов, стили и т.д.) и его окружение: все объекты той же ноды, где находится текущий объект, цепочку всех родительских нод (xPath), и "дерево" всех вложенных нод.

И так - по каждому.

По количеству совпадений свойств/путей нод И их несовпадений - можно крайне точно определить: на какой предыдущий объект похож текущий.
Т.е. банально по "весам" метрик можно выдавать крайне точное заключение о том, как был изменён конкретный объект относительно предыдущего кода html.
Ответ написан
dimonchik2013
@dimonchik2013
non progredi est regredi
можно что угодно
есть даже проверки сползания интерфейсов в новых версиях браузеров (тот еще мазохизм)

но проще научиться корректно писать Xpath, чтобы такого не было
выискивать элементы ввода по жесткой привязки по XPath


у нас скрипты - недавно пассы сменились на одном, проверял - не меняются с 2018 года, (хотя целевые сайты, конечно, меняются), никаких проблем с логинами
Ответ написан
firedragon
@firedragon
Не джун-мидл-сеньор, а трус-балбес-бывалый.
Что мешает разметить ключевые контейнеры id и классами? Заодно и сократите свои кошмарные селекторы. Пс а для тестирования можете записывать в плейсходдеры известные вам значения и искать их в документе, после инициализировать ваш xpath
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы