【转载】SELENIUM2支持无界面操作(HTMLUNIT和PHANTOMJS)
SELENIUM2支持无界面操作(HTMLUNIT和PHANTOMJS)
selenium2支持通过各种driver(FirfoxDriver,IternetExplorerDriver,OperaDriver,ChromeDriver)驱动真实浏览器完成测试。
除此之外,selenium也是支持无界面浏览器操作的。比如说HtmlUnit和PhantomJs。他们都不是真正的浏览器,运行时不会渲染页面显示内容,但是支持页面元素查找,js的执行等;由于不进行css和gui渲染,运行效率要比真实的浏览器要快很多。
1.htmlUnit是java实现的类浏览器程序,包含在selenium server中,无须驱动,直接实例化就行。
| 行为描述 | 行为 | HtmlUnitDriver | HtmlUnitDriver(true) | PhantomJSDriver | FirefoxDriver |
| 文本框input | 输入文本 | yes | yes | yes | yes |
| 按钮button | 点击按钮 | yes | yes | yes | yes |
| 下拉列表select | 选择选项 | yes | yes | yes | yes |
| 复选框checkbox | 点击 | yes | yes | yes | yes |
| Alert(显示带有一条指定消息和一个 OK 按钮的警告框) | 点击 | no | no | no | yes |
| Promprt(显示可提示用户进行输入的对话框) | 点击 | no | no | no | yes |
| driver类型 | 优点 | 缺点 | 应用 |
| 真实浏览器driver | 真实模拟用户行为 | 效率、稳定性低 | 浏览器兼容性测试 |
| HtmlUnit | 速度快 | js引擎(Rhinojs)不是主流的浏览器支持的,故对js支持的不够好 | 包含少量js的页面测试 |
| PhantomJS | 速度中等、模拟行为接近真实 | 不能模拟不同/特定浏览器的行为 | 非GUI的功能性测试 |
总结:
如果你要测试的页面js不是很多,并且不需要做兼容性测试的话,HtmlUnitDriver无遗是最好的选择
如果你需要做兼容性测试的话,还是应该选择真实的浏览器driver(如果你想提高自动化运行速率,可以考虑用testng,selenium grid并行测试)
【转载】SELENIUM2支持无界面操作(HTMLUNIT和PHANTOMJS)的更多相关文章
- selenium2支持无界面操作(HtmlUnit和PhantomJs)
selenium2支持无界面操作(HtmlUnit和PhantomJs) selenium2支持通过各种driver(FirfoxDriver,IternetExplorerDriver,OperaD ...
- Robot Framework使用Phantomjs进行无界面UI自动化测试
Robot Framework 是一款关键字驱动的验收自动化测试框架,现在在国内使用的越来越广泛了.一种通用的Web UI自动化测试解决方案是Robot Framework+Selenium2Libr ...
- Chrome开启无界面浏览模式Python+Windows环境
环境:Python 3.5.x + Selenium 3.4.3 + Chromedriver 2.30 + Chrome 60 beta版 + WIN7/WIN10 chrome_options = ...
- selenium phantomjs java无界面浏览器环境搭建
java selenium搭建无界面浏览器 1.http://phantomjs.org/ 下载windows版phantomjs 2.解压后bin目录下会有exe文件 3.测试代码: package ...
- Chrome handless无界面浏览器的脚本操作
1.什么是Phantomjs (已经停止更新) 是一个无界面的浏览器 支持页面元素查找,js的执行等 由于不进行css和gui渲染,运行效率要比真实的浏览器要快很多 2.如何使用Phantomjs? ...
- javascript - 可编辑表格控件 支持全键盘操作(无JS框架)
项目中经常会用到表格编辑控件,网上也有不少,但是确实没有完全符合我要求的, 自己写一个吧! 1.该控件支持 数据显示列,文本编辑列,选择列,下拉列,索引列,删除列 六种列类型 2.支持全键盘操作,自定 ...
- 批处理启动vm虚拟机服务 vm12启动无界面启动vm虚拟机系统 windows上如何操作服务 sc net启动关闭服务
windows(win10)批处理脚本 打开vm虚拟机的服务,并且开启无界面虚拟机 @echo off net start "vds" net start "VMAuth ...
- selenium(六)Headless Chrome/Firefox--PhantomJS停止支持后,使用无界面模式。
简介: 以前都用PhantomJS来进行无界面模式的自动化测试,或者爬取某些动态页面. 但是最近selenium更新以后,'Selenium support for PhantomJS has bee ...
- github之无命令可视化界面操作——GitHub DeskTop
Git是Linuxs之父Lunus用C语言写的一个非常好用的分布式版本控制系统. GitHub可以给我们提供免费的代码仓库,并用Git可以在上面提交代码并进行版本控制.使用Git一般要安装Git ,并 ...
随机推荐
- 最新 三七互娱java校招面经 (含整理过的面试题大全)
从6月到10月,经过4个月努力和坚持,自己有幸拿到了网易雷火.京东.去哪儿.三七互娱等10家互联网公司的校招Offer,因为某些自身原因最终选择了三七互娱.6.7月主要是做系统复习.项目复盘.Leet ...
- idea查看源码没有注释的问题
进入idea的设置 勾选这两个 然后重新导入 页面的右上角有个下载download source的提示,点击下载即可 然后页面就要源码注释了
- [转帖]Asp.net MVC 与 Asp.net Web API 区别
Asp.net MVC 与 Asp.net Web API 区别 https://www.cnblogs.com/viktor988/ https://www.cnblogs.com/terry283 ...
- 【转帖】Linux上搭建Samba,实现windows与Linux文件数据同步
Linux上搭建Samba,实现windows与Linux文件数据同步 2018年06月09日 :: m_nanle_xiaobudiu 阅读数 15812更多 分类专栏: Linux Samba 版 ...
- [转帖]被HTTP/2漏洞拖累,所有Kubernetes版本受影响
被HTTP/2漏洞拖累,所有Kubernetes版本受影响 https://www.kubernetes.org.cn/5746.html 服务很重要啊... 低版本都不解决安全问题了.. 不过HTT ...
- JS利用async、await处理少见的登录业务逻辑
在用uniapp开发一个项目时,有这样一个需求:用户首次登录后,uniapp自动保存用户名密码,之后不管是再次打开项目(打开项目时登录状态已失效)还是 请求接口(接口返回登录失效)时,都会先自动默认的 ...
- Spark的lazy特性有什么意义呢?
[学习笔记] Spark通过lazy特性有什么意义呢? Spark通过lazy特性,可以进行底层的spark应用执行的优化.在生活中,就像三思而后行.谋定而后动. 文章转载自原文:https://bl ...
- fiddler笔记:Composer选项卡
1.Composer选项卡介绍 Composer选项卡功能是可以手动构建和发送HTTP.HTTPS和FTP请求. 支持将Web Session列表中选中的Session拖入Composer选项卡,然后 ...
- Python内存相关
Python内存相关 示例一: v1 = [1, 2, 3] v2 = [1, 2 ,3] v1 = 123 v2 = 123 v1 = "dogfa" v2 = "do ...
- ssh下known_hosts的作用
原文地址:http://blog.csdn.net/yasaken/article/details/7348441 在平时工作中,有时候需要SSH登陆到别的Linux主机上去,但有时候SSH登陆会被禁 ...