Calabash - Android - 查找 ID 和处理占位符
Calabash - Android - Finding Ids and handling placeholders
我是 Calabash 的新手,花了一天时间学习(包括完成所有设置)。
我需要一些帮助的一件事是如何轻松找到 ID。所以我有一个 Android 应用程序,其中包含占位符文本用户名。
我已经尝试了以下方法,但它根本不起作用(我不断收到超时错误,我认为这是因为它无法找到):
When I enter "some@user.com" as "Username"
所以我的问题:
1- 如果我想将该电子邮件输入到带有用户名的字段中,以上内容是否正确
2- 如果我没有像上面那样的占位符,我如何轻松获取引用或 ID 并将其用于
Then /^I enter "([^\"]*)" into input field number (\d+)$/
非常感谢。
要查找定位器,您应该使用 calabash 控制台。如果你运行
calabash-android console your_app.apk
然后一旦开始
reinstall_apps
然后
start_test_server_in_background
。
一旦它 运行ning 你可以使用葫芦查询语法来找到你想要与之交互的元素 - https://github.com/calabash/calabash-ios/wiki/05-Query-syntax.
为了让你开始 query("*")
将 return 当前屏幕上的所有内容。
query("id:'UserNameField'")
只会 return id 为 UserNameField 的元素。
要检查它是否是您真正想要的,您可以使用 flash("id:'UserNameField'")
使其在您的 emulator/device.
上闪烁几次
然后要与之交互,我建议不要使用预先编写的步骤。制定您自己的步骤定义,如果您还没有使用葫芦,请记住在您需要的文件中要求
require 'calabash-android/operations'
When /^I enter the username (.*)$/ do |username|
enter_text("id:'UserNameField'", username)
end
预先编写的步骤可能很有用,但它们最终会使您的场景难以阅读,一旦您使用它做一些更复杂的事情,您可能无论如何都必须编写自己的步骤。
为了帮助您为步骤定义确定正确的命令,运行 命令可能很有用,例如enter_text("id:'UserNameField'", 'username_you_want') 在葫芦控制台中,这样您就不必在每次添加一行时都 运行 进行测试。
我是 Calabash 的新手,花了一天时间学习(包括完成所有设置)。
我需要一些帮助的一件事是如何轻松找到 ID。所以我有一个 Android 应用程序,其中包含占位符文本用户名。
我已经尝试了以下方法,但它根本不起作用(我不断收到超时错误,我认为这是因为它无法找到):
When I enter "some@user.com" as "Username"
所以我的问题:
1- 如果我想将该电子邮件输入到带有用户名的字段中,以上内容是否正确
2- 如果我没有像上面那样的占位符,我如何轻松获取引用或 ID 并将其用于
Then /^I enter "([^\"]*)" into input field number (\d+)$/
非常感谢。
要查找定位器,您应该使用 calabash 控制台。如果你运行
calabash-android console your_app.apk
然后一旦开始
reinstall_apps
然后
start_test_server_in_background
。
一旦它 运行ning 你可以使用葫芦查询语法来找到你想要与之交互的元素 - https://github.com/calabash/calabash-ios/wiki/05-Query-syntax.
为了让你开始 query("*")
将 return 当前屏幕上的所有内容。
query("id:'UserNameField'")
只会 return id 为 UserNameField 的元素。
要检查它是否是您真正想要的,您可以使用 flash("id:'UserNameField'")
使其在您的 emulator/device.
然后要与之交互,我建议不要使用预先编写的步骤。制定您自己的步骤定义,如果您还没有使用葫芦,请记住在您需要的文件中要求
require 'calabash-android/operations'
When /^I enter the username (.*)$/ do |username|
enter_text("id:'UserNameField'", username)
end
预先编写的步骤可能很有用,但它们最终会使您的场景难以阅读,一旦您使用它做一些更复杂的事情,您可能无论如何都必须编写自己的步骤。
为了帮助您为步骤定义确定正确的命令,运行 命令可能很有用,例如enter_text("id:'UserNameField'", 'username_you_want') 在葫芦控制台中,这样您就不必在每次添加一行时都 运行 进行测试。