我正在使用Xamarin.UITest在android模拟器上运行测试。测试成功运行,但是所需文件夹中没有屏幕截图文件。 日志文件中有错误消息:
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." }
初始化:
return ConfigureApp
.Android
.EnableLocalScreenshots()
.ApkFile("../../../MyApp.Android/bin/Release/com.myapp.MyApp-Signed.apk")
.StartApp();
测试:
AppResult[] results = app.WaitForElement(c => c.Marked("mainPage"));
app.Screenshot("Welcome screen.");
Assert.IsTrue(results.Any());
答案 0 :(得分:0)
最新的Calabash for Android 8.1已解决该问题
答案 1 :(得分:0)
我在真实设备上也遇到了同样的问题,但是现在我已经解决了问题。 当我遇到此问题时,当时我在使用版本为25.0.0的Android SDK工具和版本为Android 10.0(Q)的SDK平台。 因此,我已将SDK工具版本更新为26.1.1,并且切换到了SDK Platform Android 8.1(Oreo)。这些步骤解决了我的问题,现在我可以在uiautomatorviewer上截屏了。 我已经使用Android Studio更新了SDK工具和SDK平台。 请检查这些步骤是否可以帮助您解决问题。
答案 2 :(得分:0)
将ddmlib.jar版本更新为26.0.0-dev将解决此问题。