Tôi chỉ muốn kiểm tra giao diện người dùng iOS của mình với Giao diện người dùng tự động hóa nhưng tôi gặp khó khăn khi nhập văn bản vào UITextFields. Tài liệu nói rằng phương thức "setValue (...)" nên thực hiện thủ thuật nhưng không.iOS Instruments Automation "setValue" không hoạt động
tôi luôn luôn nhận được lỗi này:
Script threw an uncaught JavaScript error: Unexpected error in -[UIATextField_0x9952690 setValue:], /SourceCache/UIAutomation_Sim/UIAutomation-271/Framework/UIAElement.m line 1142, kAXErrorSuccess on line 15 of login.js, #0 setValue()
Mã này trông như thế này:
var textfields = UIATarget.localTarget().frontMostApp().mainWindow().textFields();
username = textfields["username"];
username.setValue("test");
lĩnh vực Tên người dùng không phải là null hoặc không xác định.
Giải pháp thứ hai của tôi là dự án JS này: https://github.com/alexvollmer/tuneup_js#readme Phương thức "typeString" cho trường văn bản nhưng hơi lỗi và không thành công khi nhập số và chữ hoa.
Tôi đang làm việc với iOS6.1, Công cụ phiên bản 4.6 (46000), Phiên bản Xcode 4.6 (4H127).
Mọi trợ giúp đều được đánh giá cao!
Hmm. Tôi có thể thiết lập giá trị của các trường văn bản trong ứng dụng của tôi với UI Automation. Mã tự động hóa của bạn có vẻ chính xác. Tôi nghi ngờ có điều gì đó sai trong thế giới mục tiêu C. Bạn đang sử dụng một lớp con tùy chỉnh của 'UITextField'? Bạn có thể xây dựng một ứng dụng giả với một trường văn bản duy nhất và cố gắng đặt giá trị của trường đó trên máy của bạn không? Điều đó có thể giúp theo dõi vấn đề. –
Trong các dự án khác, hàm "setValue()" hoạt động. Tôi nghĩ rằng vấn đề là do một hình ảnh động chưa hoàn thành. khi người dùng nhấn vào trường văn bản, chế độ xem cơ bản sẽ cuộn lên đầu để hiển thị khi bàn phím hiển thị. "target.delay (1)" thực hiện những gì tôi đang tìm kiếm và bây giờ hàm "setValue()" hoạt động. – ralphbert