Open Jacobvu84 opened 5 years ago
Một số ví dụ tương ứng với các kiểu tìm kiếm theo Xpath bên trên.
MobileBy.iOSNsPredicateString("type == 'XCUIElementTypeTextField' AND name == 'phone'"); (1)
MobileBy.iOSNsPredicateString("type == 'XCUIElementTypeTextField' AND name == 'phone' AND visible == 1"); (2.1)
name
chứa Phone hoặc chứa number
MobileBy.iOSNsPredicateString("type == 'XCUIElementTypeTextField' AND (value CONTAINS 'Phone' OR value CONTAINS 'number')"); (2.2)
MobileBy.iOSNsPredicateString("type IN {'XCUIElementTypeTextField', 'XCUIElementTypeButton'} AND name BEGINSWITH[c] 'phone'"); (3)
case
, nhằm phân biệt chữ HOA và chữ thường, nếu thiết lập giá trị này nó sẽ lờ đi việc so sánh phân biệt (Ignore case sensitivity)diacritic
. Nếu giá trị này được thiết lập nó sẽ lờ đi việc phân biệt chữ latin với các chữ có sử dụng thanh
hoặc các ký tự có dấu như ă, â, á, à... Khi này chữ jacob vũ
sẽ giống như chữ jacob vu
Ví dụ cả 3 biểu thức này đều có giá trị như nhau
MobileBy.iOSNsPredicateString("type == 'XCUIElementTypeTextField' AND name BEGINSWITH 'phone'");
MobileBy.iOSNsPredicateString("type == 'XCUIElementTypeTextField' AND name BEGINSWITH[c] 'phOnE'");
MobileBy.iOSNsPredicateString("type == 'XCUIElementTypeTextField' AND name BEGINSWITH[cd] 'phÔnÊ'");
Note: Sử dụng iOS Predicate String Strategy sẽ có tiềm năng là nhanh hơn Appium's XPath strategy vì nó được built sẵn trong XCUITest
Locator Strategies example
Note: Nên đọc https://github.com/Jacobvu84/Automated-Software-Testing/issues/29 trước.
1. Tìm kiếm bằng xpath
Ví dụ trên element của iOS có
type = XCUIElementTypeTextField
và có thuộc tínhname = phone
Nếu bạn muốn kết hợp nhiều thuộc tính với nhau có thể dùng
value
có chứa 1 trong 2 từ sau: Hoặc Phone hoặc number.Tương tự như vậy bạn có thể kết hợp kết hợp hơn nữa các thuộc tính bạn muốn ở cột Attribute
Trong trường hợp bạn muốn một
selector
tìm ra được hơn 2 ( hoặc hơn) loạitype
thuộc tínhname
có cùng giá trị phone