xamarin UI 测试 - 无法加载我指向的本机 APK 路径

Posted

技术标签:

【中文标题】xamarin UI 测试 - 无法加载我指向的本机 APK 路径【英文标题】:xamarin UI Test - Unable to load the native APK path that I point to 【发布时间】:2017-02-14 02:02:36 【问题描述】:

我想通过以下代码引用 APK 的路径,在原生 android APK 上运行 REPL UI 测试。

public void BeforeEachTest()

    app = ConfigureApp.Android
          .ApkFile("C:/app-debug.apk")
          .StartApp():


public void AppLaunches()

    app.Repl();

但是,在运行测试期间,它总是会像下面这样加载测试,这不是我设置的路径。

从 testing\Xamarin Testing\AndroidTest\AndroidTest\bin\Debug\AndroidTest.dll 加载测试

REPL 控制台没有打开,我选择的 APK 没有被测试,也没有错误信息,我该怎么办?

我没有找到任何相关的解决方案。

我已安装:NUnit 2.6.4、NUnit3TestAdapter 3.7.0、NUnitTestAdapter2.0.0 和 Xamarin.UITest 2.0.5.1591-dev

【问题讨论】:

请将您的代码图片替换为您的代码文本。可以使用格式化工具。请记住,图像与剪贴板、屏幕阅读器或搜索引擎不兼容。 “加载测试”错误消息与您看到的问题无关,因为它指向测试 DLL,而不是 APK。我认为问题可能是您的 APK 文件路径格式错误。你可以试试“/app-debug.apk”吗? 【参考方案1】:

您会注意到以下路径中的 // 语法适用于我的 UI 测试。为什么不试试 C://whateverfolderyourapkisin/app-debug.apk。

 if (platform == Platform.Android)
        

            var path = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().GetName().CodeBase);
            path = path.Substring(6);
            path = path.Replace("UITest", "My_AppFolder_PCL\\My_AppFolder_PCL.Droid");
            path = path + "/com.mycompany.myapp.apk";
            path = path.Replace("\\", "//");



            return ConfigureApp
                .Android
                .EnableLocalScreenshots()
                .ApkFile(path)
                .StartApp();
        

【讨论】:

【参考方案2】:

一种更优雅的方式:

 if (platform == Platform.Android)
 

            var path = System.AppDomain.CurrentDomain.BaseDirectory;

            path = Directory.GetParent(path).Parent.Parent.Parent.FullName;
            path = Path.Combine(path, "Droid/bin/Release/app-Signed.apk");

            return ConfigureApp
                .Android
                .EnableLocalScreenshots()
                .ApkFile (path)
                .StartApp();
 

【讨论】:

以上是关于xamarin UI 测试 - 无法加载我指向的本机 APK 路径的主要内容,如果未能解决你的问题,请参考以下文章

为啥我无法在 Xamarin UI 测试中使用 app.Device.IsPhone

无法在 xamarin.forms 上运行 XAMARIN UI TEST,错误 System.Exception

使用 Xamarin UI 测试运行 UI 测试用例时出现异常“SetUp:System.Exception:无法联系在应用程序中运行的测试后端”

Xamarin.Forms UWP UI 测试

Xamarin自动化测试ios。无法启动DeviceAgent ExitCode:65

Xamarin 为 UI 测试形成更改时间选择器值