5.项目管理(测试)工具

目录

一、禅道

1.为什么需要禅道?(仅从测试角度看)

2.管理工具的对比

3.禅道的设计理念

4.软件开发的生命周期有哪些?(软件开发的流程)

二、selenium

1、什么是自动化测试?

2.UI自动化的好处

3.自动化框架

4.webdiver原理

5.selenium IDE

三、学习写一个自动化测试脚本

1.定位元素的方式

1.查看Id

2.查看xpath:

3.css_selector

 2.操作测试对象

3.等待

4.信息打印

5.对浏览器的操作

6.键盘事件


一、禅道

项目软件管理工具,可以管理整个软件开发的生命周期。

1.为什么需要禅道?(仅从测试角度看)

(1)管理测试用例

(2)管理Bug和Bug的各种状态

(3)管理测试的整个过程(状态)

(4)自动生成测试报告

2.管理工具的对比

QC/CQ  商业版本

jira   管理整个项目周期 商业版本

TsetLink   开源  只管理测试用例  比较局限

Bugzilla   只管理bug的生命周期

禅道   开源版   可以管理软件整个开发流程,即软件测试的流程

3.禅道的设计理念

敏捷开发模型

禅道的使用者:产品经理  项目经理    开发人员     测试人员    系统管理员

不同的角色拥有的权限不一样

4.软件开发的生命周期有哪些?(软件开发的流程)

需求阶段——计划阶段——设计阶段——编码——测试——发布阶段

二、selenium

1、什么是自动化测试?

自动化的价值:脚本的复用率。复用率越高,价值越大

在预设条件(自动化脚本)下运行系统,预设的条件包括正常的和异常的情况,不需要手工去干预,机器就可以去执行

越往下,测试效率越高,定位问题越容易。主要精力放在单元测试自动化。

(1)单元测试

Java Junit(白盒测试)   适用于项目比较庞大的系统,Spring +Structs +数据库hibernate。

如果用main方法进行测试,就需要把整个项目启动起来。

使用Junit就非常方便

(2)接口测试

测试时间:项目前期接口开发完成,就可以开始进行测试

用例维护量:比较少

适合的项目:接口变动较少的项目

(3)UI自动化

对系统的界面元素进行操作,用脚本模拟用户的使用,完成功能的正常和异常测试。

测试时间段:项目后期,前后端的开发和调联后

用例维护量:比较大

适合的项目:界面元素变动比较小的项目

2.UI自动化的好处

(1)可以进行回归测试

(2)节约了资源(人力资源)

(3)是一种可靠的测试方式,因为机器不会出错

(4)可以完成很多繁琐的测试(比如测试过程一直,每次输入的数据不同,ddt)

(5)能够完成手工测试无法完成的测试用例(精准计时)

(6)脚本的复用性(复用性越大,价值越高)

3.自动化框架

Robot Framework 关键字驱动,底层实现语言是Python

Django 接口  使用Python

selenimu  unittest框架  Python

为什么选择selenimu?  免费   小巧  易安装

支持多语言:Java、C#、Python、C、JavaScript

支持多平台:Windows、MAC、Linux

支持多浏览器:Chrome、Edge、Firefox、Safair

多浏览器、多平台的好处:进行兼容性测试

支持分布式测试:selenimu Grid

4.webdiver原理

(1)运行脚本,会把浏览器绑定到一个端口,这个端口就是浏览器端的remote server

(2)脚本通过commandexecutor向浏览器(server)发送HTTP请求,控制浏览器进行一系列的操作

(3)server接受到请求之后,把web service命令转化为浏览器的native指令,去操作浏览器

5.selenium IDE

一个录制自动化脚本的工具

 Firefox无需翻墙,在扩展和主题下载selenium IDE

三、学习写一个自动化测试脚本

1.定位元素的方式

不管用什么方式定位,这个方式(tag_name,name,id等)必须全局唯一

(1)id如果存在,可以全局唯一定位一个元素

(2)name存在并且全局唯一才可以定位

(3)class name存在并且全局唯一才可以定位

(4)link text必须是链接,并且链接内容全局唯一,才可以定位(a标签的全部文本内容)

(5)partical link text必须是链接,并且链接内容全局唯一,才可以定位(a标签的部分文本内容,可模糊匹配)

(6)tag name必须是全局唯一才可以定位

(7)xpath任何一个元素都可以定位到

(8)css selector

1.查看Id

 在搜索框右击,点击查看,定位id=kw

 编写自动化测试脚本:

import time
from selenium import webdriver

driver = webdriver.Chrome() # 启动浏览器
driver.get("https://www.baidu.com") # 打开某个网址
time.sleep(3)
#通过id来定位,id全局唯一,可以唯一定位一个元素
driver.find_element_by_id("kw").send_keys("西游记")
time.sleep(3)
driver.find_element_by_id("su").click()
time.sleep(3)
driver.quit()   # 关闭浏览器

2.查看xpath:

 driver.find_element_by_xpath("//*[@id='kw']").send_keys("喜羊羊")

注意:复制过来xpath的"kw",需要将双引号,改为单引号

3.css_selector

 2.操作测试对象

(1)send_keys()向元素发送信息

(2)click()               点击元素

(3)submit   提交表单(html中必须写了submit才可以)

(4)clear      清除元素中的内容

(5)text       获取文本的内容

3.等待

如果不使用等待语句,直接进行跳转,会报错。推荐使用智能等待。

(1)固定等待 

time.sleep(5)    //真的需要等待5s,才能找到元素,跳转新页面

(2)智能(隐式)等待

driver.implicitly_wait(5)   //不需要真正等5s,只要找到页面上的元素就可以立即跳转页面

4.信息打印

(1)打印title

(2)打印URL

driver.maximize_window()  #窗口最大化
title = driver.title
print(title)

url = driver.current_url
print(url)

5.对浏览器的操作

(1)浏览器的最大化

driver.maximize_window()

(2)设置浏览器的宽和高

driver.set_window_size(400,1000)

(3)浏览器前进和后退

后退: driver.back()

前进: driver.forward()

(4)浏览器滚动条的控制

将滚动条拉倒最底端:

var q = document.documentElement.scrollTop=10000"  #(scrollTop距离最顶端有多远),

driver.execute_script(js0)

将滚动条拉倒最顶端:

js1 = "var q=document.documentElement.scrollTop=0"
driver.execute_script(js1)

6.键盘事件

所有的键盘操作,必须建立在定位到元素的基础上,因为我们是基于元素进行操作

导入工具包:from selenium.webdriver.common.keys import Keys

Keys.TAB    从本行换下一行

Keys.ENTER

组合键:

     导入工具包:from selenium.webdriver.common.action_chains import ActionChains

     send_keys(Keys.CONTROL, 'a')     # ctrl + a  全选

     send_keys(Keys.CONTROL, 'x')     # ctrl + x   删除

右击和双击的前提是先定位元素

b = driver.find_element_by_id("su")

    右击       ActionChains(driver).context_click(b).perform()

    双击       ActionChains(driver).double_click(b).perform()   #双击 和页面单击的效果相同

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
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  自动化测试
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值