Android-espresso (Kotlin):通过 writeToTestStorage 方法保存位图

Den*_*rov 5 automated-tests screenshot android-espresso

我尝试用 Espresso 进行截图测试:

测试

class ScreenshotTest {

@get:Rule
var nameRule = TestName()

@get:Rule
var mActivityTestRule = ActivityTestRule(MainActivity::class.java) 

@Test
fun saveActivityBitmap() {

    capture(mActivityTestRule.activity).bitmap.writeToTestStorage(nameRule.methodName)

}}
Run Code Online (Sandbox Code Playgroud)

显现

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
Run Code Online (Sandbox Code Playgroud)

但失败并显示消息:

没有注册内容提供程序:content://androidx.test.services.storage.outputfiles/saveActivityBitmap.png。是否安装了所有测试服务 apk?

看来有必要调整 ContentProvider...

伙计们,可能有人解决了这个问题,或者可能知道 writeToTestStorage 方法的大量文档在哪里。

Google 不知道这一点,“developer.android.com”仅在发行表中提到了此方法

小智 0

我希望这对某人有帮助。我在微软应用程序中心遇到了类似的问题。原因是appcenter不支持orchestrator。此内容提供程序是https://mvnrepository.com/artifact/androidx.test.services/test-services的一部分 您应该安装 Orchestrator.apk 和 test-services.apk 来运行测试。当您在本地模拟器上运行测试时,gradle 脚本会为您执行此操作,但 appcenter 不会