我有一个连接到我的电脑的 Android 设备。运行葫芦测试我使用以下命令:
calabash-android run <NAME>.apk features/<NAME>.feature
每次我再次运行它时,我还必须重新登录我的应用程序,因为没有存储凭据。
任何帮助,将不胜感激!
谢谢!
我有一个连接到我的电脑的 Android 设备。运行葫芦测试我使用以下命令:
calabash-android run <NAME>.apk features/<NAME>.feature
每次我再次运行它时,我还必须重新登录我的应用程序,因为没有存储凭据。
任何帮助,将不胜感激!
谢谢!
凭据很可能没有被存储,因为它们在重新安装应用程序时被擦除。一旦你为这些测试关闭了重新安装,它应该没问题。
无论你跑步
calabash-android run <NAME>.apk features/<NAME>.feature
您以前的应用程序将被卸载并安装新的应用程序。
但是,您可以尝试通过使用来处理这种情况
看一眼
features/support/app_installation_hooks.rb
您可以删除整个
"Before scenario" hook
因为它只需要重新安装被测应用程序和测试应用程序。您可以删除该代码并重试。
如果您以这种方式更改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。