Tôi có trường tìm kiếm trong ứng dụng của mình và tôi đã đặt loại khóa trả về của bàn phím cho trường này thành UIReturnKeyNext
. Tôi đang cố gắng để viết một bài kiểm tra UIAutomation đó nhấp chuột vào nútNext trên bàn phím bằng cách sử dụng dòng sau:Nhấp vào bàn phím 'Tiếp theo' bằng cách sử dụng UIAutomation
UIATarget.localTarget().frontMostApp().mainWindow().keyboard().keys().firstWithName("next");
Cuộc gọi này là không bởi vì chìa khóa với tên 'bên cạnh' không được tìm thấy. Tôi đã thực hiện một loạt tất cả các yếu tố trong ứng dụng của mình bằng cách sử dụng:
UIATarget.localTarget().frontMostApp().logElementTree();
Điều này cho thấy thực sự là chìa khóa trong bàn phím có tên 'tiếp theo', nhưng bằng cách nào đó nỗ lực của tôi để lấy nó như hiển thị ở trên vẫn không thành công. Tuy nhiên, tôi có thể lấy các khóa khác (như khóa cho chữ 'u') bằng cách sử dụng phương pháp này. Có vấn đề gì đã biết ở đây hay tôi đang làm điều gì sai?
Tôi đã thử các biến thể khác không có may mắn:
UIATarget.localTarget().frontMostApp().mainWindow().keyboard().elements()["next"];
Dưới đây là một ảnh chụp màn hình của các yếu tố trong UIAKeyboard tôi:
Tôi đã thử cả hai và không có may mắn. Tuy vậy vẫn cảm ơn về những gợi ý. – kodie
Julien, câu trả lời của bạn đã nhắc tôi chơi lại với điều này một lần nữa, và sử dụng các nút() chức năng đã dẫn đến một giải pháp làm việc. Đây là những gì làm việc cho tôi: UIATarget.localTarget(). FrontMostApp(). MainWindow(). Keyboard(). Buttons(). FirstWithPredicate ("name contains [c] 'next'"); Dường như với tôi rằng các nút() ["tiếp theo"] nên đã hoạt động và tôi không biết tại sao nó lại không hoạt động, nhưng các công việc trên không hoạt động. Cảm ơn đề xuất. – kodie