【seleniumIDE】
一、Selenium特点:
1.支持多浏览器,例如:IE、firefox、safari、Chrome、Android等
2.支持多种语言,例如:java、python、C#、Ruby、php等
3.可跨平台测试,例如:windows、linux、ios、android等
4.开源免费,可以自行扩展插件。
二、基础知识:
1.介绍:selenium是一系列基于web的自动化测试工具,它提供了很多测试函数,用于支持web自动化测试,这些函数非常灵活,能够通过多种方式定位界面元素,并可以将预期结果和实际系统表现进行比较,达到模拟用户操作并验收的要求。
分为:
①selenium1(selenium-RC):最早的测试工具之一,能够支持多语言(javascript、ruby、php、python、ruby、c#)
②selenium2(selenium Webdriver):克服第一版本的局限性,包含了一套组织性更好更全面的面向对象的API,而且可移植性强,可以通过很少的修改移植第一版的代码,也提供向前兼容的接口。
③selenium Grid:多用于分布式和集群测试,需要在多台机器上同时执行测试时,可以使用该工具,特点主要是支持在不同环境中的并行运行,提高测试效率。
2.目的:即使经验在丰富的程序员,编码中也会出现问题,由软件生命周期上游到下游的概要分析,异常的原因:1.需求分析不明确。2.软件设计不合理。3.编码方式不规范。4.编写代码中失误。
无论是怎么样的错误,无论在什么周期里面发现的,若不及时处理,都会降低软件可靠性,严重时会影响整个软件的功能和流程。
3.为了排除这些错误,开始引入了软件测试的概念:
定义:通俗的说,软件测试是为了发现程序或文档中的错误而分析或者执行程序的过程。
4.模型:瀑布模型、V、W、H模型
5.分类:
①是否关心内部结构和具体具体实现方式分为:白盒、黑盒、灰盒测试。
②是否执行程序角度分为:静态和动态测试。
③按照关联软件生命周期分为:单元、集成、系统、验收测试。
④按照具体目标分为(常用):功能、性能、回归、安全、兼容性测试、安装测试。
6.自动化定义:通过计算机或者机器代替人进行软件测试的行为,统称自动化测试。
优点:节省人力、时间、硬件资源,提高测试效率。
缺点:
适合:
1.项目周期足够长:测试的脚本和维护,本身也是一种简易开发过程,需要较长时间的调试和维护。
2.软件需求已稳定:通常情况,软件第一到第三版之间不引入自动化测试的工作,因为第一版需求极其不稳定,还在不停地修复过程中;第二版收到市场考验后,会有大量的需求变更;第三版验收整个功能性能符合市场和用户预期后,才会稳定下来,可以根据具体情况考虑准备自动化测试相关内容。
3.自动化内容可复用:如果准备一个自动化测试脚本,复用性<5(自定义),则是在浪费人力成本。
4.特殊情况:大量时间和人力的测试点,也可以引入自动化相关概念进行测试。
三、定位。
Xpath定位信息:http://www.w3school.com.cn/xpath/xpath_syntax.asp
nodename:节点名下的所有子节点。
/:根节点,绝对路径的层级关系。比如/A/B,表示A下面的B元素
//:不管其位置的,相对路径的子节点,比如//book,表示所有的book子元素
.:选取当前节点。
..:选取当前节点的父节点。
@:选取属性。比如//@id,表示<A id="a"/>选取id=“a”的属性值a;比如//A[@id="a"],表示<A id="a"/>选取属性id=a的元素A
四、IDE命令
①Action(操作):该命令出错,将会中断脚本。
②Accessor(存储):...
③Assertion(断言):...