【问题标题】:Selenium clear input field different behaviorSelenium 清除输入字段的不同行为
【发布时间】:2020-11-21 03:27:01
【问题描述】:

我们的客户使用机器人框架来测试我们正在开发的应用程序。我有一个奇怪的现象,他们有一个在他们的机器上运行的测试,但不是在我们的测试执行环境中,也不是在我的本地工作站上。 我已经把它缩小到一个 selenium 关键字。

   SeleniumLibrary.Clear Element Text    ${elementXpath}

一般来说,这只是一个 python 包装器

driver.find_element_by_id('foo').clear()

我已经发现 selenium 函数本身不能按预期工作,并且已经发现了这个问题。 robot framework - Clear Element Text keyword is not working

这个问题中提到的解决方法对我有用。但我很难说服客户更改他们的关键字,如果这对他们有用的话。

我已经检查了库和浏览器版本。全都一样。我希望有人能解释一下,为什么这个关键字在某些环境中的工作方式会有所不同。

铬 84 Chromedriver 84

【问题讨论】:

  • 怀疑这仅与自动完成字段的处理有关-“可以”在测试浏览器配置文件中禁用,但最好通过发送 CTRL+'a' 然后发送 BACKSPACE 来处理,从字面上看.

标签: python-2.7 selenium-webdriver robotframework


【解决方案1】:

找到了答案。客户没有使用最新的 chromedriver,而是非常旧的版本 2.40.565498。由于某种原因,此驱动程序没有https://github.com/SeleniumHQ/selenium/issues/6741 中描述的问题。

【讨论】:

    【解决方案2】:

    如果您无法让客户相信拥有一个在开发的早期阶段和环境中也可以验证的单一测试集的重要价值,那么这个无效的声明应该是您最不必担心的。正如那句古老的格言所说:质量不是事后的结果,而是验证每一步的结果。

    如果没有详细了解代码库,我建议您查看Set Library Search Order Documentation 并可能在您设置的位置添加Suite Setup Documentation 将允许您使测试集与您的环境兼容,无需修改实际的客户测试文件。

    【讨论】:

    • 好的。也许我忘了提,我自己也想了解一下,为什么关键字在一台机器上起作用,而在另一台机器上不起作用。据我了解,关键字的问题根本不应该起作用。
    • 您能否通过edit在您的问题中添加对客户端使用的环境、您自己的本地设置和执行环境之间的差异的描述。
    猜你喜欢
    • 2020-04-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-27
    • 1970-01-01
    • 2020-05-20
    • 1970-01-01
    相关资源
    最近更新 更多