目录
前言:
1 自动化测试概念
1.2 自动化测试发展阶段
2 自动化测试工具Selenium简介
3 具体测试过程
4 总结
Web自动化测试是Web应用程序测试的重要组成部分,它通过模拟实际用户行为,对Web应用程序进行自动化测试并检查其是否按预期工作。目前,Selenium是最流行的Web自动化测试工具之一,它可以模拟人为用户行为,比如点击按钮、填写表单等,并且支持多种编程语言的自动化脚本编写,如Java、Python、C#等。
1.1 定义
自动化测试是测试过程中仅需由测试者开发测试运行脚本,不需用户参与过程即可自动执行测试程序。所开发代码可以用于单元测试、功能测试,以及集成测试,从而完成整个系统的测试工作。总之,自动化测试的过程就是用代码测试源程序,指导测试过程,代替人工测试。
1.2.1 简单录制回放阶段
利用工具录制对所需测试操作,执行脚本,实现自动化回放。
1.2.2 数据驱动阶段
使用实例作测试数据,采用专用格式存储和读取,在测试过程中调用不同测试数据及相关变量。
1.2.3 关键字驱动阶段
以数据驱动为基础,在测试工具提取出改进的测试用例:将数据与脚本分离,把内部元素和外部对象分离,从而也把测试描述与具体实现方式区分。
1.2.4 模型驱动阶段
通过不同测试场景设置相应条件,每一个模型对应一个测试场景。
1.3 自动化测试框架
它就是由多个自动化测试基本模块、管理模块及统计模块等所组成的工具集合。测试框架分为二类:Selenium等提供最基础的自动化功能测试模块,通过模拟鼠标键盘,点击或操作该页面中的测试元素,验证该元素属性是否正确,判定程序正确性;Robot等可提供自动化测试执行和管理模块,不提供基础支撑,仅用于组织管理和执行那些已有的测试用例。
2.1 Selenium组成
Selenium由ThoughtWorks推出的开源测试工具,针对功能测试或验收测试中JUnit无法解决的测试问题,用户与Web系统交互时所需的回归测试、集成测试或冒烟测试。此工具支持多种浏览器,也支持各类编程语言。
它集成了WebDriver,提供支持在复杂页面中重新加载以及动态网页等不能处理的情况。最新的Selenium2.9.1由以下内容组成: IDE、Core、Remote Control以及Grid四大模块。
2.2 Selenium工作原理
Selenium具体的架构如下:
前端:Firfox、IE、Chrome平台运行的WebApp;
中间层:WebDriver;
后端:Java、Ruby、C#等客户端。
2.3 Selenium工作环境
开发环境:IDE使用Eclipse、NotePad等,开发语言可使用Java、C#;
运行环境:Selenium四大核心、Firefox等浏览器;
其它工具:部署:Ant;集成:Junit4、TestNG。
3.1 分析系统测试需求
以邮箱——用户登录为例,需求如下:
(1)系统帐号、登录密码正确与否;
(2)系统登录后是否有跳转页面;
(3)Session过时后有否提示重新登录;
(4)登录用户相关信息的验证。
3.2 测试用例
设计测试用例:
需求描述:登录账户、密码是否正确; 前置条件:处于登录界面
基本操作 1.输入账号密码;2.点击登录按钮;
用例01,Test001/123456 登录并跳转 匹配用例
用例02,Test001/654321 提示密码错 断言失败
3.3 录制测试过程
主要步骤:
(1)在Firefox添加Selenium IDE插件;
(2)Selenium IDE的Base URL输入访问地址并点击录制;
(3)登录页面输入账号、密码,点击登录按钮,进入主面;
(4)Selenium会自动记录并通过以下参数定位网页元素并而完成脚本录制:
open /
selectFrame login_frame
type id#u Test001
type id#p pw123456
clickAndWait id#login_button
备注:
Command:执行的操作 Target:操作对象 Value:输入值;
3.4 生成测试脚本
在Selenium IDE中,通过菜单 “Export TestCase As…”,选择“Java/ JUni t 4/ WebDriver”,将IDE与Selenium2.9相结合,完成IDE向Webdriver的Java脚本转化,可以生成Junit4框架文件。
3.5 执行并分析测试结果
编辑测试脚本后,在Eclipse运行,WebDriver会自动启动Firefox,在页面账号和密码处分别自动输入用例Test001数据项,并自动点击“登录”按钮,跳转至主页面。测试结果是“登录并跳转成功”,符合预期,测试通过。修改测试用例脚本,修改密码,再次运行时测试不通过。
本文定义了自动化测试,回顾了发展历程,简棕了Selenium构成、工作原理及环境,结合实例列出过程。尽管自动化测试针对重复性测试工作,但是测试人员主要工作都用在编写、调试以及维护测试代码,以至偏离原有目标,故实践中,应正确认识自动化测试优缺点,将手工与自动有机结合达到最佳效益。
作为一位过来人也是希望大家少走一些弯路,希望能对你带来帮助。(WEB自动化测试、app自动化测试、接口自动化测试、持续集成、自动化测试开发、大厂面试真题、简历模板等等),相信能使你更好的进步!
留【自动化测试】即可【自动化测试交流】:574737577(备注ccc)http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=hyGITtX0cD6EN96WzR_d5b1qRSZ-Dpyy&authKey=76TmCzaAQ%2BOwLn6umFFZeVxKheSwyaUVwymd%2FRvdARY6cvCSCgZ1qOSe3w%2Bsh61f&noverify=0&group_code=574737577