本着有好东西共享的原则,先跟你们说一个,可以在线进行自动化测试的网站,是阿里云的。

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...相关推荐

  1. 使用cucumber ,想把一个完整的流程,写成一个可执行的自动化测试脚本,应该如何划分 Scenario

    本着有好东西共享的原则,先跟你们说一个,可以在线进行自动化测试的网站,是阿里云的. http://fts.aliyun.com/index.htm (云叔,给点广告费呗) 我这里举例用到的流程,就是上 ...

  2. 演示IPFS的一个完整的流程以及针对部分概念的详解

    整体的流程 1,创建ipfs节点 通过ipfs init在本地计算机建立一个IPFS节点 本文有些命令已经执行过了,就没有重新初始化.部分图片拷贝自先前文档,具体信息应以实物为准 $ ipfs ini ...

  3. 数据挖掘的一个完整过程

    在现代社会中,公司大多数商务流程的核心部分是数据.而数据挖掘的任务就是在如此海量的数据中发现有用的数据.但是仅仅发现数据那是不够的.我们必须对这种模型做出一定的反应,并采取行动,最后将有用的数据转换成 ...

  4. 一个完整的项目管理流程包括什么?项目管理者必看

    一个完整的项目管理流程包括规划.执行.收尾三大阶段. 第一阶段:规划 规划包括创建项目事项.分解复杂事项.派发任务 我们公司的项目管理者都在用飞项项目管理工具,对于项目内的事项,可以直接在PC/小程序 ...

  5. BAT面试题13:请简要说说一个完整机器学习项目的流程

    BAT面试题13:请简要说说一个完整机器学习项目的流程 https://mp.weixin.qq.com/s/HiqC1MCb5TEBUxjiYvB7bA 摘要:本文描述机器学习任务的"OO ...

  6. 数据分析人必看,分享一个完整的数据分析流程

    想入门数据分析应该怎么学?新手做数据分析有哪些好用的工具?会用 Excel 但是做分析总是没思路怎么办?做数据分析有哪些方法...... 以上这些问题,相信各位想入门数据分析的小伙伴们或多或少都会遇到 ...

  7. 测试环境搭建流程_案例解析:一个完整的项目测试方案流程,应该是怎么的?...

    作为一名软件测试工程师,为项目制作完成的测试方案并执行,是我们日常工作的重要部分,同时,也是一名合格的软件测试工程师应有的专业素养.那么,很多小白和测试新手肯定要问了:一个完整的项目测试方案流程,应该 ...

  8. VSCode自定义代码片段15——git命令操作一个完整流程

    git命令操作一个完整流程 {// git'command// 15 如何自定义用户代码片段:VSCode =>左下角设置 =>用户代码片段 => 新建全局代码片段文件... =&g ...

  9. 利用vue-cli配合vue-router搭建一个完整的spa流程

    好文章备忘录: 转自:https://segmentfault.com/a/1190000009160934?_ea=1849098 demo源码:https://github.com/1590123 ...

最新文章

  1. Python类与对象
  2. 人脸识别争议再起 实际应用利弊几何?
  3. 获取CPU序列号和MAC地址
  4. 摘要算法与加密(以MD5算法为例)
  5. Linux open函数使用方法记录
  6. 12 操作系统第三章 内存管理 非连续分配管理方式 基本分页存储管理 基本分段存储管理 段页式存储管理
  7. Item 13 Minimize the accessibility of classes and members
  8. LabelImg 影像標註工具使用教學,製作深度學習用的資料集
  9. 福特牵手百度启动L4级自动驾驶联合测试,年底“上路”
  10. 面试官:你说对 MySQL 事务很熟?那我问你 10 个问题
  11. SheetForm.cs
  12. 《程序设计技术》第一章例程
  13. 好看的alert弹窗或样式弹窗
  14. react + hooks 中使用aliplayer
  15. 分享一个不错的个人简历模板下载网站(word文件可编辑的)
  16. CAD用Ctrl+V复制粘贴东西的时候特别慢
  17. 矩形类定义【C++】
  18. IIS 部署.NetCore
  19. Kotlin 使用DSL构建语法结构 看这一篇就够了~
  20. 后缀自动机(知识整理+板子总结)

热门文章

  1. Golang 发送html Gmail邮件
  2. 今日头条 CEO 张一鸣:面试了 2000 个年轻人,混得好的都有这 5 种特质
  3. 3月16日——3月20日课程表
  4. 【315期】面试官问:在大数据量情况下,如何优化 ElasticSearch 查询?
  5. 赛博大陆的城镇化思考
  6. mongodb的id查询
  7. 常用的E文网络缩写词
  8. Hive基于搜狗搜索的用户日志行为分析
  9. 4.4 ipu_param_mem.h头文件分析
  10. jQuery 清除div内容