0

我最近使用IE WebDriver在Selenium中开发了一个样本测试,它在IE浏览器上工作正常。我想知道为什么只要将驱动程序更改为Chrome或Firefox驱动程序,而无需更改测试代码,就可以在Chrome或Firefox上使用相同的测试。测试没有像在IE上那样工作。Selenium WebDriver实现之间的区别

我不知道是否有人知道或者可以点我一些链接,显示的网络驱动程序实现之间的区别是什么?

我会更详细地解释我的测试。

我有一个网站与一个开发快速AspxComboBox。这是一个提前输入组合框,这意味着它最初是空的,当用户输入输入时,组合框将查询数据库中包含输入文本的数据。它一次显示10个结果。如果用户向下滚动,则检索更多结果并将其添加到组合框中。

我的测试

1)用给定的URL

2)输入打开浏览器 'A' 组合框中

3)检查10个记录被填充。

4)使用组合框使用相同的查询,并用相同的 过滤运行它。 Blockquote 5)将查询结果与组合框内容进行比较。

6)在列表中选择10号元素,以模拟滚动和 越来越结果。

以上测试正常工作与IE的Web驱动程序。

当我改成了Chrome网上应用驱动程序,我遇到时序问题。 Chrome驱动程序似乎比IE Web Driver更快。我使用了适当的等待语句,但它不适用于我。例如,在文本之后,我等待在组合框中输入,直到组合框有10个元素。即使此等待成功,Chrome驱动程序也会将组合框中的第一项检索为空。我通过放置一个断点并让测试应用程序等待足够长的时间来通过这个问题,然后工作,但然后单击列表中的最后一个项目变得有问题。在IE中,我可以说单击第10项,但是相同的代码在Chrome Web Driver中生成了一个例外。这是说点击不会在所需的元素上。

我遇到的上述挑战使我认为Web Driver实现之间存在差异。人们是否同意?

+0

http://code.google.com/p/selenium/wiki/RoadMap? – t3hn00b

+0

https://code.google.com/p/selenium/wiki/ChromeDriver – t3hn00b

+0

此外 - 没有工作是不是很有帮助。 – t3hn00b

回答

0

我原来在Firefox中进行了ruby测试,并且测试了相同的传递结果中相同的代码。我确实收到了一些额外的消息,我可以通过删除扩展来关闭。

为了在chrome中进行测试,您需要可以在此处获得的chromedriver。

https://code.google.com/p/chromedriver/downloads/list

让在你的系统路径之后,它只是一个选择你的毒药的事;

driver = Selenium::WebDriver.for :firefox 

driver = Selenium::WebDriver.for :chrome 

编码愉快!

相关问题