gpt4 book ai didi

android - 如何在 UITest 中检查按钮的颜色

转载 作者:太空狗 更新时间:2023-10-29 14:50:39 25 4
gpt4 key购买 nike

我正在使用 Xamarin.UITest 编写测试,我想检查特定 UI 按钮的颜色。从 Repl 我可以像这样捕获按钮:

>>> app.Query(c => c.Button()).First()
Query for Button() gave 1 results.
{
Id => "buttonGo",
Description => "android.widget.Button{b312e568 VFED..C. ........ 26,234-454,314 #7f060033 app:id/buttonGo}",
Rect => {
Width => 428,
Height => 80,
X => 26,
Y => 328,
CenterX => 240,
CenterY => 368
},
Label => null,
Text => "Go!",
Class => "android.widget.Button",
Enabled => true
}

不幸的是,似乎没有任何属性可以给我颜色。有没有一种方法可以让我从按钮中提取更多信息,或者可以通过其他方式查询我可以用来查找按钮颜色的信息?


更新:所以我正在取得一些进展,这要归功于使用 Invoke 的建议。我现在正在尝试执行以下操作:

>>> app.Query(c => c.Button("buttonGo").Invoke("getBackground"))

应该调用 getBackground并返回给我一个可绘制的背景,但会抛出以下错误:

Ignoring failed json serialisation of result of Query for Button("buttonGo").Invoke("getBackground"). Value was never requested
Query for Button("buttonGo").Invoke("getBackground") gave no results.
null

如果我调用 getHeight 一切都按预期工作,所以我在这里有点困惑:

>>> app.Query(c => c.Button("buttonGo").Invoke("getHeight"))
Query for Button("buttonGo").Invoke("getHeight") gave 1 results.
[
[0] 80
]

最佳答案

你要找的是 AppQuery.Invoke请参阅 Xamarin.UITest 文档“Invoke a Method on an AppResult or UI Element

更新:

我认为您不能返回复杂类型,但您可以链接 Invoke 调用。我的情况是:

app.WaitForElement (c => c.Button ("buttonGo")); 
app.Query(c => c.Button("buttonGo").Invoke("getBackground").Invoke("getColor"));

这将返回按钮的颜色 ID。

关于android - 如何在 UITest 中检查按钮的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35696224/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com