Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 为什么我无法在Xamarin UI测试中使用app.Device.IsPhone_C#_Xamarin_Xamarin.ios_Uitest - Fatal编程技术网

C# 为什么我无法在Xamarin UI测试中使用app.Device.IsPhone

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

我正在运行针对iPhone和iPad的iOS测试。这两款设备上的应用程序略有不同,因此我需要一种方法来区分测试运行的对象。我可以看到存在IDevice.IsPhone或IDevice.IsTablet属性,但这些属性是私有的,我无法访问它们

有没有一种简单的方法可以找出您正在使用的设备,或者有没有一种方法可以访问界面上的属性

    [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;