浅谈关于selenium和webdriver原理的二三事

相信大多数从事自动化测试童鞋都听过selenium和webdriver,但面试时候问起关于它们的原理和机制你们又是否可以说出一二来?

笔者曾经就掉进过坑里,于是抓紧又重新认识一遍selenium和webdriver。

什么是selenium?

selenium主要用于web应用程序的自动化测试,这个大家都知道。但它同时其实还支持所有基于web的管理任务自动化。selenium不是由单独的工具构成,其实是由一些插件、类库共同组成,每个部分又各有特点和应用场景。

selenium 1.0 = selenium IDE + selenium Grid + selenium RC

selenium IDE:实现简单的浏览器操作的录制和回放。

selenium Grid:实现多台机器上和异构环境中运行测试用例。

selenium RC:可作为代理服务器去访问应用。

selenium 2.0 = selenium 1.0 + Webdriver(selenium和webdriver两个独立项目的合并堪称完美)

Webdriver:通过原生浏览器支持或浏览器扩展来直接控制浏览器。

Ubuntu环境搭建selenium

笔者最近在用腾讯云服务器搭建测试环境,采用了Ubuntu。由于Ubuntu自身就自带python,所以还算很方便的。在Ubuntu的python3下安装setuptools和pip,分别采用下面的命令:



之后还要用pip来安装selenium,命令如下:


webdriver的定义与规范

W3C对webdriver做出了定义与规范:

WebDriver is a remote control interface that enables introspection and control of user agents. It provides a platform- and language-neutral wire protocol as a way for out-of-process programs to remotely instruct the behavior of web browsers.

Provided is a set of interfaces to discover and manipulate DOM elements in web documents and to control the behavior of a user agent. It is primarily intended to allow web authors to write tests that automate a user agent from a separate controlling process, but may also be used in such a way as to allow in-browser scripts to control a — possibly separate — browser.

webdriver是一个远程控制界面,支持反省和用户代理的控制权。该webdriver API 通过通信协议和一组接口发现页面上DOM元素中定义的操作。

测试大神虫师举了个例子特别好:webdriver可以理解成对操作浏览器和页面元素的一套插板和插头的“国标”,不同编程语言都可以按照这套标准来实现自己语言的webdriver库。

本期先到这里,待续。


读更多的好书,拍更美的照片,写更酷的代码,遇见更有趣的人,愿望是实现从IT菜鸟到全栈工程师的蜕变。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 基于 SELENIUM 的自动化测试架构 非常感谢各位查阅本篇文章,笔者在此感谢各位。 目前市面上有分门别类的自动...
    厲铆兄阅读 11,280评论 6 43
  • 这篇文章在介绍官网的同时使用了比较多的脚本示例,示例里遇到的问题有部分在本篇文章进行了解释,还有一篇文章专门记录了...
    顾顾314阅读 14,420评论 3 32
  • 摘要: 之前用Selenium做UI自动化测试从初学到熟练碰到过很多问题,这里就不一一细说了,所以把最基本的操作都...
    Vicky_习惯做唯一阅读 13,936评论 1 23
  • 洞见SELENIUM自动化测试 写在最前面:目前自动化测试并不属于新鲜的事物,或者说自动化测试的各种方法论已经层出...
    厲铆兄阅读 11,693评论 3 47
  • APP是先让用户登录注册好,还是先让用户进入再选择登录注册的好? 让用户先登录注册的,从APP方来讲可以让想看到内...
    程守斌阅读 5,130评论 0 0