在AWS设备场上的Android Instrumentation Test中设置设备方向

时间:2017-11-12 18:44:57

标签: android amazon-web-services android-orientation android-instrumentation aws-device-farm

我正在将我的Android apk和instrumentationTest apk上传到aws设备农场,但它一直在我的应用程序中运行。

在我的应用中,我已使用

在清单中将方向设置为横向
android:screenOrientation="sensorLandscape"
android:configChanges="keyboard|keyboardHidden|orientation|screenSize"

然后在我的测试中我跑(在@Before中)

UiDevice mDevice = UiDevice.getInstance(getInstrumentation());
try {
    mDevice.setOrientationLeft();
} catch (RemoteException e) {
    e.printStackTrace();
}

但它仍以纵向运行。

因此我需要在我的应用中设置,或者它是AWS设备场中的设置,因为我在网站或Google中找不到任何内容

2 个答案:

答案 0 :(得分:0)

可能是我们需要在测试本身而不是@Before中设置它。设备场中每次执行测试都是相互独立的。当你有机会尝试其他SO帖子中的代码时?

https://stackoverflow.com/a/6206510/4358385

HTH

答案 1 :(得分:0)

更新: 看看示例Android应用程序,看起来他们不会将@before放在测试类中。他们在基类中执行此操作,然后扩展它。

https://github.com/awslabs/aws-device-farm-sample-app-for-android/blob/master/app/src/androidTest/java/com/amazonaws/devicefarm/android/referenceapp/Categories/AlertPageTest.java

如果你有机会,如果你在测试类中使用@before,并且你可以将它移动到像示例一样的基类,你可以告诉我吗?我的假设是,这可能因为Device Farms执行环境而起作用。它可能没有像我们期望的那样运行@before