Как дождаться частичного значения атрибута элемента в katalon studio

Мое приложение использует изображения в стиле светофора, чтобы сообщить пользователю об успешной отправке сообщения.

HTML изображений выглядит примерно так:

<img src="images/green.gif" border="0" style="width: 15px; height: 15px; position: relative; left: -1px; top: 1px;">
<img src="images/orange.gif" border="0" style="width: 15px; height: 15px; position: relative; left: -1px; top: 1px;">
<img src="images/red.gif" border="0" style="width: 15px; height: 15px; position: relative; left: -1px; top: 1px;">

Таким образом, когда вы нажимаете кнопку, отправляющую сообщение, изображение какое-то время остается оранжевым, а затем меняется на красный или зеленый.

Однако, хотя «images / green.gif» является атрибутом источника, показываемым в Chrome Dev Tools, когда я нахожу указатель мыши на элемент, я вижу, что полный src - это что-то вроде «https://myapp.com/production/images/green.gif», где первая часть URL-адреса изменяется в зависимости от сервер используется.

Теперь я хотел бы сделать это в скрипте Katalon Studio:

TestObject myTestObject = new TestObject('My test object').addProperty('css', ConditionType.EQUALS, '.some-class-name img')
WebUI.waitForElementAttributeValue(myTestObject, 'src', 'images/green.gif', 30)

Тем не менее, Katalon увидит атрибут src изображения с полным именем, поэтому время ожидания истечет через 30 секунд.

Есть ли способ подождать, пока атрибут не будет содержать определенную строку?

0
0
543
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Похоже, в методе WebUI.waitForElementAttributeValue нет поддержки регулярных выражений.

Но вы можете добавить это условие напрямую в css и использовать wait, пока элемент не появится.

TestObject myTestObject = new TestObject('My test object').addProperty('css', ConditionType.EQUALS, ".some-class-name img[src='images/green.gif']")
WebUI.waitForElementPresent(myTestObject, 30)

или просто как

TestObject myTestObject = new TestObject('My test object').addProperty('css', ConditionType.EQUALS, ".some-class-name img[src*='green']")
WebUI.waitForElementPresent(myTestObject, 30)

Другие вопросы по теме