在仪器测试中以编程方式设置仿真器/设备方向

时间:2014-05-07 11:40:44

标签: android android-testing android-espresso

在我的仪器测试中,我想在横向和纵向模式下测试一些东西,所以我想在测试开始之前设置方向。有没有办法以编程方式设置设备或模拟器方向?

我知道setRequestedOrientation()方法但这适用于某个活动,如果另一个活动开始,我必须记得再次调用它。我正在寻找的是一种“全局”设置方向的方法,以便每个新活动都以该方向自动启动。

更新:

解决方案必须满足2个要求:1)让我更改我的生产代码,2)它需要在CI环境中运行。

3 个答案:

答案 0 :(得分:5)

这是我为使这个更简单而创建的ViewAction: https://gist.github.com/nbarraille/03e8910dc1d415ed9740

评论中描述了用法。 希望有所帮助。

答案 1 :(得分:1)

您可以通过创建自己的AbtractActivity类来完成所有活动。

public abstract class AbstractActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    }
}

现在你必须从这个类继承你的所有活动。

答案 2 :(得分:0)

您可以在纵向模式下同时启动两个模拟器,在横向模式下启动两个模拟器。要更改模拟器方向,请使用ctrl + f12。