【问题标题】:Control Click in Robotframework-AutoItLibrary do nothing在 Robotframework-AutoItLibrary 中控制 Click 什么都不做
【发布时间】:2019-08-20 09:19:56
【问题描述】:

我在 AutoIt 中有这个脚本,它工作得很好。 在 Robotframework 中编码时,同一行不起作用。 没有错误,测试执行成功,但是点击没有执行。

在 AutoIt 脚本中(确定):

ControlClick("Win Title","","[CLASS:ToolbarWindow32; INSTANCE:1]", "", 1, 255, 20)

在射频(挪威克朗)中:

Control Click   Win Title    ${SPACE}    [CLASS:ToolbarWindow32; INSTANCE:1]     ${SPACE}    1   255     20

我尝试使用 ${EMPTY} 并且行为是相同的。

如果我删除最后一个参数 (1 255 20),它会起作用,但点击了错误的按钮(工具栏中间)。仅使用参数 1 不起作用。

有什么想法吗?谢谢。

【问题讨论】:

  • 也许${SPACE} 应该是${EMPTY}
  • 我试过 ${EMPTY} 并且行为是一样的。如果我删除最后一个参数(1 255 20),它可以工作,但点击了错误的按钮(工具栏的中间)。仅使用参数 1 不起作用。

标签: python windows automation robotframework autoit


【解决方案1】:

我认为缺少一个参数(左按钮)。这样就可以了:

Control Click  strTitle=Title  strText=  strControl=[CLASS:ToolbarWindow32; INSTANCE:1]    strButton=LEFT  nNumClicks=1  nX=255  nY=20

【讨论】:

  • 似乎正确。因此,您使用${SPACE} 设置strButton,而不是默认的strButton=LEFT 或其他有效值。由于LEFT 是默认值,您可以省略strButton=LEFTnNumClicks=1Control Click 的前 3 个参数是必需的,之后您可以像 Python 一样使用位置或命名参数。干得好。
  • @michael_heath 我明白了,但现在我有一个问题。你能帮我吗?如果我有所有必需的参数,为什么这适用于 AutoIt Script 而不是 RF? #在 autoit 中这有效: $val=ControlListView("Title", "","[CLASS:SysListView32; INSTANCE:2]","GetText",0,1) #在 RF 中我得到一个空结果:$ {val}= 控制列表视图 strTitle=标题 strText= strControl=[CLASS:SysListView32;实例:2] strCommand=GetText strExtra1=0 strExtra2=1
  • @michael_heath 很奇怪。在我的情况下 PASS 但使用 '[CLASS:SysListView32; INSTANCE:2]' 或 'SysListView322' 没有返回值。只是空的。在 auto 中,它正确返回。
猜你喜欢
  • 2015-05-19
  • 2018-01-02
  • 2016-07-02
  • 2011-05-02
  • 1970-01-01
  • 2018-06-06
  • 2017-12-22
  • 2016-12-07
  • 2016-06-29
相关资源
最近更新 更多