1

キュウリに問題があります。私は同じ問題を抱えていますが、いつもテストを開始できず、どのように修正するかわかりません。キュウリとエスプレッソのAndroid自動テスト

私はこのメッセージを得たテストを実行します。

Started running tests 
Test running failed: Instrumentation run failed due to 'cucumber.runtime.CucumberException' 
Empty test suite. 

マイbuild.gradle

android { 
.... 
sourceSets { 
     androidTest { 
      assets.srcDirs = ['src/androidTest/assets'] 
     } 
    } 
} 
dependencies {... 
//Testing 
testCompile 'junit:junit:4.12' 
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.0' 
androidTestCompile 'com.android.support.test:testing-support-lib:0.1' 
androidTestCompile('info.cukes:cucumber-android:1.2.4') { 
    exclude module: 'cucumber-jvm-deps' 
    exclude module: 'guava' 
} 
androidTestCompile 'info.cukes:cucumber-jvm-deps:1.0.3' 

キュウリのランナー:

CucumberOptions(features = "features/Test.feature") 
public class CucumberInstrumentationRunner extends MonitoringInstrumentation { 

    private final CucumberInstrumentationCore instrumentationCore = new CucumberInstrumentationCore(this); 

    @Override 
    public void onCreate(final Bundle bundle) { 
     super.onCreate(bundle); 
     instrumentationCore.create(bundle); 
     start(); 
    } 

    @Override 
    public void onStart() { 
     waitForIdleSync(); 
     instrumentationCore.start(); 
    } 
} 

Test.feature

Scenario: Пользователь пытается авторизоваться используя неверные логин и пароль 
Given I've launched "com.example.activities.LoginActivity" 
When User '[email protected]' singIn with password 'wrongPassword' 
Then Check message about incorrect password 

とLoginActivitySteps

public class LoginActivitySteps extends InstrumentationTestCase { 

    // ViewInteractions 

    private final ViewInteraction mEmailEdt = onView(withId(R.id.edt_email)); 
    private final ViewInteraction mPassEdt = onView(withId(R.id.edt_pass)); 
    private final ViewInteraction mLoginBtn = onView(withId(R.id.button_login)); 

    private Activity currentActivity; 

    @Given("^I've launched \"([^\"]*)\"$") 

    public void I_ve_launched_(String activityClassName) 
      throws Throwable { 
     String targetPackage = getInstrumentation().getTargetContext().getPackageName(); 
     Class<? extends Activity> activityClass = 
       (Class<? extends Activity>) Class.forName(activityClassName); 

     currentActivity = launchActivity(targetPackage, activityClass, null); 
    } 

    @When("^User '(.+)' singIn with password '(.+)'$") 
    public void userLogin(String login, String password) { 
     mEmailEdt.perform(clearText()); 
     mPassEdt.perform(clearText()); 
     mEmailEdt.perform(ViewActions.typeText(login)); 
     mPassEdt.perform(ViewActions.typeText(password)); 
     mLoginBtn.perform(ViewActions.click()); 
    } 

    @Then("^Check message about incorrect password") 
    public void checkTextOnScreen() { 
      onView(withText("Wrong pass")).check(matches(isDisplayed())); 

    } 

答えて

1

私はあなたのようないくつかのbuild.gradleの構成部品不足していると思う:

testApplicationId "cucumber.cukeulator.test" 
    testInstrumentationRunner "cucumber.cukeulator.test.Instrumentation" 

このCucumberbuild.gradle設定内容を確認してください:https://github.com/cucumber/cucumber-jvm/blob/master/examples/android/android-studio/Cukeulator/app/build.gradle

はそれが

を助けることを願っています
+0

ありがとうございます。 –

関連する問題