微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

webdriver的底层原理

1、浏览器驱动程序
驱动Chrome浏览器,模拟人的操作,自动浏览网页,自动提取数据。分别介绍:Chrome,Chromium,Selenium,Webdriver,ChromeDriver

(1)Chrome是个浏览器,Chromium也是个浏览器。Chromium是Google主导的开源项目,为Chrome提供了大部分代码

(2)Selenium是浏览器驱动器,适配了IE、Chrome、Firefox等主流浏览器。2.x版本整合了webdriver以及原版selenium。两个项目合二为一,虽然名字还叫selenium,但也可以叫Webdriver。

(3)WebDriver也是浏览器驱动器,它与Selenium功能一样,但设计思路不同。

(4)ChromeDriver是Selenium2适配Chrome的驱动,由Google发布。

2、selenium版本介绍
selenium2.x:相比于selenium1.x,2.x版本整合了webdriver以及原版selenium。两个项目合二为一,虽然名字还叫selenium,但也可以叫Webdriver。这个版本的selenium是利用浏览器原生的API,封装成一套更加面向对象的Selenium WebDriver API。

直接操作浏览器页面里的元素,甚至操作浏览器本身(截屏,窗口大小,启动,关闭,安装插件,配置证书之类的)。由于使用的是浏览器原生的API,速度大大提高,而且调用的稳定性交给了浏览器厂商本身,显然是更加科学。然而带来的一些副作用就是,不同的浏览器厂商,对Web元素的操作和呈现多少会有一些差异,这就直接导致了Selenium WebDriver要分浏览器厂商不同,而提供不同的实现。

三、结构
下进入正题,要通过selenium实现自动化测试,最最主要是需要三种东西:测试需要用的代码、webdriver、浏览器。今天想要分享的也是这三者关系。

代码

selenium支持多种语言(java/c#/python/ruby)。测试工程师通过编程语言,调用浏览器对应API实现需要的功能

② webdriver

webdriver,就像是一个媒介。代码驱动webdriver。上文提过,不同浏览器有不同的webdriver。例如火狐的FirefoxDriver,谷歌的 ChromeDriver。

③ 浏览器

不同的浏览器对应不同的webdriver。

在这里插入图片描述

从上图,测试代码输入操作给webdriver,webdriver再去控制浏览器,最终达到的效果就是代码实现对浏览器的操作。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐