Android 安装程序:系统。异常:尚未配置ApkFile或InstalledApp

Android 安装程序:系统。异常:尚未配置ApkFile或InstalledApp,android,mobile,xamarin,ui-automation,Android,Mobile,Xamarin,Ui Automation,我正在开发xamarin forms simple应用程序(CreditCardValidator),我从中下载了该应用程序[ 现在是否可以在不提供(.apk文件)路径的情况下开始运行测试方法…如果不可以,我想知道如何在运行测试方法之后启动VS emulator(运行测试方法以自动启动VS emulator) 如果只有一台设备连接到计算机,并且没有运行的模拟器,那么UITest将自动在该设备上运行测试 这也适用于模拟器,因为它必须已经启动并运行 来源: 但是,由于您可能需要启动仿真器,因此可以执

我正在开发xamarin forms simple应用程序(CreditCardValidator),我从中下载了该应用程序[

现在是否可以在不提供(.apk文件)路径的情况下开始运行测试方法…如果不可以,我想知道如何在运行测试方法之后启动VS emulator(运行测试方法以自动启动VS emulator)

如果只有一台设备连接到计算机,并且没有运行的模拟器,那么UITest将自动在该设备上运行测试

这也适用于模拟器,因为它必须已经启动并运行

来源:

但是,由于您可能需要启动仿真器,因此可以执行以下操作:

您可以使用名为
emulatorcmd.exe
的工具。它位于Windows上的以下目录中:

C:\ProgramFiles(x86)\Microsoft Emulator Manager\1.0

您可以使用
emulatorcmd.exe list/sku:Android/type:device/state:installed
获取已安装的可用模拟器的列表

然后,您可以使用
emulatorcmd.exe launch/sku:Android/id:
,它将启动特定的仿真器


@Jon i使用app=ConfigureApp.Android.ApkFile(path).DeviceSerial(“363F7AED-462C-46BD-9FEC-F1DD3B79916C”).StartApp();但它不起作用。是否有任何方法可以在模拟器上运行而不运行?(启动模拟器的测试方法?)我不相信测试框架会为您启动仿真器。您必须创建一个自定义构建脚本来调用此仿真器,并在调用
nunit console.exe
运行UI测试之前等待一分钟左右。
public class Tests
{
    AndroidApp app;

    [SetUp]
    public void BeforeEachTest()
    {
        app = ConfigureApp.Android.StartApp();
    }

    [Test]
    public void CreditCardNumber_TooShort_DisplayErrorMessage()
    {
        app.WaitForElement(c => c.Marked("action_bar_title").Text("Enter Credit Card Number"));
        app.EnterText(c=>c.Marked("creditCardNumberText"), new string('9', 15));
        app.Tap(c => c.Marked("validateButton"));

        app.WaitForElement(c => c.Marked("errorMessagesText").Text("Credit card number is too short."));
    }
}