下拉菜单中的静态或动态选项,哪一个更适合自动化测试



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

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

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

我该如何处理这个功能,还是这只是一个糟糕的编程实践?

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

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

如果选项因外部因素而改变(例如,Twitter上当前排名前十的热门话题(,则您无法在测试中对其进行编码。然后,您可能应该尝试按索引选择一个(例如,第一个(,并参数化测试以处理可能存在的任何值。或者,您可以从TwitterService中截取"TrendingValuesFromTwitterService"(保留我的示例(,为您的测试目的提供一组固定的值。

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

Checkout Selenium Docs

相关内容

最新更新