使用cucumber ,想把一个完整的流程,写成一个可执行的自动化测试脚本,应该如何划分 Scenario...
本着有好东西共享的原则,先跟你们说一个,可以在线进行自动化测试的网站,是阿里云的。
http://fts.aliyun.com/index.htm(云叔,给点广告费呗)
我这里举例用到的流程,就是上一篇博客中的流程图 ,流程名称是: 纸质图书
首先,你要明白,自动化测试,是为了 代替人工,让测试更方便的。
但是,有些地方却是 不能代替的。比如,流程中的 审批 退改 和 审批 不通过 。 因为 我不知道 如何在一个 脚本中,同时定义审批通过,和审批不通过。
但是,可以单独写 审批退改 或者,审批不通过 的脚本
Scenario ,可以理解为,测试单元, 一系列的操作,以达成某目的。
在Scenario 中,有一系列的 步骤,每个步骤,可以理解为方法 。在方法中,会进行一系列的操作。
本博客最后,上传 实现流程图的 feature 文件。
在一个完整的流程 中, 如何根据流程节点来 划分 Scenario 。
如果一个很简单的流程 ,只有一条主线,从头到结束, 可以直接写 一个 Scenario .
但是,当流程非常复杂的情况下。
又分下面这几种情况。
1、 fork 和 join 。
fork 下面的 流程分支,是并发执行的 ,我的流程图中,fork 下面出现四个分支,就会分出 4个流程。
fork 下 所有的分支,都是必须执行的流程,因此,每条流程,无论复杂程度,都必须单独做 Scenario 。
2、 根据选项不同,走不通的流程。 比如,流程中 是否需要签订合同 分支 下 的 书稿初审 任务节点 。
这5条流程路线,只会执行一条,其他4条并不执行,而这5条流程线,分为三种情况,所以,我会再 启动三个Scenario 。
因此,流程出现判断时,会设定一些条件,当满足这些条件,会选择执行流程 ,即,选择执行Scenario 。
在流程中,并不是必须 分成多个 Scenario 。你完全可以做一个 Scenario 解决所有的问题。
分成不同的 Scenario ,是为了更方便流程的 思路,和逻辑, 以及 用更少的判断代码。
为啥说,更少的判断代码呢。
比如,流程中的 四改 ,如果我想测试 四改流程节点 ,则必须满足 是否四改(是) 是否三改(是) 是否一校付型 , 这 三个判断节点。 所以,判断条件,是会越来越多的。 但是,如果我 新启动一个Scenario ,则,只需要在 Given 中,设置 满足条件就可以了 ,当满足条件,继续执行 此Scenario ,不满足,报错并退出。
判断的业务逻辑,特别复杂的,就是这两个节点 社领导三审 和 书稿三审。
你想,我得满足什么条件,才能 正确的执行到这个节点?
feature 文件,是 cucumber 的,不懂cucumer 用法,百度搜一下,很简单。
或者看下一篇博客介绍。
# 编务管理 - - 纸质图书 测试用例
#纸质图书 编务流程测试。
# 用户名 xufei 密码 xufei
#*************************************************************
#* *
#* *
#* 纸质图书 *
#* *
#* *
#*************************************************************
#流程中,所有需要 手动录入数据的步骤 ,都在这里面配置,而其他的流程节点,包括 自动任务,java任务等 ,
#则存在,
# 1、可能在当前流程节点,需要进行 配置校验 方法 ,选择判断走哪条流程节点。
# 2、也可能不配置任何方法。# 流程每进行一步的所有操作,都 包含到 每个方法中进行声明 ,其中包括。
# input 输入框 输入,
# select 选择框,
# button
# 以及,切换iframe,切换table ,等等。#法律社项目,编务测试用例
Feature: 法律社项目,编务测试用例#纸质图书测试Background:#background 方法,均在 base.setp.js 中定义Given 用户名 "xufei" 密码 "xufei" 登录系统Then 打开我的任务Then 打开待办事项Then 打开所有任务# bw-zzts-1.setp.js
@first
Scenario: 从新建立项申请,到立项确认#创建选题立项Given 创建选题立项#新建立项申请 新建立项申请 是否签订合同 ,是否有补贴款,是否属于丛书 ,都影响 流程步骤,需要标明,当前测试用例,用的是哪些条件。# 新建立项申请 选择分类, 分类 1、2、3、4 是根据分类 1 不同,选择是否显示的,我只写 我测试用的,其他需要的,以后补充 到 bw-zzts.pages.js ctrl + f (分类 tab 页元素) ,我选择的分类是,1、引进版图书 和 2、中图分类法 - - 农业科学 - - 林业##其中,分类4,是 自动补全 ,自动补全查看 xpath 的方法,参考博客。 http://blog.csdn.net/u012246342/article/details/52857971When 新建立项申请#丛书责任人意见Then 丛书责任人意见#分社长意见Then 分社长意见#中法图意见Then 中法图意见
# #社领导意见Then 社领导意见
# #选题论证会Then 选题论证会
# #立项确认Then 立项确认# bw-zzts-2.setp.js
@first
Scenario: 编辑发设计要求 到 责编意见
#编辑发设计要求 中,
#必填字段
#成品尺寸,如果选择其他,则 特殊尺寸,需要必填 。
#开本,如果选择其他,则 特殊开本 , 需要必填。
#是否有勒口,如果选择是,则 勒口尺寸,需要必填。When 编辑发设计要求Then 美编设计Then 责编意见#
# bw-zzts-3.setp.js
@first
Scenario: 是否有原稿 到 图书定价印数折扣通知单When 社内排出原稿Then 送社外排出原稿Then 原稿加工Then 社外排版# 一排 流程 下 , 是否直接付型 ,是由 一排选择的二级加急决定。Then 一排#一校级以下情况,需要 是社内校对,且 否二级加急前提。因此拆出单独scenario
@first
Scenario: 一校流程When 社内校对,并且不是二级加急Then 一校Then 申请一校付型Then 二改Then 二校Then 三改Then 三校Then 四改Then 四校Then 退排版#核红 代码出现问题。Then 核红Then 付型整理Then 责编确认Then 责任印制确认#
# bw-zzts-4.setp.js
@first
Scenario: 是否一级加急 到 申领书号When 是否一级加急Then 填写一级加急申请Then 分社长审批Then 社领导审批Then 申领书号Then 申请CIP
####*************************************************************
#* *
#* *
#* 下面属于 bw-zzts-5.setp.js *
#* *
#* *
#*************************************************************
## bw-zzts-5.setp.js
##************************************* 是否需要签订合同 到 图书定价印数折扣通知单 ************************************************************************************************************************************************
@first
Scenario: 是否需要签订合同 到 图书定价印数折扣通知单When 签订合同Then 书稿初审
#******************************************** 书稿初审 选择 一审情况 一审情况,有三种子 分支 从 书稿初审 (一审情况) 到 三审结束(是否有补贴款) ******************************
# 一审情况 分支1
@first
Scenario: 编校部编辑加工Given 是否属于编校部编辑加工When 编校部编辑加工Then 内编审核Then 外编审核Then 编校部编辑确认审核Then 书稿一审Then 填写发稿单Then 分社长判断二审Then 书稿二审Then 分社长指定二审Then 书稿一审 的 社领导三审Then 书稿一审 的 书稿三审#
# 一审情况 分支2
@first
Scenario: 责编一审 和 责编委托一审Given 责编一审 和 责编委托一审When 书稿一审Then 填写发稿单Then 分社长判断二审Then 书稿二审Then 分社长指定二审Then 书稿一审 的 社领导三审Then 书稿一审 的 书稿三审
#
#
##
### 一审情况 分支3
@first
Scenario: 社内文编一审 和 编校部委托一审Given 社内文编一审 和 编校部委托一审When 选择一审内外编Then 内编一审Then 外编一审Then 责编填写发稿单Then 编校部判断二审Then 编校部再议二审
##
###一审情况 中, 内编二审 和 分社长二审 情况太多,流程太乱,因此 再分 scenario 分别为两种情况 1 、内编二审 2、分社长判断二审
##**************************************一审情况,分支3 ******************************************
#1 、内编二审
@first
Scenario: 选择一审内外编 且 内编二审Given 选择一审内外编 且 内编二审When 内编二审Then 判断三审Then 一审内外编 的 书稿三审Then 一审内外编 的 社领导三审#
##2、分社长判断二审
@first
Scenario: 选择一审内外编 且 分社长判断二审Given 选择一审内外编 且 分社长判断二审When 分社长判断二审Then 书稿二审Then 分社长指定二审Then 一审内外编 的 社领导三审Then 一审内外编 的 书稿三审
##**************************************一审情况,分支3 ******************************************
##
##
###******************************************** 从 书稿初审 (一审情况) 到 三审结束(是否有补贴款) ********** end ********************
#
@firstScenario: 有补贴款,并且,未领取补贴款 sfybtk:'是' && sfylqbtk:'否'Given 是否等待补贴款When 等待补贴款
#
#
@firstScenario: 不是一级加急,在 是否需要签订合同 流程后,执行 申领书号和申请CIPGiven 不是 一级加急,不提前申领书号Then 申领书号Then 申请CIP#
##************************************* 是否需要签订合同 到 图书定价印数折扣通知单 ********************** end **************************
#
#*************************************************************
#* *
#* *
#* end *
#* *
#* *
#*************************************************************## bw-zzts-6.setp.js
##图书定价印数折扣通知单 到 填写发印单
#@first
#Scenario: 图书定价印数折扣通知单 到 填写发印单
# When 图书定价印数折扣通知单
# Then 分社长审核图书定价印数折扣通知单
# Then 社领导审核图书定价印数折扣通知单
# Then 填写发印单
### bw-zzts-7.setp.js
#@first
#Scenario: 检查样书印装 到 end
# When 检查样书印装
# Then 检查样书内容及印装
# Then 修改样书错误
# Then 印务确认
使用cucumber ,想把一个完整的流程,写成一个可执行的自动化测试脚本,应该如何划分 Scenario...相关推荐
- 使用cucumber ,想把一个完整的流程,写成一个可执行的自动化测试脚本,应该如何划分 Scenario
本着有好东西共享的原则,先跟你们说一个,可以在线进行自动化测试的网站,是阿里云的. http://fts.aliyun.com/index.htm (云叔,给点广告费呗) 我这里举例用到的流程,就是上 ...
- 演示IPFS的一个完整的流程以及针对部分概念的详解
整体的流程 1,创建ipfs节点 通过ipfs init在本地计算机建立一个IPFS节点 本文有些命令已经执行过了,就没有重新初始化.部分图片拷贝自先前文档,具体信息应以实物为准 $ ipfs ini ...
- 数据挖掘的一个完整过程
在现代社会中,公司大多数商务流程的核心部分是数据.而数据挖掘的任务就是在如此海量的数据中发现有用的数据.但是仅仅发现数据那是不够的.我们必须对这种模型做出一定的反应,并采取行动,最后将有用的数据转换成 ...
- 一个完整的项目管理流程包括什么?项目管理者必看
一个完整的项目管理流程包括规划.执行.收尾三大阶段. 第一阶段:规划 规划包括创建项目事项.分解复杂事项.派发任务 我们公司的项目管理者都在用飞项项目管理工具,对于项目内的事项,可以直接在PC/小程序 ...
- BAT面试题13:请简要说说一个完整机器学习项目的流程
BAT面试题13:请简要说说一个完整机器学习项目的流程 https://mp.weixin.qq.com/s/HiqC1MCb5TEBUxjiYvB7bA 摘要:本文描述机器学习任务的"OO ...
- 数据分析人必看,分享一个完整的数据分析流程
想入门数据分析应该怎么学?新手做数据分析有哪些好用的工具?会用 Excel 但是做分析总是没思路怎么办?做数据分析有哪些方法...... 以上这些问题,相信各位想入门数据分析的小伙伴们或多或少都会遇到 ...
- 测试环境搭建流程_案例解析:一个完整的项目测试方案流程,应该是怎么的?...
作为一名软件测试工程师,为项目制作完成的测试方案并执行,是我们日常工作的重要部分,同时,也是一名合格的软件测试工程师应有的专业素养.那么,很多小白和测试新手肯定要问了:一个完整的项目测试方案流程,应该 ...
- VSCode自定义代码片段15——git命令操作一个完整流程
git命令操作一个完整流程 {// git'command// 15 如何自定义用户代码片段:VSCode =>左下角设置 =>用户代码片段 => 新建全局代码片段文件... =&g ...
- 利用vue-cli配合vue-router搭建一个完整的spa流程
好文章备忘录: 转自:https://segmentfault.com/a/1190000009160934?_ea=1849098 demo源码:https://github.com/1590123 ...
最新文章
- Python类与对象
- 人脸识别争议再起 实际应用利弊几何?
- 获取CPU序列号和MAC地址
- 摘要算法与加密(以MD5算法为例)
- Linux open函数使用方法记录
- 12 操作系统第三章 内存管理 非连续分配管理方式 基本分页存储管理 基本分段存储管理 段页式存储管理
- Item 13 Minimize the accessibility of classes and members
- LabelImg 影像標註工具使用教學,製作深度學習用的資料集
- 福特牵手百度启动L4级自动驾驶联合测试,年底“上路”
- 面试官:你说对 MySQL 事务很熟?那我问你 10 个问题
- SheetForm.cs
- 《程序设计技术》第一章例程
- 好看的alert弹窗或样式弹窗
- react + hooks 中使用aliplayer
- 分享一个不错的个人简历模板下载网站(word文件可编辑的)
- CAD用Ctrl+V复制粘贴东西的时候特别慢
- 矩形类定义【C++】
- IIS 部署.NetCore
- Kotlin 使用DSL构建语法结构 看这一篇就够了~
- 后缀自动机(知识整理+板子总结)