Xamarin的UI测试。 采取控制的背景颜色的ios(Xamarin UI Test. Tak

2019-10-30 08:52发布

我是新来xamarin UI测试。 我需要的UIView的颜色。 据我了解我需要使用Invoke方法,因为没有这样做的另一个测试方式。 我尝试的东西取色样

var color = app.Query(c => c.Marked("someText").Invoke("BackgroundColor"));

要么

var color = app.Query(c => c.Marked("someText").Invoke("BackgroundColor").Invoke("CGColor").Value());

但它返回我的星星,只有String对象"******"或在以下情况下崩溃"Value"使用。 请告诉我,我做错了什么?

我还看到错误“*****”对任何错误的请求,例如

var result = app.Query(x => x.Marked("Mark").Invoke("TextColorAAAAAAA"));
result = {object[1]}    [0] "*****"

所以xamarin不知道命令“背景”。

更新

貌似所有的时间xamarin正在等待命令“的backgroundColor”,从小信。 但是,这不是解决问题。 现在,它返回空对象,即使没有默认值...

[0] {
    red => [

    ],
    alpha => [

    ],
    type => [

    ],
    blue => [

    ],
    green => [

    ]
}

Answer 1:

尝试使用私有字段styleStringUIColor是这样的:

var color = app.Query(c => c.Marked("someText").Invoke("backgroundColor").Invoke("styleString"))[0];

你应该得到一个字符串RGB值, rgb(1,2,3)

就这样,你可以只解析字符串得到R,G,B的元素出来。



文章来源: Xamarin UI Test. Take control's background color ios