Android 用の Cucumber-JVM を使用して、Robotium の統合に成功しました。
cucumber-android
Cucumber-JVMの現在の公式モジュールとインストールに関する情報については、こちらを参照してください。また、Cucumber-JVM に関する API ドキュメントと例は、http: //cukes.info/platforms.htmlにあります。
アプリのテスト モジュールで、Robotium Solo jar ファイルを依存関係 (スコープ: コンパイル) として追加するだけです。
私のテストクラスの1つは次のようになります。
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
}
}
これが、誰でも始めるのに十分な情報であることを願っています。この質問がされたとき、cucumber-android はまだ存在していませんでした。ただし、GUI テストは非常に不安定な場合が多いので注意してください。安定した一連のテストをローカルで取得することができましたが、たとえば Jenkins では、通常、いくつかのテストが不明な理由で失敗します。