1

我有一个连接到我的电脑的 Android 设备。运行葫芦测试我使用以下命令:

calabash-android run <NAME>.apk features/<NAME>.feature

每次我再次运行它时,我还必须重新登录我的应用程序,因为没有存储凭据。

任何帮助,将不胜感激!

谢谢!

4

3 回答 3

3

凭据很可能没有被存储,因为它们在重新安装应用程序时被擦除。一旦你为这些测试关闭了重新安装,它应该没问题。

于 2015-05-01T09:21:01.300 回答
2

无论你跑步

calabash-android run <NAME>.apk features/<NAME>.feature

您以前的应用程序将被卸载并安装新的应用程序。

但是,您可以尝试通过使用来处理这种情况

看一眼

features/support/app_installation_hooks.rb 

您可以删除整个

"Before scenario" hook 

因为它只需要重新安装被测应用程序和测试应用程序。您可以删除该代码并重试。

于 2015-07-14T10:07:28.163 回答
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。

于 2017-05-22T16:20:58.823 回答