0

送信用とキャンセル用の 2 つのボタンがある単純なアクティビティを作成しました。UI Automator テストを使用して、このプロジェクトをテストしたいだけです。そこで、Android テスト プロジェクトを作成し、クラスを作成します。このテスト クラスを extends にしUiAutomatorTestCaseます。また、uiautomator.jar、android.jar、および junit3 ライブラリも追加しました。しかし、テストケースを実行すると、エラーが発生します

TestSuiteConstruction が失敗し、java.lang.RuntimeException.

ただし、コンストラクターを追加しますが、パラメーターを使用しないため、パラメーターを追加できません。これが私のテストケースコードです。できるだけ早くこのエラーを解決してください。プロジェクトに追加していないことを教えてください。

package com.example.automatorapp.test;

import android.test.suitebuilder.TestSuiteBuilder;
import android.util.Log;

import com.android.uiautomator.core.UiObjectNotFoundException;
import com.android.uiautomator.testrunner.UiAutomatorTestCase;
import com.example.automatorapp.MainActivity;

public class testDemo1 extends UiAutomatorTestCase
{
    public testDemo1()
    {

    }

    public void testdemo() throws UiObjectNotFoundException
    {   
        getUiDevice().pressHome();
        Log.e("how r u","hello");
    }
}
4

1 に答える 1

0

「test」で始まらないようにクラスの名前を変更し、コンストラクターを削除してみてください。慣例により、クラスの名前は大文字で始まり、あなたのものは小文字の「t」で始まります。また、慣例により、JUnit3 テスト クラスは末尾に「Test」という単語を付けます。http://junit.sourceforge.net/junit3.8.1/javadoc/junit/framework/TestCase.htmlしたがって、あなたの例では、クラス名 testdemo1 は Demo1Test という行になります (ファイル名はクラス名と一致する必要があることに注意してください)。

しかし、驚いたことに、コードのわずかに変更されたバージョンが私のマシンで実行されました。これが正常に実行されたコードです。

package com.example.automatorapp.test;

import android.util.Log;
import com.android.uiautomator.core.UiObjectNotFoundException;
import com.android.uiautomator.testrunner.UiAutomatorTestCase;

public class testDemo1 extends UiAutomatorTestCase
{
    public testDemo1()
    {
    }
    public void testdemo() throws UiObjectNotFoundException
    {
        getUiDevice().pressHome();
        Log.e("how r u","hello");
    }
}

Androidログにもログメッセージが表示されました。

E/how r u (24667): hello

そのため、プロジェクトのセットアップまたはビルド環境に問題がある可能性があります。私の知る限り、このプロジェクト (テスト用) は、テストするアプリのコードまたはプロジェクトから独立している必要があります。ただし、テストしたいアプリへのインポートがあります。

import com.example.automatorapp.MainActivity;

UI Automator に関連するかなりの数の質問を投稿したので、これまでの進捗状況を要約できます。たとえば、UI Automator テストを正常に実行したことがありますか?

PS: 以前の質問への回答に対するフィードバックをお待ちしております。あなたのフィードバックがなければ、あなたがどちらに向かっているのか、そしてその答えがあなたにとって関連性があったか、役に立ったかを知ることは困難です.

于 2013-03-28T08:31:24.987 に答える