2011-06-28 23 views
5

Tất cả tự động hóa giao diện người dùng examples Tôi đã thấy sử dụng các thành phần chuẩn có trạng thái có thể được kiểm tra bằng API JavaScript bằng phương pháp value(). Đây là một chút hạn chế. Cho phép nói rằng bạn muốn kiểm tra màu sắc hoặc giá trị alpha và whatnot.Cách kiểm tra các thuộc tính phần tử trong tự động hóa gui iOS?

Làm cách nào để kiểm tra các thuộc tính của chế độ xem?

Ví dụ: nhấn vào một yếu tố nhất định sẽ làm cho nó "được chọn". Tôi muốn thực hiện một cú chạm vào nó và sau đó xác minh rằng được chọn là TRUE.

Cập nhật:

Tôi tìm thấy withPredicate() phương pháp mà nên làm điều đó trong lý thuyết, ngoại trừ nó dường như chỉ kích hoạt trên name tính:

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

Trả lời

6

tôi đã kết thúc với cách tiếp cận này mà làm việc cho mục đích của tôi:

Cho phép UIView.accessibilityValue trả về chuỗi JSON có các thuộc tính có liên quan:

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

Sau đó sử dụng eval() trong mã kiểm tra và kiểm tra các thuộc tính đó. value() là viết tắt để gọi khả năng truy cậpValue:

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"); 
} 
Các vấn đề liên quan