要查找定位器,您应该使用葫芦控制台。如果你运行
calabash-android console your_app.apk
then 一旦它开始
reinstall_apps
然后
start_test_server_in_background
.
运行后,您可以使用葫芦查询语法来查找要与之交互的元素 - https://github.com/calabash/calabash-ios/wiki/05-Query-syntax。
为了让您开始query("*")
,将返回当前屏幕上的所有内容。
query("id:'UserNameField'")
只会返回 ID 为 UserNameField 的元素。
要检查它是否是您真正想要的,您可以使用flash("id:'UserNameField'")
它在您的模拟器/设备上闪烁几次。
然后与之交互,我建议不要使用预先编写的步骤。制定您自己的步骤定义,如果您还没有使用 calabash,请记住在需要使用的文件中添加
require 'calabash-android/operations'
When /^I enter the username (.*)$/ do |username|
enter_text("id:'UserNameField'", username)
end
预先编写的步骤可能很有用,但它们最终会使您的场景难以阅读,并且一旦您使用它做了一些更复杂的事情,您可能无论如何都必须编写自己的步骤。
为了帮助您确定步骤定义的正确命令,运行命令会很有用,例如在 calabash 控制台中运行命令,例如 enter_text("id:'UserNameField'", 'username_you_want') 这样您就不必每次都运行测试你添加一行。