禅道与selenium自动化测试工具

一、禅道

1.禅道是什么工具?

禅道是一款项目管理工具,可以管理整个软件开发的生命周期。
软件开发的生命周期:
需求分析——计划——设计——编码——测试——运行维护

而我们作为测试人员,对于一个软件的开发,是介于测试阶段。有:对测试用例的管理,对BUG进行管理(创建,设置状态:解决,关闭),报表统计(测试用例,BUG的情况)。

禅道的工作流程:
产品经理:创建需求,创建计划(添加需求),版本管理。
项目经理:管理项目(迭代),关联产品,管理需求,分配任务,管理团队。
开发人员:记录任务的执行状态,管理指向自己的BUG状态
测试人员:管理测试过程,创建测试用例,创建BUG

对于禅道的操作,可以自己当admin去尝试使用,功能还是很丰富的。

二、selenium

1.什么是自动化测试?

按照设定好的条件或者步骤让机器自动运行。

2.自动化测试工具(为什么要选择selenium工具)

QTP(quick Test Professional),它是HP公司的,功能强大,但是安装包很大,并且收费。

jmeter 是一个开源工具,它一般用于性能测试、接口测试,但是没办法用于UI测试。

appium 是 手机app自动化测试工具,阿里的macaca monkey与它很相似。

因此对比于上面的自动化测试工具,我们为什么要选择selenium?
selenium是做UI自动化的,并且它是免费的,支持多语言(java,C#,ruby,Python,JavaScript) ,多平台(Windows,Mac),多浏览器(Chrome,FireFox,edge,Opera,IE,Safari)

3.自动化测试的分类

UI自动化测试:在项目稳定、界面稳定的情况下才需要做UI自动化测试,UI自动化测试的介入是在项目后期才做的,不足之处是:用例的维护量大,因为要满足不同的用户的需求。

接口自动化:项目前期就可以去介入,测试用例的维护量少。并且要在接口稳定的情况下才进行接口自动化测试。

性能自动化测试:这个一定要用自动化测试工具,不然人为无法测。如:jmeter。

4.自动化测试的优势

降低大型系统的由于变更或者多期开发引起的大量的回归测试的人力投入,这可能是自动化测试最主要的任务,特别是在程序修改比较频繁时,效果是非常明显的,自动化测试前期人力投入较多,但后期进入维护期后,可节省大量人力,而手工测试后期需要增加大量人力用于回归测试。

减少重复测试的时间,实现快速回归测试
创建优良可靠的测试过程,减少人为错误
可以运行更多更繁琐的测试
可以执行一些手工测试困难或不可能进行的测试
更好的利用资源
测试具有一致性和重复性
测试脚本的重用性

5.什么项目不适合用自动化测试?

需求变动频繁的项目,项目周期短,人工交互比较强的项目无法做自动化测试。

6.什么是selenium?

6.1 Selenium1.0

selenium实际上是一个工具集,包括selenium1.0和selenium2.0。

selenium1.0是用javascript写的,是由Jason Hugguis写的。

selenium1.0包括:selenium IDE (自动化脚本录制工具)、selenium GRID(分布式测试,能把脚本覆盖在不同的机器上执行)、selenium RC

selenium RC中内容:
在这里插入图片描述
selenium RC 的工作原理:
首先,先使用语言来写出不同的自动化脚本,脚本与Selenium Server建立连接,连接后就去控制Selenium Server这个服务器,Selenium Server中的Launcher就启动相应驱动的浏览器,接着浏览器就会把Selenium Core 嵌入浏览器中,再将Http Provy设置为这个浏览器的代理。
因为脚本会发送一些请求,通过Http Provy这个代理向远程服务器(Web Server)发送请求,远程服务器就会去整合该请求,然后去控制浏览器去展示。
在操作浏览器时,会重新发送些请求,浏览器发送的请求也会给到Http Provy,Http Provy再把请求给到远程服务器,再获取相应的响应。
在这里插入图片描述

6.1.1 Selenium IDE 的使用

在谷歌浏览器中,下载该扩展程序需要接入外网,会很麻烦,因此不太可取。而火狐浏览器中就可以直接下载该扩展程序,并且能够使用。
在这里插入图片描述
这里创建一个新的项目后,点击右上角的圈开始录制:
在这里插入图片描述
点击后就会让你输入一个基础的地址,即从哪里开始录制:
在这里插入图片描述
输入基础地址后,如:https://www.baidu.com/ ,就会弹出百度的网页,此时就是开始录制了,假设搜一个“蔡徐坤”,搜完后再回Selenium IDE点击右上角的暂停按钮:
在这里插入图片描述
点击右上角的暂停按钮后,可以点击左上角的开始,它的作用是将刚才你操作的过程转化为脚本后,运行脚本来重复你的演示过程。

接着我们可以将脚本导出,右键:
在这里插入图片描述
导出的脚本可以在pyCharm中运行。

6.2 Selenium2.0

Selenium2.0在Selenium1.0的基础上添加了webdriver,它是一个浏览器驱动,能够根据不同浏览器进行定制。它的好处是绕过了Selenium1.0用JavaScript写的导致的沙箱问题。

沙箱问题及Selenium2.0作出的处理:
沙箱概念:
1、沙箱在js中就是一段代码,使用的都是自己内部的属性和方法
2、在运行过程中,是运行在一个隔离的环境中,不会被其他外部程序影响
比如我们的浏览器打开的两个页签(aTab,Btab),其中aTab,Btab就属于两个沙箱。

Selenium2.0解决了沙箱问题的原因:
Selenium1.0是往页面中注入js来实现的页面元素操作,这个时候就可能导致你注入的js和人家页面里本身的js冲突
Selenium2.0是通过创建WebDriver,利用浏览器提供的api来操作了,这个时候就不存在上面的冲突问题了,隔离性更好了

6.2.1 webdriver的原理

可以把webdriver和用例理解为是司机和乘客,而浏览器就是车。
webdriver就根据用例去执行的,接着就开车(在浏览器)中进行操作。
下图就是上面的例子:
在这里插入图片描述
真正的例子:
在这里插入图片描述

  • 17
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 13
    评论
ZenTaoATF是由禅道开发团队开发的自动化测试框架,它只有一个脚本文件,可以支持各种脚本语言编写的自动化测试脚本,语法简单,使用灵活,后续会和禅道项目管理软件进行绑定和集成。 它的基本工作原理如下: 首先,你需要写一个测试脚本来实现你正常的测试逻辑。现在支持php, python, ruby, lua, tcl, bash。 这个测试脚本里面按照自己所测程序的业务逻辑编写,比如链接数据库,查询某一个记录等等。 然后通过注释的方式为这个测试脚本写上基本的用例信息:标题,步骤和预期结果,采用的是yaml语法格式。 << title: helloworld. expect: helloworld. TC 然后执行zt脚本,zt脚本会扫描当前目录下面的带有用例标志的脚本,然后调用执行,得出每个脚本的实际输出,然后和用例里面事先记录好的预期结果进行比对,如果相匹配,则成功,如果失败,则计算diff信息。 相比较于其他的自动化测试框架或者单元测试框架来将,ZenTaoATF的主要特点如下: 1. 简单 1.1 程序简单 整个自动化测试框架只有一个zt文件,使用php开发,安装和运行都非常的方便。 1.2 语法简单 ZenTaoATF的语法只有简单的标题,步骤,预期结果,采用yaml格式,撰写比较方便,可读性也很好。 2. 跨语言 ZenTaoATF框架本身是使用PHP开发的,但它支持各种各样的脚本语言,比如python, ruby, lua, tcl, bash, bat等。 3. 跨平台 ZenTaoATF可以运行在各个平台下面。(现在暂时只支持linux,windows1.1版本加入) 4. 和禅道项目管理软件集成后续版本我们会和禅道开源项目管理软件进行集成和绑定,脚本和用例可以做到有机的结合。 下载地址:https://github.com/easysoft/zentaoatf/archive/zentaoatf.1.0.20130318.zip 项目地址:https://github.com/easysoft/zentaoatf/如何安装:1. 现在zentaoatf暂时只支持linux和bsd系统,请先安装好php的运行环境。 2. 下载zentaoatf包,将其解压缩到一个目录。 3. 解压缩之后,有一个zt的php脚本。使用命令chmod a rx zt 给它增加可执行权限。 4. 为了后面方便使用,可以考虑将zt这个脚本拷贝到/usr/local/bin目录下面。如何运行:  1. 下载zentaoatf包之后,里面有两个目录,一个是基本的语法,一个是各种脚本语言的格式。 2. 可以在这个目录下面执行执行 zt,就可以运行自动化测试脚本。执行的效果如下: 标签:ZenTaoATF  自动化测试
大家好,禅道自动化测试框架1.2版本发布了。该版本增加了多语言的支持、windows下面增加了ruby, lua, perl, python等常见脚本的支持,并调整了临时目录的位置和日志的格式。 一、关于ZenTaoATF框架 禅道自动化测试框架是由禅道开发团队推出的一款自动化测试框架,只有一个文件,使用简单,灵活,可以适用于命令行、接口和B/S结构应用的自动化测试。将来会和禅道项目管理软件做深度的集成。    请参考:http://www.zentao.net/article-view-79773.html 二、此次版本改动记录  2.1 增加了多语言的支持 当首次执行的时候,zt脚本会提示你选择喜欢的语言,如果是中文的话,还可以选择适用的编码。当选好之后,后面的语言提示就使用中文了。   2.2 windows下面增加了对perl, lua, ruby, tcl等常见脚本的支持 在windows下面执行的时候,如果检测到没有设置解释程序的脚本的时候,会提示你来设置该种脚本的解释程序。 2.3 windows下面调整了临时目录和日志文件的格式 windows下面临时目录放在zt脚本所在的目录下面,并且日志格式保存的时候也存成了dos格式,方便阅读。 三、下载地址 3.1 源码包 http://sourceforge.net/projects/zentaoatf/files/1.2/ZenTaoATF.1.2.zip/download 3.2 windows环境  http://sourceforge.net/projects/zentaoatf/files/1.2/ZenTaoATF.1.2.win.zip/download 源码包需要您的机器上自己安装php命令行的执行环境。windows环境内置了一个php可执行文件,解压缩到一个不含空格的目录,直接执行zt.bat即可查看效果。 四、下个版本的计划 4.1 完善atf的命令行参数。 4.2 完善atf随机的帮助文档。 4.3 和禅道软件进行绑定和集成。 4.4 实现测试步骤的自动提取功能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zjruiiiiii

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值