如何定位特定的Calabash功能文件?

时间:2015-11-10 15:12:32

标签: android cucumber automated-tests calabash

我一直在寻找这个答案很长一段时间,我还没有弄明白。

说我有一个测试环境和一个生产环境。我创建了calabash场景,无论我是在test还是prod上运行,都需要有所不同。我的所有场景都是用 /feature/xxx.feature

编写的

问题在于,当我运行测试时,将运行所有 *。feature 。因此,我创建了一个环境变量,我根据我想要运行测试的环境进行更改。

如何定位正确的.feature文件?如何告诉Calabash:当环境变量设置为"生产"请只运行 / feature / prodution / .feature 文件?*

非常感谢你的帮助!

3 个答案:

答案 0 :(得分:4)

这真是一个黄瓜问题。

我建议使用标签。以下示例适用于iOS,但原则适用于Android。

https://github.com/cucumber/cucumber/wiki/Tags

您可以在Calabash iOS Smoke Test App.

中查看我们如何使用代码
# Run the animation tests
$ bundle exec cucumber -t @animations

# Run the backdoor tests
$ bundle exec cucumber -t @backdoor

您可以将标签与黄瓜配置文件结合使用,以获得更高级的行为。

 # Run the backdoor tests in the production environment
 $ bundle exec -p production -t @backdoor

答案 1 :(得分:1)

您可以使用此命令定位特定功能。

bundler exec calabash-android run <apk>.apk <feature folder>/<feature name to execute>.feature

例如:

bundler exec calabash-android run <apk>.apk feature/Home.feature

您也可以使用带有功能

的标签

bundler exec calabash-android run <apk>.apk <feature folder>/<feature to execure>.feature --tags @<tag name>

例如:

bundler exec calabash-android run <apk>.apk feature/Home.feature --tags @test

答案 2 :(得分:0)

假设您有homepage.feature并想要运行整个功能文件

运行整个功能文件:calabash-android运行apkname.apk功能/ homepage.feature

运行特定测试:calabash-android运行apkname.apk功能/ homepage.feature --tags @smoke