【问题标题】:Karate Robot - how to fetch element properties?空手道机器人 - 如何获取元素属性?
【发布时间】:2021-05-04 01:09:09
【问题描述】:

我使用空手道框架已经有一段时间了,最​​近它的机器人组件用于桌面 UI 自动化。我很好奇是否有办法获取给定元素属性的值。按照文档中的这个例子:

* def fun = function(){ return optional('Close').enabled }
* waitUntil(fun)

我希望能够获取 IsOffscreen、IsControlElement 等的值。

任何建议将不胜感激。

【问题讨论】:

    标签: karate


    【解决方案1】:

    这是一个很好的问题,所以我刚刚added a way to do it,但不幸的是还不能测试它:https://github.com/intuit/karate/tree/develop/karate-robot#property-value

    * def button = locate('Close')
    * def isOffScreen = button.property('IsOffscreen')
    

    您能否在本地构建并进行测试,这真的很有帮助。有一个简单的开发者指南; https://github.com/intuit/karate/wiki/Developer-Guide

    【讨论】:

    • 谢谢,彼得!它按预期工作,几乎。返回的值是一个整数,而不是布尔值。例如,这使断言失败:* match locateAll('Submit')[0].property(30034) == false match failed: EQUALS $ | data types don't match (NUMBER:BOOLEAN) 0 false 但这有效* match locateAll('Submit')[0].property('IsOffscreen') == -1 * match locateAll('Submit')[0].property(30034) == 0
    • @trebor 很棒。也许这就是我们所能做的,因为该方法可能会返回 any 类型,包括字符串数据。我认为对可以返回布尔值的属性进行分类太过分了。将 int 转换为 boolean 应该非常简单,所以希望这就足够了
    • 好点,彼得!这样可行。再次感谢您的快速周转!
    猜你喜欢
    • 1970-01-01
    • 2016-10-24
    • 2020-06-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-03-06
    • 1970-01-01
    相关资源
    最近更新 更多