Espresso
Hiện nay không có cách nào để thiết lập tài nguyên-id với phản ứng bản địa, vì vậy, để thực hiện các hành động phức tạp bạn cần phải viết một số mã (như chờ đợi cho các yếu tố), những thứ khác dường như làm việc khá tốt qua nút 'espresso thử nghiệm thu âm' của studio android.
- sử dụng chống đỡ
accessibilityLabel
như id cho các yếu tố (ví dụ. "ElementId")
- sử dụng
onView(allOf(withContentDescription("elementId"), isDisplayed()))
để có được yếu tố
- peform hành động trên yếu tố đó (như
element.perform(click())
)
Ở đây bạn có thể tìm thấy kiểm tra đầy đủ https://gist.github.com/cybergrind/0a2ad855352a5cd47cb5fb6a486c5eaa
Appium
.210
Nếu bạn chỉ muốn thực hiện hành động và chụp ảnh chụp màn hình, bạn có thể làm điều này với appium:
- sử dụng chống đỡ
accessibilityLabel
như id cho các yếu tố
- sử dụng điều khiển web waitForElementByAccessibilityId
- ảnh chụp màn hình chụp với saveScreenshot (' out.png ') -> điều này sẽ tạo ra 'out.png tập tin trong thư mục mà bạn đã chạy thử nghiệm
trong appium bạn cuối cùng sẽ có một cái gì đó tương tự (js chẳng hạn)':
driver.waitForElementByAccessibilityId('searchInputAcc', 5000)
.type('bold\n')
.sleep(5000)
.saveScreenshot('out.png')
iOS vs Android accessibilityLabels
Dường như dành cho Android bạn đang miễn phí để sử dụng accessibiltyLabel
trên bất kỳ yếu tố (như Text, Xem và vân vân), nhưng iOS sẽ không được thiết lập khả năng tiếp cận trên tất cả các yếu tố như Adnroid.
Nếu bạn đặt nhãn trên Text
nó sẽ không bằng nhãn của bạn
<Text accessibilityLabel="my_text">content</Text>
sẽ cung cấp cho bạn dán nhãn bằng content
trên iOS, vì vậy về cơ bản bạn chỉ có thể thiết lập thuộc tính accessible
trên các nút văn bản của bạn cho nền tảng này
<Text accessible>content</Text>
Điều tương tự cho View
- iOS sẽ bỏ qua nhãn của bạn.
Cho đến nay, không có nhiều yếu tố trên iOS sẽ hoạt động với các nhãn trợ năng tùy chỉnh của bạn.
Dưới đây là danh sách các yếu tố mà bạn có thể sử dụng để thử nghiệm ứng dụng cho crossplatform kiểm tra phản ứng bản địa
Bạn có thể sử dụng:
TouchableHighlight
- sẽ làm việc cùng trên iOS và Android, bạn có thể chỉ thiết accessibilityLabel
Text
- accessibilityLabel nên giống như kiểm tra bên trong + bạn phải thiết lập thuộc tính truy cập
sẽ không hoạt động (đối với cả hai nền tảng hoàn toàn):
T.B. chúng tôi đã không kiểm tra tất cả các yếu tố có thể được nêu ra, vì vậy thêm kết quả của bạn cho các yếu tố khác hoặc chờ đợi kết quả của chúng tôi
Debugging
Bạn có thể nhận nguồn gốc của phần tử gốc, in và đọc nó như xml cho mục đích gỡ lỗi (cho webdriver.io: http://webdriver.io/api/property/getSource.html)