gpt4 book ai didi

python - 使用 Sikuli 验证文本

转载 作者:太空宇宙 更新时间:2023-11-03 12:48:38 25 4
gpt4 key购买 nike

我正在使用 Sikuli IDE 测试一个在文本框中返回数据的应用程序。例如我在名称字段中搜索我的测试值“FirstName01”,应用程序在各种文本框中返回名称和地址。

然后我使用 Sikuli 中的 exists() 函数验证数据。为此,我单击 IDE 左上角的存在功能,并使用 + 工具选择我要验证的文本。在本例中,FirstName01 和 Location01。然后我将 MatchingPreview 选项卡上的相似度设置设置为 .98(我发现如果我将它设置为 1.0,即使我得到正确的数据,Sikuli 也无法通过测试)。

如果我运行搜索 FirstName01 的测试,我会得到正确的结果,并且 Sikuli 不会抛出错误。我的问题是,如果我搜索并返回 FirstName02 以尝试生成错误条件,即使它正在寻找 FirstName01,exists 函数也会传递它。Sikuli 似乎没有验证数据的最后一个字符。它似乎验证了其他字符,因为如果我搜索 FirstName21,exists 函数会按预期抛出错误。有没有人遇到过这个问题?如果遇到过,您是如何解决的?

我的代码如下

If exists(FirstName01):
popup('passed')
else:
popup('failed')

还有其他验证数据的方法吗?

最佳答案

与其使用 exists() 来验证文本(因为 sikuli 的 IDE 中的 OCR 非常不可靠),如果有任何方法可以将要评估的文本获取到剪贴板,则可以使用 Env.getClipboard()以更准确地评估它。

要将其放入剪贴板,您可以使用几种方法:

  1. dragDrop() 以突出显示文本
  2. 也许跳入文本框会自动为您突出显示文本
  3. 在文本上使用 doubleClick()(取决于您要突出显示的内容,因此可能无法全部显示)
  4. 也许是突出显示它的最可靠方法——在文本框中按 Tab 键或在文本框内单击 () 并全选:

.

click(someImageNearTextBox).offset() #get your cursor inside the textbox
type("a",KeyModifier.CTRL) #select all to highlight the text

突出显示文本后,您可以这样进行:

type("c",KeyModifier.CTRL) #copy selection to the clipboard
firstName = Env.getClipboard().strip() #assign contents of clipboard to a variable

然后您可以将其用于任何您想要的比较:

if firstName == "FirstName01":
popup('passed')
else:
popup('failed')

这种方法的缺点是,如果文本框中有任何特殊字符,它可能无法正确计算。

关于python - 使用 Sikuli 验证文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20362028/

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