大多软件测试从业者要么基于Selenium Webdriver进行自动化测试实践,要么在学习Selenium Webdriver的路上,要么在江湖听说了Selenium Webdriver。
但更多的人,从未听说过Webdriver标准,更别说尝试去学习和研究Webdriver相关标准文档了,本文专门花费点时间来介绍一下什么是Webdriver标准,以便你能从底层、协议开启学习Selenium Webdriver之旅。
WebDriver标准
Webdriver是一个远程控制接口,支持内省和控制用户代理。
Webdriver提供了与平台和语言无关的连线协议,作为进程外程序远程指导web浏览器行为的一种方式。
Webdriver提供了一组接口,用于发现和操作web文档中的DOM元素并控制用户代理的行为。它的主要目的是允许web开发者编写独立控制过程中自动执行用户代理的测试,但也可以用于允许浏览器内脚本控制(可能是独立的)浏览器的方式。
最为重要的是WebDriver标准已经纳入了w3c标准,这意味着,几乎所有的浏览器都已经支持了WebDriver标准。
注:浏览器的版本对Webdriver标准的支持会有差异,这是要注意的一个点。
Webdriver标准文档链接
目前Webdriver标准level 2已经处于Draft状态了,有需要的可以深入看看。
当前正式使用的标准链接为:https://w3c.github.io/webdriver/
处于level 2 Draft状态的链接为:https://www.w3.org/TR/webdriver2/
对Webdriver标准有着良好支持的浏览有
序号 | 浏览器 | 文档 |
---|---|---|
1 | Mozilla Firefox | https://bugzilla.mozilla.org/showdependencytree.cgi?id=721859&hide_resolved=1 |
2 | Microsoft Edge | https://docs.microsoft.com/en-us/microsoft-edge/webdriver#w3c-webdriver |
3 | Apple Safari | https://developer.apple.com/library/content/documentation/NetworkingInternetWeb/Conceptual/WebDriverEndpointDoc/Commands/Commands.html |
4 | WebKit GTK port | http://trac.webkit.org/wiki/WebDriverStatus |
5 | Selenium IEDriverServer | https://github.com/SeleniumHQ/selenium/wiki/W3C-WebDriver-Status |
6 | Chrome | https://chromium.googlesource.com/chromium/src/ /master/docs/chromedriver_status.md |
对于上述各浏览器对Webdriver标准的支持情况,可以通过上面的链接去看到对应的文档,对于要深入基于webdriver标准来做业务的人来讲,是很有必要去深入学习的。
对于常用的软件测试从业者,大体了解上述知识即可。