簡體   English   中英

如何檢查 iOS gui 自動化中的元素屬性?

[英]How to check element properties in iOS gui automation?

我見過的所有 UI 自動化示例都使用標准組件,其 state 可以使用value()方法使用 JavaScript API 檢查。 這有點限制。 假設您要檢查顏色或 alpha 值等等。

如何檢查視圖的屬性?

一個例子:點擊某個元素應該使其“被選中”。 我想對其進行點擊,然后驗證 isSelected 是否為 TRUE。

更新:

我發現理論上應該這樣做的withPredicate()方法,除了它似乎只在name屬性上觸發:

element.withPredicate("isSelected == YES")          // always fails
element.withPredicate("name matches 'my element'")  // works

我最終采用了這種適用於我的目的的方法:

讓 UIView.accessibilityValue 返回具有相關屬性的 JSON 字符串:

- (NSString *)accessibilityValue
{
    return [NSString stringWithFormat:
            @"{'alpha':%f, 'isSelected':%@}", 
            self.alpha, self.isSelected ? @"true" : @"false"];
}

然后在測試代碼中使用 eval() 並檢查這些屬性。 value() 是調用accessibilityValue 的簡寫:

var props = eval("(" + element.value() + ")");

if (props.isSelected) {
    UIALogger.logFail("Should not be selected");
}

UIATarget.localTarget().tap({"x":471, "y":337});

var props = eval("(" + element.value() + ")");

if (!props.isSelected) {
    UIALogger.logFail("Should be selected");
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM