【问题标题】:Robot Framework Input Text does not enter all textRobot Framework Input Text 未输入所有文本
【发布时间】:2019-02-21 11:53:36
【问题描述】:

我正在尝试使用 输入键 在消息字段中输入文本。有时它会输入所有字符,有时它会被截断。我试过使用 Press Key 但它做同样的事情。还有其他解决方案吗?

示例: Press Key id:noteMessage 这是来自机器人框架的注释

【问题讨论】:

  • 页面是否已完全加载?也许页面仍在呈现或某种 javascript 在后台运行?
  • 我添加了一个等待直到....但也许有一个 javascript 在后台运行。我再挖点。我只是不知道是什么原因造成的。我是新手。
  • 我的假设是某些东西正在窃取焦点。要检查这一点,请在输入文本之前添加长时间睡眠(确保睡眠不是解决方案,而是在这种情况下使用调试工具)
  • 是的,所以延迟有所帮助,但正如您所说,这绝对不是解决方案。您知道解决此问题的最佳方法吗?
  • 你需要找出是什么偷走了焦点。可能您必须等到页面上的最后一个元素出现(或某些正在运行的指示消失)

标签: robotframework


【解决方案1】:

您可以做的是插入一个循环,例如运行几次并尝试每次将文本插入到文本字段中。在循环期间,您读取文本字段的结果,如果它与您尝试输入的原始文本匹配,则退出循环。

例如:

${retries} = 3
${text} = "Some text that doesn't get fully displayed all the time."
${locator} = id:noteMessage
:FOR  element  IN RANGE   0            ${retries}
\     Input text          ${locator}   ${text}
\     ${inserted_text} =  Get text     ${locator}
\     ${result} =         Evaluate     ${inserted_text} = ${text}
\     Exit for loop if    ${result} = True

当然,您可以插入更多的故障保护,但这应该是一个很好的基础。当然,您应该研究为什么该字段有时没有插入键或文本的问题。

【讨论】:

    猜你喜欢
    • 2020-04-09
    • 2011-10-03
    • 1970-01-01
    • 2011-12-28
    • 2021-12-07
    • 1970-01-01
    • 2020-12-31
    • 2019-03-13
    • 2021-06-11
    相关资源
    最近更新 更多