首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android模拟器-无法截图-不支持的协议:2

Android模拟器-无法截图-不支持的协议:2
EN

Stack Overflow用户
提问于 2018-07-04 17:48:38
回答 3查看 2.6K关注 0票数 2

我使用Xamarin.UITest在android模拟器上运行测试。测试运行成功,但所需文件夹中缺少屏幕截图文件。日志文件中有一条错误消息:

代码语言:javascript
复制
12:12:03 E/Screenshot: Unsupported protocol: 2
Could not take screenshot
java.lang.NullPointerException
    at sh.calaba.screenshot.ScreenshotTaker.saveImage(Unknown Source)
    at sh.calaba.screenshot.ScreenshotTaker.takeScreenshot(Unknown Source)
    at sh.calaba.screenshot.ScreenshotTaker.main(Unknown Source)

04-07-2018 12:12:03.738 +03:00 - 9038 - Took screenshot. { Path: "C:\Source\Repos\MyApp\MyApp.UITests\bin\Release\screenshot-1.png", Title: "Welcome screen." }

初始化:

代码语言:javascript
复制
return ConfigureApp
    .Android
    .EnableLocalScreenshots()
    .ApkFile("../../../MyApp.Android/bin/Release/com.myapp.MyApp-Signed.apk")
    .StartApp();

测试:

代码语言:javascript
复制
AppResult[] results = app.WaitForElement(c => c.Marked("mainPage"));
app.Screenshot("Welcome screen.");
Assert.IsTrue(results.Any());
EN

回答 3

Stack Overflow用户

发布于 2019-04-12 14:39:29

该问题已在Android 8.1的最新Calabash中修复

参考:https://github.com/calabash/calabash-android/pull/866

票数 0
EN

Stack Overflow用户

发布于 2020-01-09 15:41:33

我在我的真实设备上也遇到了同样的问题,但现在我已经解决了我的问题。当我遇到这个问题时,当时我正在使用Android SDK工具版本25.0.0和SDK平台版本Android 10.0(Q)。所以我已经将我的SDK工具版本更新到了26.1.1,并且我也切换到了SDK平台Android 8.1(Oreo)。这些步骤解决了我的问题,现在我可以在uiautomatorviewer上截屏了。我已经使用Android studio更新了SDK工具和SDK平台。请检查这些步骤是否可以帮助您解决问题。

票数 0
EN

Stack Overflow用户

发布于 2020-05-27 16:48:29

将ddmlib.jar的版本更新到26.0.0-dev可以解决这个问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51170735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档