Mid*_*eD. 2 automated-tests ui-testing xamarin.ios xamarin
我是 xamarin UI 测试的新手。我需要获取 UIView 的颜色。据我了解,我需要使用 Invoke 方法,因为没有其他测试方法可以做到这一点。我尝试通过类似的东西来取色
var color = app.Query(c => c.Marked("someText").Invoke("BackgroundColor"));
Run Code Online (Sandbox Code Playgroud)
或者
var color = app.Query(c => c.Marked("someText").Invoke("BackgroundColor").Invoke("CGColor").Value());
Run Code Online (Sandbox Code Playgroud)
但它返回我的对象只有星星的字符串"******"或在"Value"使用时崩溃。请告诉我我做错了什么?
例如,对于任何错误的请求,我都会收到“*****”
var result = app.Query(x => x.Marked("Mark").Invoke("TextColorAAAAAAA"));
result = {object[1]} [0] "*****"
Run Code Online (Sandbox Code Playgroud)
所以 xamarin 不知道命令“背景”。
更新
看起来 xamarin 一直在等待命令“backgroundColor”,来自小写字母。但这并不能解决问题。现在它返回空对象,甚至没有默认值......
[0] {
red => [
],
alpha => [
],
type => [
],
blue => [
],
green => [
]
}
Run Code Online (Sandbox Code Playgroud)
尝试使用私有字段styleString的UIColor是这样的:
var color = app.Query(c => c.Marked("someText").Invoke("backgroundColor").Invoke("styleString"))[0];
Run Code Online (Sandbox Code Playgroud)
你应该得到一个字符串 rgb 值: rgb(1,2,3)
有了这个,您可以只解析字符串以从中获取 R、G 和 B 元素。
| 归档时间: |
|
| 查看次数: |
745 次 |
| 最近记录: |