Selenium WebDriver 是用于测试Web应用程序的API的开源集合。Selenium WebDriver工具,它还允许执行跨浏览器测试。
WebDriver还能够使用编程语言在创建测试脚本时使用。现在可以使用条件运算就像If-Then-Else或Switch-Case。还可以像Do-While执行循环操作。
WebDriver支持以下编程语言
在2006年9月WebDriver出现之前,还有另一个,自动化工具称为Selenium RC。WebDriver和Selenium RC都具有以下功能:
那么它们有什么不同呢?来讨论一下。
WebDriver的架构比Selenium RC的架构简单。
WebDriver比Selenium RC更快,因为它直接与浏览器对话,使用浏览器自己的引擎来控制它。
Selenium RC速度较慢,因为它使用名为Selenium Core的Javascript程序。直接控制浏览器的是这个Selenium Core。
Webdriver以一种更现实的方式与页面元素交互。例如,如果正在测试的页面上有一个禁用的文本框,则WebDriver确实不能像真人那样在其中输入任何值。
Selenium Core,就像其他的JavaScript代码,可以访问禁用的元素。
Selenium RC的API更为成熟,但包含冗余且经常令人困惑的命令 。例如,大多数情况下,测试人员会感到困惑,不知道是使用type还是typeKeys。更糟的是, 不同的浏览器也会以不同的方式解释这些命令!
Webdriver的API比Selenium RC的API简单。它不包含冗余和模糊的命令。
Webdriver可以支持HtmlUnit浏览器。HtmlUnit被称为“Headless”,因为它是一个看不见的浏览器--它没有GUI。
HtmlUnit浏览器是一个非常快的浏览器,因为不需要花费时间来等待页面元素加载。这加快了测试执行周期。由于它对用户是不可见的,因此只能通过自动手段进行控制。
Selenium RC不支持无头HtmlUnit浏览器。它需要一个真正的、可见的浏览器来操作。
WebDriver在操作系统级别运行。所以, 必须给WebDriver团队相当长的时间来弄清楚那个新流程然后才能在下一个WebDriver版本中实现它。
然而,这取决于WebDriver的开发团队是否应该支持新浏览器。
6.测试结果的支持
Selenium RC自动生成测试结果的HTML文件 。报告的格式是由R预先设定的看下面这份报告的示例。
WebDriver没有自动生成测试结果文件的内置命令。必须依赖IDE的输出窗口,或者使用编程语言的功能自行设计报告并将其存储为文本、HTML等。
本文摘自:https://zhuanlan.zhihu.com/p/382698608