Содержимое веб-страниц может отображаться условно. Проще говоря, содержимое страницы может быть изменено динамически в зависимости от различных факторов, таких как геолокация, роль пользователя или IP-адрес. Например, на странице может быть представлен модал Welcom-wizard для новых пользователей или текстовое поле с различным содержанием в зависимости от языка. Для мониторинга элементов DOM в этом случае можно настроить записанный сценарий мониторинга с выписками выбора.

Чтобы создать динамический скрипт, который делает что-то другое на основе веб-элемента, отображаемого на веб-странице, добавьте заявление if-else к скрипту в настольной версии EveryStep Scripting Tool.

Для редактирования сценариев inline включите функцию «Разрешить редактировать сценарий вручную» в меню Расширенные настройки. Смотрите также EveryStep Скрипт инструмент: классы, методы, свойства и т.д..

Пример выписки if-else

Delay ("6sec".ToDuration ());

if (tab0.IsElementPresented("//BUTTON[@ID=\"start\"]/STRONG[normalize-space(text())=\"Edit order\"]")){
tab0.Element ("//BUTTON[@ID=\"start\"]/STRONG[normalize-space(text())=\"Edit order\"]").Click ();
Delay ("3sec".ToDuration ());
if (tab0.IsElementPresented("//INPUT[@ID=\"chkOrder\"]")) tab0.Element ("//INPUT[@ID=\"chkOrder\"]").Click ();
Delay ("1sec".ToDuration ());
if (tab0.IsElementPresented("//BUTTON[@ID=\"btnClose\"]")) tab0.Element ("//BUTTON[@ID=\"btnClose\"]").Click ();
Delay ("1sec".ToDuration ());
if (tab0.IsElementPresented("//BUTTON[@ID=\"end\"]/STRONG[normalize-space(text())=\"End session\"]")) tab0.Element ("//BUTTON[@ID=\"end\"]/STRONG[normalize-space(text())=\"End session\"]").Click ();
Delay ("5sec".ToDuration ());
}
else if (tab0.IsElementPresented("//BUTTON[@ID=\"start\"]/STRONG[normalize-space(text())=\"Start shopping\"]")) {
tab0.Element ("//BUTTON[@ID=\"start\"]/STRONG[normalize-space(text())=\"Start shopping\"]").Click ();
Delay ("1sec".ToDuration ());
tab0.Element ("//INPUT[@ID=\"chkBalance\"]").Click ();
Delay ("1sec".ToDuration ());
tab0.Element ("//BUTTON[@ID=\"btnOk\"]").Click ();
Delay ("1sec".ToDuration ());
if (tab0.IsElementPresented("//INPUT[@ID=\"chkOrder\"]")) tab0.Element ("//INPUT[@ID=\"chkOrder\"]").Click ();
Delay ("1sec".ToDuration ());
if (tab0.IsElementPresented("//BUTTON[@ID=\"btnClose\"]")) tab0.Element ("//BUTTON[@ID=\"btnClose\"]").Click ();
Delay ("1sec".ToDuration ());
if (tab0.IsElementPresented("//BUTTON[@ID=\"end\"]/STRONG[normalize-space(text())=\"End session\"]")) tab0.Element ("//BUTTON[@ID=\"end\"]/STRONG[normalize-space(text())=\"End session\"]").Click ();
}
}