C# 为什么我无法在Xamarin UI测试中使用app.Device.IsPhone
我正在运行针对iPhone和iPad的iOS测试。这两款设备上的应用程序略有不同,因此我需要一种方法来区分测试运行的对象。我可以看到存在IDevice.IsPhone或IDevice.IsTablet属性,但这些属性是私有的,我无法访问它们 有没有一种简单的方法可以找出您正在使用的设备,或者有没有一种方法可以访问界面上的属性C# 为什么我无法在Xamarin UI测试中使用app.Device.IsPhone,c#,xamarin,xamarin.ios,uitest,C#,Xamarin,Xamarin.ios,Uitest,我正在运行针对iPhone和iPad的iOS测试。这两款设备上的应用程序略有不同,因此我需要一种方法来区分测试运行的对象。我可以看到存在IDevice.IsPhone或IDevice.IsTablet属性,但这些属性是私有的,我无法访问它们 有没有一种简单的方法可以找出您正在使用的设备,或者有没有一种方法可以访问界面上的属性 [SetUp] public void BeforeEachTest() { app = AppInitializer.StartA
[SetUp]
public void BeforeEachTest()
{
app = AppInitializer.StartApp(platform);
}
public bool DeviceIsiPad()
{
var device = app.Device;
if (device.IsTablet)
{
return true;
}
else {
return false;
}
}
您可以访问
IApp
类型的实例变量上的IApp.Device.IsPhone
(&.IsTablet
)属性,该变量是从ConfigureApp.iOS.StartApp()获取的
我最后使用了下面的。我收到一条警告,告诉我它已经过时,无法使用该设备,但它仍然可以工作:
bool isPhone = ((Xamarin.UITest.iOS.iOSApp)app).Config.IsPhone;
无法执行此操作,我在设备上收到以下错误。IsPhone“Xamarin.UITest.IDevice”不包含IsPhone”的定义,并且找不到类型为“Xamarin.UITest.IDevice”的扩展方法
IsPhone”。是否缺少程序集引用@t您需要在问题中添加您是如何获取应用程序变量的,因为您似乎使用了错误的变量。app
的类型是什么?您使用的是哪个nuget软件包?@valdero我没有使用nuget软件包
bool isPhone = ((Xamarin.UITest.iOS.iOSApp)app).Config.IsPhone;