我有一台Android设备连接到我的电脑。 运行calabash测试我使用以下命令:
calabash-android run <NAME>.apk features/<NAME>.feature
每次我再次运行时,我都必须重新登录我的应用程序,因为凭据未存储。
任何帮助将不胜感激!
谢谢!
答案 0 :(得分:3)
最有可能的是,在重新安装应用时,凭据不会被存储。一旦你为这些测试关闭重新安装就应该没问题。
答案 1 :(得分:2)
你跑的时候
calabash-android run <NAME>.apk features/<NAME>.feature
您之前的应用将被卸载&amp;将安装新的应用程序。
但是,您可以尝试使用
来处理此方案看看
features/support/app_installation_hooks.rb
您可以删除整个
"Before scenario" hook
因为所有它需要处理的是重新安装被测试的应用程序和测试应用程序。您可以删除该代码并重试。
答案 2 :(得分:0)
如果您以这种方式更改 app_life_cycle_hooks.rb ,则每次执行测试时都可以避免重新安装应用:
Before do |scenario|
scenario_tags = scenario.source_tag_names
if scenario_tags.include?('@first')
if scenario_tags.include?('@reinstall')
uninstall_apps
install_app(ENV['TEST_APP_PATH'])
install_app(ENV['APP_PATH'])
end
start_test_server_in_background
end
end
现在,您可以在方案中使用标记来决定何时start_test_server_in_background以及何时重新安装应用程序。例如,您可以这样做:
@first @reinstall @test1
Scenario: Run application reinstalling the app
Given lorem ipsum
When lorem ipsum
Then lorem ipsum
@first @test2
Scenario: Run application WITHOUT reinstalling the app
Given lorem ipsum
When lorem ipsum
Then lorem ipsum
@test1 @test2
Scenario: Other scenario without relaunching app
Given lorem ipsum
When lorem ipsum
Then lorem ipsum
如果使用@ test1标记启动测试,calabash将执行方案1和3,并且将重新安装该应用程序。如果您使用@ test2标签启动,则会启动方案2和3,而无需重新安装应用程序。