Selenium WebDriver 原理

栏目: 编程语言 · Python · 发布时间: 7年前

内容简介:Selenium WebDriver 原理

WebDriver 是按照server – client 的经典 设计模式 设计的。
server 端就是remote server,可以是任意的浏览器。当我们的脚本启动浏览器后,该浏览器就是remote
server,它的职责就是等待client 发送请求并做出相应。
client 端简单说来就是我们的测试代码,我们测试代码中的一些行为,比如打开浏览器,转跳到特定
的url 等操作是以http 请求的方式发送给被测试浏览器,也就是remote server;remote server 接受请求,
并执行相应操作,并在response 中返回执行状态、返回值等信息

webdriver 的工作流程:
1. WebDriver 启动目标浏览器,并绑定到指定端口。该启动的浏览器实例,做为WebDriver 的remote
server。
2. Client 端通过CommandExcuter 发送HTTPRequest 给remote server 的侦听端口(通信协议: the
webriver wire protocol)
3. Remote server 需要依赖原生的浏览器组件(如:IEDriverServer.exe、chromedriver.exe),来转化转
化浏览器的native 调用。
总结:
对于碰到的一些常见功能,如何通过技巧来定位它们,
但是在实际的自动化脚本开发中,不管是新手还是具有一定经验的老手,所遇到最多的问题仍然是元素的
定位。
有时元素定位非常简单,例如,我们只要知道这个元素有的id 和name 就可以轻松的来定位到它;有
时元素的定位却非常的令人头疼,尽管我们想尽了办法,仍然无法定位到它。在这里笔者也没万能的方法
来帮你解决这些实际问题。
对于不同的web 项目,所用到的前端技术也不同,有些项目会用到EXT(一个强在的js 类库),有
些会用到AJAX(一种创建交互式网页应用的网页开发技术),这些技术的应用无疑对于前端开发人员可
以快速的生成所需要的页面,但对于UI 自动化测试人员来说,增加了定位页面元素的难度。
所以,在进行项目实现UI 自动化评估的时候,页面元素的定位难度也是一个评估标准,如果处处都
是很难定位的元素,那么无疑会增加脚本的开发与维护的成本,得不偿失。这个时候我可以考虑将更新多
的精力放在单元或接口层的自动化上。
对于自动化测试人员来说,如果熟悉前端技术也会大大降低你定位元素的难度,熟练使用XPath 和
CSS 技术会使你的定位变得容易很多,如果精通javascript、jquery 等技术,那么使你的定位之路变得更加
随心所欲。
在我们尝试开展自动化的web 项目中,大多数在设计初期并没有考虑是否易于进行自动化,所以更多
的会以实现功能为目的,这个也是后期开展自动化困难重重的重要原因。如果开发人员在设计代码的时候
就考虑是否容易自动化,为必要的元素加上id 和name 属性的话,那么我们自动化工作会变得容易很多。
测试人员如何更顺利的实施自动化测试工作。一方面要努力学好技术,克服技术难题。另一方面,我
们要清楚的认识到,自动化技术的应用与实践不是一个人的战斗。一定要得到整个团队的配合与支持。
当然,站在公司的立场,不能带来收益的事情是很难得到支持的,这个就需要读者去综合评估目前的
产品真的是否适合引入自动化,或者目前的阶段是否真的迫切需要开展自动化。
假如,你已经动手开始进行自动化了,笔者再提几点建议。
1、熟练掌握xpath\CSS 定位的使用,这样在遇到各种难以定位的属性时才不会变得束手无策。
2、准备一份selenium-2.5.0-java-api,及时查阅WebDriver 所提供的方法。
3、学习掌握JavaScript 语言,掌握JavaScript 好处前面已经有过阐述,可以让我们的自动化测试工作
更加游刃有余。
4、自动化测试归根结底是与前端打交道,多多熟悉前端技术


以上所述就是小编给大家介绍的《Selenium WebDriver 原理》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

征服C指针

征服C指针

前桥和弥 / 吴雅明 / 人民邮电出版社 / 2013-2 / 49.00元

《图灵程序设计丛书:征服C指针》被称为日本最有营养的C参考书。作者是日本著名的“毒舌程序员”,其言辞犀利,观点鲜明,往往能让读者迅速领悟要领。书中结合了作者多年的编程经验和感悟,从C语言指针的概念讲起,通过实验一步一步地为我们解释了指针和数组、内存、数据结构的关系,展现了指针的常见用法,揭示了各种使用技巧。另外,还通过独特的方式教会我们怎样解读C语言那些让人“纠结”的声明语法,如何绕过C指针的陷阱......一起来看看 《征服C指针》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

在线进制转换器
在线进制转换器

各进制数互转换器

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试