【问题标题】:Static or Dynamic options in dropdown menu, which is better for Automation Testing?下拉菜单中的静态或动态选项,哪个更适合自动化测试?
【发布时间】:2022-01-02 19:26:30
【问题描述】:

这是我的下拉菜单的问题:

作为一名自动化测试人员,我在使用 Selenium 的 Select(); 方法“回合下拉字段”时遇到了一些问题。如果我必须在多个周期中运行测试并在每个下一个周期从下拉列表中选择不同的选项,我只是使用 Select(); 方法,效果很好。

现在的问题是,在 HTML 代码中我什至看不到下拉选项。该字段已更改为动态,不再是静态的。

我该如何解决这个功能,或者它只是一种糟糕的编程习惯?

【问题讨论】:

  • 请分享您尝试过的 HTML 和代码。
  • 确实,如果您提供有关您正在测试的内容以及您目前如何接近它的更多详细信息,您将获得更多/更好的答案。
  • 我们可能不得不使用其他渠道来沟通这个问题,我不能在这里向您发送此类信息。这是关于工作的,绝对是保密的。
  • 如何或实际上在哪里向您发送 html 代码的图片?这里就不上传了。

标签: html selenium dropdown


【解决方案1】:

通常使用 Select、Dropdown 或组合框的静态数据是最佳做法。不幸的是,有时我们需要使用 Selects 的动态数据。最好的方法是使用 Fluent Waits for Select 包含您的选项。此外,Thread.sleep() 是另一种解决方案,但不是可取的。但是,它是精确的解决方案。尝试为您的选择选项实现流畅或隐式等待。 例如ElementToBeVisibleElementToBeExists 等。

结帐Selenium Docs

【讨论】:

    【解决方案2】:

    我认为在下拉菜单中有动态选项是不错的做法。

    要为此编写端到端测试,这取决于这些选项的动态程度。如果它们在不同版本之间发生变化(例如系统中可用的产品类别),您可能应该在测试中对它们进行编码。这样,如果更新了选项,则必须更新测试,这是有道理的(如果找不到所需的选项,测试将失败)。

    如果选项因外部因素而改变(例如 Twitter 上当前的 10 大热门话题),那么您无法在测试中对它们进行编码。然后,您可能应该尝试按索引选择一个(例如第一个)并将测试参数化以处理可能存在的任何值。或者,您可以存根“TrendingValuesFromTwitterService”(继续我的示例)以提供一组固定的值用于您的测试目的。

    【讨论】:

    • 不相关,但谢谢!
    猜你喜欢
    • 1970-01-01
    • 2021-08-26
    • 2015-03-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-29
    • 1970-01-01
    • 2020-02-10
    相关资源
    最近更新 更多