如何使用 espresso 更改应用程序屏幕方向

Posted

技术标签:

【中文标题】如何使用 espresso 更改应用程序屏幕方向【英文标题】:How to change the app screen orientation using espresso 【发布时间】:2019-08-05 10:35:28 【问题描述】:

在我的应用程序中,我想更改屏幕方向并使用 Espresso 对按钮执行单击操作。

我已经尝试了互联网上提到的所有解决方案,但没有任何效果。它不会改变屏幕方向。有人可以帮我吗?

这是我尝试过的:

ComposePageObject.clickComposeButton();
mActivityRule.getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); Thread.sleep(5000); 

我需要为此创建任何自定义类吗?

【问题讨论】:

你应该提供更多的细节和代码模板,比如你尝试过的东西 @HardikChauhan - 这就是我尝试过的。 ComposePageObject.clickComposeButton(); mActivityRule.getActivity().setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);线程.sleep(5000);我需要为此创建任何自定义类吗? 检查这个解决方案,***.com/questions/37362200/… @HardikChauhan - 我也尝试了这个博客中的一些解决方案,但没有奏效。 您可以使用edit 按钮来改进您的问题。这比尝试将代码添加为注释要好。 【参考方案1】:

你可以使用

androidTestImplementation 'com.android.support.test.uiautomator:uiautomator-v18:2.1.3'

使用这个库,在你的测试中编写一些代码

UiDevice device = UiDevice.getInstance(getInstrumentation());
device.setOrientationLeft();

检查 lib 更多,还有一些其他选项可以改变方向

【讨论】:

以上是关于如何使用 espresso 更改应用程序屏幕方向的主要内容,如果未能解决你的问题,请参考以下文章

Unity3D开发安卓应用如何设置横屏显示和竖屏显示

使用扩展屏时设置鼠标切换到另一屏幕的方向

如何使用 Espresso 测试特定活动?

如果更改屏幕方向,如何修复按钮大小?

Xamarin 更改全屏颜色

如何在屏幕方向更改时附加片段?