Robotium BDD与黄瓜

时间:2013-01-11 14:29:57

标签: robotium

我想知道你们是否知道如何使用Robotium进行BDD测试。

当我研究Robotium使用不同的虚拟机(Dalvik)时,我无法运行Junit Test(仅限Android Junit测试)。所以我找到了一个可能的解决方案,用RoboRemote https://github.com/groupon/robo-remote运行带有Junit的Robotium。但是当我尝试与黄瓜整合时,测试变得不稳定。

所以你们知道使用Robotium进行BDD测试的方法吗?

3 个答案:

答案 0 :(得分:2)

我已经使用Cucumber-JVM for Android成功整合了Robotium。

有关Cucumber-JVM和安装的现在正式cucumber-android模块的信息,have a look here。您还可以在此处找到有关Cucumber-JVM的API文档和示例:http://cukes.info/platforms.html

在您的应用的测试模块中,只需添加Robotium Solo jar文件作为依赖项(范围:编译)。

我的一个测试类看起来像这样:

public class CucumberSteps extends ActivityInstrumentationTestCase2<YourActivity> {

  private Solo solo;

  public CucumberSteps() {
    super(YourActivity.class);
  }

  @Override
  protected void setUp() throws Exception {
    super.setUp();
  }

  @Before
  public void before() {
    solo = new Solo(getInstrumentation(), getActivity());
  }

  @After
  public void after() throws Throwable {
    //clean up
    solo.finalize();
  }

  @Override
  protected void tearDown() throws Exception {
    solo.finishOpenedActivities();
    super.tearDown();
  }

  @Given("^step_given_description$")
  public void step_given_description() throws Throwable {
    final View testView = solo.getView(R.id.testView);
    solo.waitForView(testView);
    solo.clickOnView(testView);
    // and so on
  }
}

我希望这对任何人来说都是足够的信息。当问到这个问题时,cuc-android还没有存在。请记住,GUI测试通常有些不稳定!我设法在本地获得了一组稳定的测试,但是在詹金斯,通常一些测试因未知原因而失败。

答案 1 :(得分:1)

我知道这是一个非常古老的问题,但有关此主题的文档非常有限,所以我会发布另一条信息。

这篇文章给了我很多帮助:http://www.opencredo.com/2014/01/28/cucumber-android-vs-cucumber-appium/

我也在这里使用了文档(我知道它已被弃用,但主项目根本没有关于android的文档):https://github.com/mfellner/cucumber-android

我使用Android中的位来使用IntelliJ 13 Community Edition和Maven Bootstrap - http://www.androidbootstrap.com/(主要是Maven集成测试项目配置)

希望它有所帮助。

答案 2 :(得分:0)

我使用此跑步者使用cucumber-jvm和androidstudio工作机器人:

NSDateFormatter *dateFormatter2 = [[NSDateFormatter alloc] init];
dateFormatter.dateFormat = @"yyyy-MM-dd HH:mm:ss";
NSString *strDate = [dateFormatter stringFromDate:etkinlikDate];