xamarin UI 测试 - 无法加载我指向的本机 APK 路径
xamarin UI Test - Unable to load the native APK path that I point to
我想 运行 一个 REPL UI 测试本机 android APK,方法是使用以下代码引用 APK 的路径。
public void BeforeEachTest()
{
app = ConfigureApp.Android
.ApkFile("C:/app-debug.apk")
.StartApp():
}
public void AppLaunches()
{
app.Repl();
}
但是,在 运行ning 测试期间,它总是会像下面这样加载测试,这不是我设置的路径。
Loading tests from 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}
您会注意到以下路径中的 // 语法适用于我的 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();
}
更优雅的方式:
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();
}
我想 运行 一个 REPL UI 测试本机 android APK,方法是使用以下代码引用 APK 的路径。
public void BeforeEachTest()
{
app = ConfigureApp.Android
.ApkFile("C:/app-debug.apk")
.StartApp():
}
public void AppLaunches()
{
app.Repl();
}
但是,在 运行ning 测试期间,它总是会像下面这样加载测试,这不是我设置的路径。
Loading tests from 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}
您会注意到以下路径中的 // 语法适用于我的 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();
}
更优雅的方式:
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();
}