3

我想通过使用以下代码引用 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}、NUnitTestAdapter{2.0.0} 和 Xamarin.UITest {2.0.5.1591-dev}

4

2 回答 2

2

您会注意到以下路径中的 // 语法适用于我的 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();
        }
于 2017-02-16T15:58:38.487 回答
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();
 }
于 2018-07-18T07:45:52.847 回答