一、selenium工具介绍
1、定义:浏览器自动化测试框架,主要用于web应用程序的自动化测试,同时支持所有基于web的任务管理自动化
2、特点:1)开源、免费
2)多浏览器支持:Chrome、Firefox、IE、Opera
3)多平台支持:Windows、Linux、Mac
4)多语言支持:Java、Python、ruby、PHP、JavaScript
5)对web页面有良好的支持
6)简单(API简单)、灵活(开发语言驱动)
7)支持分布式测试用例
3、selenium经历了两个版本selenium 1.0和selenium 2.0,由几个工具组成,每个工具都有其特点和应用场景
1)selenium 1.0 分为3个工具
selenium IDE
selenium Grid
selenium RC-----client
server----launcher
http proxy
core
selenium IDE
是嵌入到Firefox浏览器中的一个插件,实现浏览器操作的简单的录制和回放
应用场景:快速的创建bug重现脚本,测试过程中,发现了bug,可以通过IDE将重现的bug录制下来,以帮助开发人员更容易的重现bug
IDE录制的脚本可以转换成多种语言,从而帮助我们更快速的开发脚本
selenium Grid
是一种自动化的辅助测试工具,Grid通过现有的计算机基础设施能加快web-app的功能测试。
利用Grid,可以很方便的同时在多台机器和异构环境中并行运行多个测试案例
特点:1)并行执行
2)通过一个主机控制用例在不同环境、不同浏览器下运行
3)灵活添加变动测试机
selenium RC(remote control)是selenium家族的核心工具,selenium RC支持多种不同编程语言编写自动化脚本,通过selenium的服务器作为代理服务器去访问应用从而实现测试的目的
组成:分为client libraries和selenium server
client libraries库主要用来编写测试脚本,用来控制selenium server的库
selenium server负责控制浏览器行为
selenium server组成:分为3个部分launcher、http proxy、core
selenium core是被selenium server嵌入到浏览器页面的。
seleniumcore其实就是一堆js函数的集合
通过这些js函数,我们才能实现用程序对浏览器进行操作
launcher用于启动浏览器,把selenium core加载到浏览器页面上,并把浏览器的代理服务器设置为selenium server的http proxy
2)selenium 2.0
在selenium 1.0的基础上加上webdriver,就是selenium 2.0
webdriver是selenium RC的替代品,为了向下兼容性,RC还可以使用
两者区别:selenium RC在浏览器中运行JavaScript应用,使用浏览器内置的JavaScript翻译器来翻译和执行selenese命令(selenese是selenium 命令集合)
webdriver通过原生浏览器支持或浏览器扩展直接控制浏览器,webdriver针对各浏览器开发,取代了嵌入到各浏览器中的JavaScript。与浏览器的紧密结合,避免了JavaScript安全模型导致的限制
二、前端技术介绍
1.HTML简介
HTML(hyper text markup language)超文本标记语言,HTML是网页的基础,并不是一种编程语言,而是一种标记语言(一套标记标签),可以在HTML中嵌入各种前端脚本语言,如VBscript、JavaScript等。
简单的HTML页面:
<html>
<title>标题</title>
<body>
<h1>正文</h1>
</body>
</html>
<html></html>之间的文本用于描述网页
<title></title>之间的内容显示在浏览器标题栏,收藏时看到的标题
<body></body>之间的内容是可见的文本内容
<h1></h1>之间的文本被显示为正文,h1表示为页面的一号字体
2.JavaScript简介
1)是一种前端脚本语言
2)是一种解释性语言(不需要预编译)
3)被设计用来向HTML页面添加交互行为,通常被直接嵌入到HTML页面中
4)如果要在HTML页面中使用JavaScript,需要添加标签,同时使用type属性来定义脚本语言
5)简单的js
<html>
<body>
<scirpt type ="txt/script">
document.write("hello world")
</script>
</body>
</html>
通过<script type="hello world">和</script>就可以告诉浏览器JavaScript 脚本从何处开始,到何处结束。使用document.write() 可以向文档输出写内容。
3.xml简介
1)XML和HTML区别
XML 是指扩展标记语言,是标准通用标记语言的一个子集;
与HTML 类似,但它并非HTML 的替代品,它们为不同的目的而设计;
HTML被设计用来显示数据,其焦点是数据的外观。
XML 被设计为传输和存储数据,其焦点是数据的内容。
2)简单的XML:
<?xml version="1.0"?>一个应该包含XML 的声明,它定义了XML 文档的版本号。
<note></note>定义了文档里的第一个元素,也叫根元素。
XML 允许自定义标签
前端学习网站:w3c、菜鸟教程等等
三、前端工具介绍
1.FireBug
FireBug 是FireFox 浏览器下的一套开发类插件。
它集HTML查看和编辑、Javascript 控制台、网络状况监视器、cookie 查看于一体,是开发JavaScript、CSS、HTML和Ajax 的得力助手。
我们可以通过他方便的查看页面上的元素,从而根据其属性进行定位
安装方式:firefox 浏览器的菜单栏中选择tools(工具)
--->add-ons Manage(r 添加组件),搜索 FireBug ;对有对搜索到的插件点击安装,再次重启浏览器即可使用。
2.FirePath
FirePath 是FireBug 插件扩展的一个开发工具,用来编辑、检查和生成的XPath 1.0 表达式、CSS 3选择器以及jQuery 选择器。可以快速度的帮助我们通过xPath 和CSS 来定位页面上的元素。
3.chrome 和IE 的开发人员工具
1)chrome 和IE 浏览器同样也提供了类似FireBug 的开发人员工具,可以帮助我们定位页面元素。
2)chrome 浏览器默认自带chrome 开发者工具,浏览器右上角的小扳手,在下拉菜单中选择“工具”--“开发者工具”即可打开,更为快捷的是通过Ctrl+Shift+I 或F12 打开。
3)IE 浏览器从IE8 版本开始,加入了开发人员工具,使用它也非常方便,通过菜单栏“工具”---“开发人员工具”或者通过快捷键F12 即可打开。
它提提供了浏览器的兼容模式,我们可以选择浏览器模式切换到IE7 模式,IE 9/10 同样提供向下兼容模式到IE7 ,有助于测试IE 浏览器的兼容性。
以上总结来源于《selenium2自动化实战》