如何在葫芦测试中从Android设备删除帐户?
我有一个应用程序使用的机制,我需要测试它与葫芦。我想,为了正确地测试auth,我应该处理设备中的所有帐户,这样我就可以从头开始测试了 在寻找实现此目的的方法时,我发现使用adb shell pm clear my.package进行清理可以有效地清理所有数据,因此我通过以下步骤将其集成到测试中:如何在葫芦测试中从Android设备删除帐户?,android,calabash,Android,Calabash,我有一个应用程序使用的机制,我需要测试它与葫芦。我想,为了正确地测试auth,我应该处理设备中的所有帐户,这样我就可以从头开始测试了 在寻找实现此目的的方法时,我发现使用adb shell pm clear my.package进行清理可以有效地清理所有数据,因此我通过以下步骤将其集成到测试中: Given(/^i am not logged in to the app$/) do `#{default_device.adb_command} shell pm clear my.packag
Given(/^i am not logged in to the app$/) do
`#{default_device.adb_command} shell pm clear my.package`
end
这里的问题是,这一步实际上是杀死测试服务器,因为android在清理应用程序之前杀死了它
有什么解决办法吗?还有什么我能用的吗?还是我的提议根本上有缺陷我刚刚开始使用BDD/Calabash。在我的测试中,确保我的应用程序在需要时总是以简介图形启动。我在场景上设置了@reinstall标记。在app_life_cycle_hooks.rb中,我有一些默认内容,我现在记不清了
Before do |scenario|
scenario_tags = scenario.source_tag_names
if scenario_tags.include?('@reinstall') || !INSTALLATION_STATE[:installed]
uninstall_apps
install_app(ENV['TEST_APP_PATH'])
install_app(ENV['APP_PATH'])
INSTALLATION_STATE[:installed] = true
end
start_test_server_in_background
end
这意味着在每个场景之前,我的应用程序都会从设备/模拟器中删除。
这对你有用吗?我意识到我的方法有缺陷。android生成的框架已经在测试之间重新安装了应用程序,有效地删除了所有帐户。我忘了更新这个问题,因为这一块掉到了拼图中