简要总结selenium四个工具组
selenium 是基于WEB的自动化测试工具。
由以下几个工具组组成
1.selenium IDE: 一个火狐插件

点击这个插件就进入录制界面,能够记录用户的操作,并且将其导出为可重复使用的测试脚本,并且支持多种语言
优点:
无需编程技能即可快速上手
缺点:
1.分散的脚本不可重用且难以维护,一旦UI发生变化测试就很受影响。
2.系统在测试之前必须可用。不适用于ATDD
3.仅支持firefox,不支持其他浏览器,无法做浏览器兼容性测试
2.selenium RC (selenium 1):
运行原理:在浏览器中注入javaScript(selenium core)来执行测试
优点:
支持的浏览器多,几乎支持所有的浏览器
缺点 :
1.需要开始selenium server服务。
1.为了防止恶意的javaScript,所有浏览器都加强了对javaScript的安全策略,所以有些场景selenium 1没法支持。
(浏览器由于安全问题不允许不同域之间的JS调用,而selenium1中的工作方式就是在宿主页面注入JS并且通过调用JS来执行测试操作的)
2.编程方式更偏向于面向过程,可能会导致项目中一大堆重复的方法
举例:
1.先开启server服务:
java -jar C:\Users\qiuwy\.m2\repository\org\seleniumhq\selenium\selenium-server\2.44.0\selenium-server-standalone-2.40.0.jar
2.支持测试
测试代码:
import org.junit.Test;
import com.thoughtworks.selenium.DefaultSelenium;
public class OpenBaiduBySelenium1 {
@Test
public void openbaiduSelenium1(){
//实例化selenium1对象;
//第一个参数是selenium服务器的主机名称或ip地址;第二个参数是服务器端口,默认是4444;
//第三个参数是加载对应的浏览器;第四个参数是起始url,浏览器会指向该url上的selenium资源(这个我也不是很明白)
DefaultSelenium selenium=new DefaultSelenium("localhost",4444,"*firefox","http://www.baidu.com");
//启动浏览器
selenium.start();
//在浏览器打开http://www.baidu.com
selenium.open("http://www.baidu.com");
//在百度搜索框输入“selenium”
selenium.type("id=kw", "selenium");
//点击“百度一下”按钮
selenium.click("id=su");
System.out.println(selenium.getTitle());
}
}

3.selenium 2(webdriver)
运行原理:通过原生浏览器支持或者是浏览器扩展直接控制浏览器
(原生浏览器是指火狐、IE、谷歌(Chrome)、Safari、Opera等这一类拥有完整独立内核的浏览器)
优点:
1.提供了一套友好的API,使得自动化测试代码的可读性和可维护性大大提高
2.相对selenium1来说,selenium2的运行速度快些。
3.可以驱动本地浏览器,从而确保测试的行为能够尽可能地接近于用户行为
4.能够绕过js限制
5.支持Android(AndroidDriver)和iPhone(iPhoneDriver)的移动应用测试。
6.还可以做无界面的前端自动化测试,HtmlDriver
缺点:
支持的浏览器少,firefox(FriefoxDriver),ie(InternetExploerDriver),opera(OperaDriver),chrome(ChromeDriver)
举例:
@Test
public void openBaiduByFirefoxDriver(){
WebDriver driver =new FirefoxDriver();
driver.get("http://www.baidu.com");
driver.findElement(By.id("kw")).sendKeys("HtmlUnit");;//在搜索输入框里输入"HtmlUnit"
driver.findElement(By.id("su")).click();//点击“百度一下”按钮
System.out.println("页面标题:"+driver.getTitle());
System.out.println("页面URL:"+driver.getCurrentUrl());//返回当前页面的URL
driver.close();
}
4.Selenium Grid
能够让测试用例在不同环境不同时间并行测试,从而提高测试效率。支持selenium 1和selenium2
后续再研究
简要总结selenium四个工具组的更多相关文章
- 【Selenium】软件测试基础(软件测试分类和工具组)firebug、firepath的安装
白盒测试:需要了解内部结构和代码 黑盒测试:不关心内部结构和代码 灰盒测试:介于白盒黑盒之间 静态测试:测试时不执行被测试软件 动态测试:测试时执行被测试软件 单元测试:测试软件的单元模块 集成测试: ...
- 软件测试基础(软件测试分类和工具组)firebug、firepath的安装
白盒测试:需要了解内部结构和代码 黑盒测试:不关心内部结构和代码 灰盒测试:介于白盒黑盒之间 静态测试:测试时不执行被测试软件 动态测试:测试时执行被测试软件 单元测试:测试软件的单元模块 集成测试: ...
- selenium 开启开发者工具(F12)
selenium 开启开发者工具(F12) options = webdriver.ChromeOptions(); options.add_argument("--auto-open-de ...
- Selenium浏览器自动化测试工具
目录 Selenium浏览器自动化测试工具 Selenium模块在爬虫中的使用 Python简单使用Selenium Selenium的基本操作 Selenium爬取动态加载的数据 Selenium动 ...
- Azylee.Utils 工具组
https://github.com/yuzhengyang/Fork Fork 是平时做 C# 软件的时候,整合各种轮子的一个工具项目,包括并不仅限于:各种常用数据处理方法,文件读写 加密 搜索,系 ...
- java selenium (四) 使用浏览器调试工具
在基于UI元素的自动化测试中, 无论是桌面的UI自动化测试,还是Web的UI自动化测试. 首先我们需要查找和识别UI元素. 在基于Web UI 自动化测试中, 测试人员需要了解HTML, CSS和 ...
- Selenium功能自动化测试工具
Selenium也是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操作一样.支持的浏览器包括IE.Mozilla Firefox.Mozilla Suite ...
- Java从零开始学二十四(集合工具类Collections)
一.Collections简介 在集合的应用开发中,集合的若干接口和若干个子类是最最常使用的,但是在JDK中提供了一种集合操作的工具类 —— Collections,可以直接通过此类方便的操作集合 二 ...
- selenium和AutoIt工具辅助下载和上传
上传 根据AutoIt Windows Info 所识别到的控件信息打开SciTE Script Editor编辑器,编写脚本. ;ControlFocus("title",&qu ...
随机推荐
- Sitecore 6.4 升级Sitecore 8.2.7准备
考虑Sitecore升级?尽管这可能是一项令人生畏的任务,但这三个技巧可以帮助您无缝地完成整个过程. 如果您当前正在运行较旧版本的Sitecore并希望升级到最新版本,那么您可能已经瞥了一眼说明,但却 ...
- Replication:The replication agent has not logged a progress message in 10 minutes.
打开Replication Monitor,在Subscription Watch List Tab中,发现有大量的status= “Performance critical” 的黄色Warning, ...
- [转] js async await 终极异步解决方案
阅读目录 回顾 Promise async await 字面理解 async.await 如何执行 await 操作符 总结 既然有了promise 为什么还要有async await ? 当然是pr ...
- jwt的简单使用
目录 简介 java版本 golang版本 简介 使用jwt对数据进行存储加密,分为java和golang版本. java版本 maven配置 <dependency> <group ...
- ffmpeg开发文档
libavcodec - 编码解码器 libavdevice - 输入输出设备的支持 libavfilter - 视音频滤镜支持 libavformat - 视音频等格式的解析 libavutil - ...
- Netty高性能原理和框架架构解析
1.引言 Netty 是一个广受欢迎的异步事件驱动的Java开源网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端. 本文基于 Netty 4.1 展开介绍相关理论模型,使用场景,基本组件 ...
- Go的运算符
1 算术运算符 运算符 术语 示例 结果 + 加 10 + 5 15 - 减 10 - 5 5 * 乘 10 * 5 50 / 除 10 / 5 2 % 取模(取余) 10 % 3 1 ++ 后自增, ...
- Vue--基础2
目录 Vue--基础2 vue成员获取 分隔符成员 计算属性成员 什么是计算属性 计算属性的用法 注意: 监听属性成员 组件 组件的介绍 组件的优点: 局部组件 全局组件 组件复用的数据隔离 组件之间 ...
- SAP HANA学习资料大全 Simple Finane + Simple Logisitic [非常完善的学习资料汇总]
Check out this SDN blog if you plan to write HANA Certification exam http://scn.sap.com/community/ha ...
- Beego 学习笔记一:环境的配置
Beego 环境的配置 1> 下载go,并安装.下载地址是: https://golang.org/dl/.最好选择这部分的最新的下载安装 2> 配置环境变量(若是没有配置 ...