一、目标
1、涉及技术
a、html标签
b、css样式
c、java-面向对象的思想:继承、多态、封装
d、seleniumAPI(API:应用程序编程接口)
e、TestNG(执行测试用例)
f、maven/Ant(自动构建项目、发布项目)
2、目标
web项目---selenium---独立功能脚本+业务流程脚本+框架搭建与使用
二、项目流程与测试阶段划分
1、需求:需求评审
a、静态测试
2、设计:技术评审
a、静态测试
3、编程:开发编程
a、静态测试
1)代码走查
b、动态测试
1)单元测试 独立功能的代码
2)集成测试 模块间、功能之间相互调用
3)系统测试 功能、非功能、接口
三、分层自动化测试
1、国外
a、自动化单元测试 70%
b、自动化接口测试 20%
c、UI自动化测试 10%
2、国内
a、自动化单元测试 10%
b、自动化接口测试 20%
c、UI自动化测试 70%
四、UI自动化测试的前提
1、手工测试已通过
2、需求稳定
3、脚本可以复用
4、产品、项目周期长
五、selenium工作原理
1、selenium是什么?
a、它是一款自动化测试工具,主要用来做回归测试、验收测试
b、是thoughtworks公司的
2、selenium版本
a、selenium1.0
1)selenium-RC:
将各种语言编写的文件传给selenium-RC
2)selenium-Core:
然后使用selenium-Core的JavaScript命令传递给浏览器,实现对浏览器的各种操作
b、selenium2.0
1)包含selenium1.0的所有功能
2)webdriver:
使用脚本语言---web驱动---调用浏览器---测试应用程序
3、自动化测试工具
a、selenium与QTP区别
b、selenium是开源免费的,QTP是商业版
c、selenium支持java/Python/ruby/php/Perl等,QTP早期的版本只支持vbs
d、selenium支持各种主流的浏览器,QTP不支持Firefox和chrome
e、selenium适用于多系统,而QTP只支持Windows
f、QTP需要与ALM集成,而selenium不需要
g、selenium只能做浏览器测试,QTP则都可以
4、selenium脚本语言如何选择?
a、项目要求,被测试项目的开发语言
b、自动化测试框架的需要
c、取决于测试人员的技术水平
d、插件的支持情况
5、selenium需要的组件
a、selenium-IDE:
1)集成开发环境
b、selenium-Core:
1)核心,最基础的代码
c、selenium-Remote Control:
1)远程控制
d、seleniumAPI:
1)应用程序编程接口
e、selenium WebDriver:
1)web驱动
f、seleniumGrid:
1)提供运行脚本的环境
6、selenium-IDE的使用
a、火狐浏览器
1)安装时,去掉维护更新
2)安装完,打开菜单---选项---高级---更新---不检查更新---确定
b、安装Firefox插件
1)安装selenium-IDE
2)安装firebug
3)步骤:
S1:打开火狐浏览器---打开菜单---附加组件---扩展
S2:直接拖拽插件到浏览器中
a)点击“立即安装”
b)提示“重启浏览器”
S3:一次性重启浏览器
c、安装海盗商城
1)phpwind-new.rar解压到一个非中文的路径:
a)生成一个phpfind文件夹
2)进入解压目录,点击“phpFind.exe”启动两个服务:
a)服务器:
Nginx:
绿色表示成功
标红解决方法:选择其他选项---环境端口检测---检查端口---尝试强制关闭相关进程并启动---服务启动成功后,直接访问网页
3)访问:
前台:http://localhost 用户名:dongfbb 密码123456
后台:http://localhost/index.php?m=admin&c=public&a=longin 用户名:admin 密码:password
d、常见的一些问题
1)首次使用IDE,当回放脚本时,会有一个弹窗提示:
选择:允许加载
2)脚本录制不全,可以补录
把脚本里面前面的步骤执行到某个点,打开IDE上的录制按钮,继续录制即可,录完关闭按钮
3)单步执行通过,连着执行标红
加上时间等待:pause 5000 表示5s
4)打开页面如果输入框有默认数据,如用户名密码
清除之前保存密码的记录:工具---选项---安全---“记住网站密码”去掉勾选,同时清除缓存:Ctrl+shift+delete
5)页面发生跳转(新窗口)
需要修改selectWindows:title=新页面的标题
6)重复执行脚本,提示信息已存在,如:注册
a)到后台把注册成功的用户删除
数据库里删除
网站后台删除
b)修改脚本里的测试数据,如把用户改成不同的
7)回放脚本时:
把火狐浏览器打开
8)调试脚本时用的网页必须是自己重新打开的网页,不是运行脚本打开的页面
e、页面介绍
1)执行速度:
fast/slow
2)运行所有的测试用例集:
play entire test suite
3)运行当前的测试用例:
play current test case
4)在上方插入命令:
insert new command
5)设置断点:
toggle breakpoint
6)从当前点开始执行:
set/clear start point
7)单步执行:
execute this command
8)定位元素、查找元素:
select:定位元素
find:确认是否定位准确
7、小结
a、元素定位的方法
1)name
2)link
3)id
4)css
5)XPath
6)class
7)tagName
8)partialLink
b、断言
1)assertElementPresent:
断言元素存在
2)verifyElementPresent:
校验元素存在
3)waitforElementPresent:
等待+断言
4)clickandwait:
点击并等待
5)verifyTitle:
校验标题
6)assertTitle:
断言标题
7)verifytextpresent:
校验文本存在
8)asserttextpresent:
断言文本存在
1、涉及技术
a、html标签
b、css样式
c、java-面向对象的思想:继承、多态、封装
d、seleniumAPI(API:应用程序编程接口)
e、TestNG(执行测试用例)
f、maven/Ant(自动构建项目、发布项目)
2、目标
web项目---selenium---独立功能脚本+业务流程脚本+框架搭建与使用
二、项目流程与测试阶段划分
1、需求:需求评审
a、静态测试
2、设计:技术评审
a、静态测试
3、编程:开发编程
a、静态测试
1)代码走查
b、动态测试
1)单元测试 独立功能的代码
2)集成测试 模块间、功能之间相互调用
3)系统测试 功能、非功能、接口
三、分层自动化测试
1、国外
a、自动化单元测试 70%
b、自动化接口测试 20%
c、UI自动化测试 10%
2、国内
a、自动化单元测试 10%
b、自动化接口测试 20%
c、UI自动化测试 70%
四、UI自动化测试的前提
1、手工测试已通过
2、需求稳定
3、脚本可以复用
4、产品、项目周期长
五、selenium工作原理
1、selenium是什么?
a、它是一款自动化测试工具,主要用来做回归测试、验收测试
b、是thoughtworks公司的
2、selenium版本
a、selenium1.0
1)selenium-RC:
将各种语言编写的文件传给selenium-RC
2)selenium-Core:
然后使用selenium-Core的JavaScript命令传递给浏览器,实现对浏览器的各种操作
b、selenium2.0
1)包含selenium1.0的所有功能
2)webdriver:
使用脚本语言---web驱动---调用浏览器---测试应用程序
3、自动化测试工具
a、selenium与QTP区别
b、selenium是开源免费的,QTP是商业版
c、selenium支持java/Python/ruby/php/Perl等,QTP早期的版本只支持vbs
d、selenium支持各种主流的浏览器,QTP不支持Firefox和chrome
e、selenium适用于多系统,而QTP只支持Windows
f、QTP需要与ALM集成,而selenium不需要
g、selenium只能做浏览器测试,QTP则都可以
4、selenium脚本语言如何选择?
a、项目要求,被测试项目的开发语言
b、自动化测试框架的需要
c、取决于测试人员的技术水平
d、插件的支持情况
5、selenium需要的组件
a、selenium-IDE:
1)集成开发环境
b、selenium-Core:
1)核心,最基础的代码
c、selenium-Remote Control:
1)远程控制
d、seleniumAPI:
1)应用程序编程接口
e、selenium WebDriver:
1)web驱动
f、seleniumGrid:
1)提供运行脚本的环境
6、selenium-IDE的使用
a、火狐浏览器
1)安装时,去掉维护更新
2)安装完,打开菜单---选项---高级---更新---不检查更新---确定
b、安装Firefox插件
1)安装selenium-IDE
2)安装firebug
3)步骤:
S1:打开火狐浏览器---打开菜单---附加组件---扩展
S2:直接拖拽插件到浏览器中
a)点击“立即安装”
b)提示“重启浏览器”
S3:一次性重启浏览器
c、安装海盗商城
1)phpwind-new.rar解压到一个非中文的路径:
a)生成一个phpfind文件夹
2)进入解压目录,点击“phpFind.exe”启动两个服务:
a)服务器:
Nginx:
绿色表示成功
标红解决方法:选择其他选项---环境端口检测---检查端口---尝试强制关闭相关进程并启动---服务启动成功后,直接访问网页
3)访问:
前台:http://localhost 用户名:dongfbb 密码123456
后台:http://localhost/index.php?m=admin&c=public&a=longin 用户名:admin 密码:password
d、常见的一些问题
1)首次使用IDE,当回放脚本时,会有一个弹窗提示:
选择:允许加载
2)脚本录制不全,可以补录
把脚本里面前面的步骤执行到某个点,打开IDE上的录制按钮,继续录制即可,录完关闭按钮
3)单步执行通过,连着执行标红
加上时间等待:pause 5000 表示5s
4)打开页面如果输入框有默认数据,如用户名密码
清除之前保存密码的记录:工具---选项---安全---“记住网站密码”去掉勾选,同时清除缓存:Ctrl+shift+delete
5)页面发生跳转(新窗口)
需要修改selectWindows:title=新页面的标题
6)重复执行脚本,提示信息已存在,如:注册
a)到后台把注册成功的用户删除
数据库里删除
网站后台删除
b)修改脚本里的测试数据,如把用户改成不同的
7)回放脚本时:
把火狐浏览器打开
8)调试脚本时用的网页必须是自己重新打开的网页,不是运行脚本打开的页面
e、页面介绍
1)执行速度:
fast/slow
2)运行所有的测试用例集:
play entire test suite
3)运行当前的测试用例:
play current test case
4)在上方插入命令:
insert new command
5)设置断点:
toggle breakpoint
6)从当前点开始执行:
set/clear start point
7)单步执行:
execute this command
8)定位元素、查找元素:
select:定位元素
find:确认是否定位准确
7、小结
a、元素定位的方法
1)name
2)link
3)id
4)css
5)XPath
6)class
7)tagName
8)partialLink
b、断言
1)assertElementPresent:
断言元素存在
2)verifyElementPresent:
校验元素存在
3)waitforElementPresent:
等待+断言
4)clickandwait:
点击并等待
5)verifyTitle:
校验标题
6)assertTitle:
断言标题
7)verifytextpresent:
校验文本存在
8)asserttextpresent:
断言文本存在