Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/220.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何在Firebase测试实验室中执行指定的测试套件类_Android_Firebase_Gcloud_Instrumentation_Android Espresso - Fatal编程技术网

Android 如何在Firebase测试实验室中执行指定的测试套件类

Android 如何在Firebase测试实验室中执行指定的测试套件类,android,firebase,gcloud,instrumentation,android-espresso,Android,Firebase,Gcloud,Instrumentation,Android Espresso,我有一个像这样的浓缩咖啡测试套件课程 package instrumentedtest; import org.junit.ClassRule; import org.junit.rules.ExternalResource; import org.junit.runner.RunWith; import org.junit.runners.Suite; @RunWith(Suite.class) @Suite.SuiteClasses({ Test1.class,

我有一个像这样的浓缩咖啡测试套件课程

package instrumentedtest;

import org.junit.ClassRule;
import org.junit.rules.ExternalResource;
import org.junit.runner.RunWith;
import org.junit.runners.Suite;

@RunWith(Suite.class)
@Suite.SuiteClasses({
        Test1.class,
        Test2.class,
        Test3.class
})

public class POSRuleSuite {
    @ClassRule
    public static ExternalResource testRule = new ExternalResource() {
        @Override
        protected void before() throws Throwable {
            System.out.println("Testing starts.........");
        }

        @Override
        protected void after() {
            System.out.println("Testing ends.........");
        }
    };
}
我在Android Studio中使用这个套件类设置了Firebase测试。我从Android Studio启动了这个firebase测试,它确实有效

但是当我使用Gcloud命令从命令行启动它时,我没有执行测试

gcloud firebase test android run ^
    --type instrumentation ^
    --app POS.apk ^
    --test POS-debug-androidTest.apk ^
    --test-runner-class=org.junit.runners.Suite ^
    --test-targets=instrumentedtest.POSRuleSuite ^
    --device model=Nexus10,version=22,locale=en,orientation=landscape ^
    --timeout 300s
这是输出

Uploading [POS.apk] to Firebase Test Lab...
Uploading [POS-debug-androidTest.apk] to Firebase Test Lab...
Raw results will be stored in your GCS bucket at [https://console.developers.google.com/storage/browser/test-lab-j9zwyqscmy0rw-k53tazzivjxvu/2017-10-19_14:25:20.055000_jPmA/]

ERROR: (gcloud.firebase.test.android.run) Http error while creating test matrix: ResponseError 400: Invalid test target for instrumentation test: instrumentedtest.POSRuleSuite

C:\git\POS>
有人知道如何让它工作吗


非常感谢您的帮助。

我找到了原因,我们必须通知测试目标的类型。在这种情况下,类型为。所以这条线应该是这样的

--test-targets="class instrumentedtest.POSRuleSuite"
您还可以传递包含所有目标的字符串列表,以逗号分隔,例如:

--test-targets="class instrumentedtest.POSRuleSuite,class instrumentedtest.AnotherRuleSuite"

这是完整的请求

gcloud firebase test android run ^
    --type instrumentation ^
    --app POS.apk ^
    --test POS-debug-androidTest.apk ^
    --test-targets="class instrumentedtest.POSRuleSuite" ^
    --device model=Nexus10,version=22,locale=en,orientation=landscape ^
    --timeout 300s

以下是如何在指定的测试套件类中运行特定测试: