我最近使用 IE WebDriver 在 Selenium 中开发了一个示例测试,它在 IE 浏览器上运行良好。我想知道为什么只需将驱动程序更改为 Chrome 或 Firefox 驱动程序而不更改测试代码,相同的测试就可以在 Chrome 或 Firefox 上运行。测试没有像在 IE 上那样工作。
我想知道是否有人知道或可以指出一些显示 Web 驱动程序实现之间差异的链接?
我将更详细地解释我的测试。
我有一个带有 Dev Express AspxComboBox 的网站。这是一个预先输入组合框,这意味着它最初是空的,并且当用户输入输入时,组合框会查询数据库以获取包含输入文本的数据。它一次显示 10 个结果。如果用户向下滚动,则会检索更多结果并将其添加到组合框中。
我的测试
1)用给定的url打开浏览器
2) 在组合框中输入“a”
3) 检查 10 条记录是否已填充。
4) 使用与组合框相同的查询并使用相同的过滤运行它。Blockquote 5) 将查询结果与组合框内容进行比较。
6)选择列表中的第10个元素来模拟滚动并获得更多结果。
上述测试适用于 IE Web 驱动程序。
当我将其更改为 Chrome Web Driver 时,我遇到了时间问题。Chrome Driver 似乎比 IE Web Driver 更快。我使用了适当的等待语句,但它对我不起作用。例如,在文本之后,我在组合框中放置了一个等待输入,直到组合框有 10 个元素。即使此等待成功,Chrome 驱动程序也会将组合框中的第一项检索为空。我通过放置一个断点并让测试应用程序等待足够长的时间来解决这个问题,然后它工作了,但是单击列表中的最后一项就出现了问题。在 IE 中,我只能说单击第 10 项,但相同的代码在 Chrome Web 驱动程序中生成了异常。这是说点击不会出现在所需的元素上。
我所面临的上述挑战让我认为 Web Driver 实现之间存在差异。人们同意还是不同意?