代码之家  ›  专栏  ›  技术社区  ›  Mate MrÅ¡e

如何在Katalon Studio中等待部分元素属性值

  •  0
  • Mate MrÅ¡e  · 技术社区  · 7 年前

    我的应用程序使用红绿灯样式的图像来向用户报告消息发送成功。

    <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开发工具中显示的源属性,但当我将鼠标悬停在元素上时,我可以看到完整的src类似于 https://myapp.com/production/images/green.gif “其中URL的第一部分根据所使用的服务器而变化。

    现在,我想在Katalon工作室脚本中这样做:

    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秒后超时。

    有没有办法等到属性包含某个字符串?

    1 回复  |  直到 7 年前
        1
  •  3
  •   Navarasu    7 年前

    WebUI.waitForElementAttributeValue 方法。

    但您可以直接在css中添加该条件,并使用wait-until元素present。

    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)