首次运行时我的应用必须进行身份验证。
我有一个具有不同标记方案的功能。现在我需要运行几个场景,但每次运行以下命令
.linear-gradient(@colors) {
background: -webkit-linear-gradient(@colors);
background: -o-linear-gradient(@colors);
background: -moz-linear-gradient(@colors);
background: linear-gradient(@colors);
}
body > header {
.linear-gradient(red, yellow, blue;);
}
我的应用程序重新安装,导致测试在我的@Alert场景中失败。如何告诉calabash不重新安装应用程序?
从谷歌搜索我发现this说:
calabash-android run /path/to/apk features/my.feature --tags @Alert
但我正在寻找一种命令或更优雅的方式去做我想做的事。
答案 0 :(得分:1)
我认为您需要更新app_installation_hooks并添加标记为Before的钩子。
Calabash iOS Smoke Test 01_launch.rb(是的,它是一个iOS示例,但原理是相同的)有我的意思的例子。
Before('@reset_app_btw_scenarios') do
if xamarin_test_cloud?
ENV['RESET_BETWEEN_SCENARIOS'] = '1'
elsif LaunchControl.target_is_simulator?
target = LaunchControl.target
simulator = RunLoop::Device.device_with_identifier(target)
app = RunLoop::App.new(ENV['APP'])
core_sim = RunLoop::CoreSimulator.new(simulator, app)
core_sim.reset_app_sandbox
else
LaunchControl.install_on_physical_device
end
end
答案 1 :(得分:0)
Cucumber提供了许多hooks,它们允许我们在Cucumber测试周期的不同点运行块。
我认为你需要的是标记钩子
有时您可能希望某个挂钩仅在某些情况下运行。这可以通过将Before,After,Around或AfterStep挂钩与一个或多个标签相关联来实现。