我正在尝试使用 Xamarin.UITest 框架进行 UI 测试。我正在尝试使用他们网站上提供的链接来执行该程序。该应用程序名为“CreditCardValidator”。我下载了应用程序,然后做了一些事情,比如升级 UITest 包而不是 NUnit 包。正如教程中提到的,要提到的代码是
using System;
using System.IO;
using System.Linq;
using NUnit.Framework;
using Xamarin.UITest;
using Xamarin.UITest.iOS;
using Xamarin.UITest.Queries;
namespace CreditCardValidator.iOS.UITests
{
[TestFixture]
public class Tests
{
iOSApp app;
[SetUp]
public void BeforeEachTest()
{
Console.WriteLine ("Starting the function");
app = ConfigureApp.iOS.StartApp();
// app = ConfigureApp.iOS.AppBundle("/Users/admin/Library/Developer/CoreSimulator/Devices/57DBB268-714A-473F-A7D3-C3B4BB2BB138/data/Containers/Bundle/Application/A9151B5D-7B9C-4F9A-9EF2-F153AC994170").StartApp();
Console.WriteLine ("ending the function ");
}
[Test]
public void CreditCardNumber_TooShort_DisplayErrorMessage()
{
Console.WriteLine ("Starting the function");
app.WaitForElement(c=>c.Class("UINavigationBar").Marked("Simple Credit Card Validator"));
app.EnterText(c=>c.Class("UITextField"), new string('9', 15));
Console.WriteLine ("ending the function ");
}
}
}
我 的问题:模拟器没有打开,测试无缘无故失败。StartApp() 函数文档说它在模拟器上启动应用程序。我在测试结果面板中遇到的错误是
SetUp:System.NullReferenceException:对象引用未设置为对象的实例
他们在这条线上失败了: app = ConfigureApp.iOS.StartApp();
我试图用在代码中注释掉的应用程序的编译版本替换这一行。但为此,模拟器仍然没有打开,我得到的错误是 SetUp : System.Exception : App bundle directory does not contain a valid app bundle。 错误仍然在 Startup 功能行
更多信息:在第二次尝试中,我发现我的 .app 文件上有一个“停止”图像。这可能是原因吗?
请询问是否需要更多信息。