我想知道你们是否知道如何使用Robotium进行BDD测试。
当我研究Robotium使用不同的虚拟机(Dalvik)时,我无法运行Junit Test(仅限Android Junit测试)。所以我找到了一个可能的解决方案,用RoboRemote https://github.com/groupon/robo-remote运行带有Junit的Robotium。但是当我尝试与黄瓜整合时,测试变得不稳定。
所以你们知道使用Robotium进行BDD测试的方法吗?
答案 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];