• 11
  • 11
分享
  • 通过Selenium实现Web自动化测试的研究——软件测试圈
  • TIMI 2022-01-20 10:47:46 字数 2212 阅读 1370 收藏 11

摘要本文对自动化测试概念发展演变过程进行了简要概述,结合业界流行工具Selenium以实例进行描述,以期达到理论结合实际效果,同时也便于读者理解和应用。

【关键词】Selenium WEB测试 自动化测试

随着大数据时代到来客户需求变化导致软件开发模型多样化,巨大的数据量和重复性的输入输出工作给手工测试带来了极大的困扰,特别在产品版本升级的回归测试,耗费大量人力物力。在此背景下,自动化测试理念和实践应运而生。并形成了先进基础理论和框架和众多工具,极大提高了测试效率。自动脚本不仅可用于单元测试,还可用于集成测试,进而进行整体功能测试。

1 自动化测试概念

1.1 定义

自动化测试是测试过程中仅需由测试者开发测试运行脚本,不需用户参与过程即可自动执行测试程序。所开发代码可以用于单元测试、功能测试,以及集成测试,从而完成整个系统的测试工作。总之,自动化测试的过程就是用代码测试源程序,指导测试过程,代替人工测试。

1.2 自动化测试发展阶段

1.2.1 简单录制回放阶段

利用工具录制对所需测试操作,执行脚本,实现自动化回放。

1.2.2 数据驱动阶段

使用实例作测试数据,采用专用格式存储和读取,在测试过程中调用不同测试数据及相关变量。

1.2.3 关键字驱动阶段

以数据驱动为基础,在测试工具提取出改进的测试用例:将数据与脚本分离,把内部元素和外部对象分离,从而也把测试描述与具体实现方式区分。

1.2.4 模型驱动阶段

通过不同测试场景设置相应条件,每一个模型对应一个测试场景。

1.3 自动化测试框架

它就是由多个自动化测试基本模块、管理模块及统计模块等所组成的工具集合。测试框架分为二类:Selenium等提供最基础的自动化功能测试模块,通过模拟鼠标键盘,点击或操作该页面中的测试元素,验证该元素属性是否正确,判定程序正确性;Robot等可提供自动化测试执行和管理模块,不提供基础支撑,仅用于组织管理和执行那些已有的测试用例。

2 自动化测试工具Selenium简介

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 具体测试过程

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数据项,并自动点击“登录”按钮,跳转至主页面。测试结果是“登录并跳转成功”,符合预期,测试通过。修改测试用例脚本,修改密码,再次运行时测试不通过。

4 总结

本文定义了自动化测试,回顾了发展历程,简棕了Selenium构成、工作原理及环境,结合实例列出过程。尽管自动化测试针对重复性测试工作,但是测试人员主要工作都用在编写、调试以及维护测试代码,以至偏离原有目标,故实践中,应正确认识自动化测试优缺点,将手工与自动有机结合达到最佳效益。


作者:何煌

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   一、简介  Fiddler是Web调试工具之一,它能记录所有客户端和服务器端的http和https请求,允许监视、设置断点、修改输入\输出数据。  测试中常使用的功能主要有:  1、对客户端发往服务端的请求及其响应进行分析  2、可以设置断点修改请求参数及返回  3、实现网络限速  4、设定规则对请求进行模拟  测试中主要使用了上述第一个功能点,故对此进行简介。  二、安装fiddler4  可通过官网进行下载并安装。  三、工作原理  Fiddler 是以代理web服务器的形式工作的,它使用代理地址:127.0.0.1,端口:8888。fiddler会自动给浏览器设置一个代理地址127....
            12 12 2566
            分享
          • 1、双击jmeter.bat文件,进入jmter界面,如下图;2、右击测试计划--添加--线程(用户)--线程组,添加一个线程组,如下图所示;3、右击线程组--添加--取样器--HTTP请求,添加一个HTTP请求,如下图所示4、根据给定的接口文档或者自己抓包获取的URL相关信息,填写以下信息:5、示例URL:https://baidu.gh.cn/baidu.service/LoginService/Login(此网址为错误网址,仅作举例使用)Request Method(请求方式): POSTjmeter内填写以下信息(如下图):协议:https服务器名称或IP:baidu.gh.cn路径:...
            0 0 5840
            分享
          •   测试江湖:不只是代码,还有情商!  嘿,测试朋友们,我是风落,一个在蚂蚁金服“混迹”的江湖人。今天,我想跟大家聊聊一个话题,一个可能你们平时不太注意,但绝对重要的话题——职场情商!  首先,我得自曝家门,说说我的“光辉历程”。我,一个从撸代码到当项目经理的全能工程师,经历过外包、国企、外企的风风雨雨,现在终于在互联网的大潮中找到了自己的位置。但你知道吗?除了技术,我还兼职当过“心理咨询师”,听过无数职场小白的心酸故事。  最近,我整理了一下大家的问题,发现除了技术难题,最多被问到的就是:“风落哥,我该如何在职场中立足,拿到高薪?”还有,“风落哥,我刚进公司,感觉融入不进去,怎么办?”哈哈,...
            0 0 738
            分享
          • 功能测试(Function test)输入正确的用户名和密码,点击提交按钮,验证是否能正确登录;输入错误的用户名或者密码, 验证登录会失败,并且提示相应的错误信息;登录成功后能否能否跳转到正确的页面;用户名和密码,如果太短或者太长,应该怎么处理;用户名和密码,中有特殊字符,和其他非英文的情况;记住用户名的功能;登陆失败后,不能记录密码的功能;用户名和密码前后有空格的处理;密码是否以星号显示;用户名和密码全不输入时和只输入某一项时的错误提示;登陆成功后是否在当前窗口打开页面。界面测试(UI Test)布局是否合理,2个testbox 和一个按钮是否对齐;testbox和按钮的长度,高度是否复合要...
            0 0 1477
            分享
          • 一、什么是冒烟测试?冒烟测试,是对软件的基本功能进行测试,测试对象是每一个新编译的需要正式测试的软件版本,目的是确认软件的基本功能正常,保证软件系统能正常跑起来,可以进行后续的正常测试工作的进行,如果最基本的测试都有问题了,就直接打回开发部了,所以正式交付的测试版本,必须先通过冒烟测试的考验冒烟测试只是一个测试活动,并不是一个测试阶段。也就是说冒烟测试贯穿于测试的人一个阶段。单元测试、集成测试、 系统测试里都会有冒烟测试。二、什么时候进行冒烟测试测试是测试人员确认软件存在bug的过程,此过程中不可避免是需要开发人员要不停的修改bug,那么常常会发现一个功能的改动,导致下一轮系统测试出现问题。即...
            1 0 1918
            分享
      • 51testing软件测试圈微信