自动化测试平台之流程控制

前言:根据项目组业务发展需求,承担了设计和开发一款自动化测试平台的任务。之所以称为平台,是由于它提供统一的公共服务,开发测试人员只需要登录该系统就可以进行自动化测试了。

框架:使用SSM框架,前端bootstrap,测试脚本python,消息通信组件websocket,数据库Mysql。

测试步骤主要是:在前端勾选测试用例、配置测试参数、执行测试脚本、反馈测试结果到前端等。

本文主要讲解在开发过程中遇到的2个问题:

1、如何获取当前脚本执行状态(即我怎么知道测试开始了、结束了、还是在排队中呢?)

2:如何对测试脚本进行控制操作,如:执行、暂停(假如我点击了“执行”按钮,来执行某个测试项目中的多个测试用例,执行过程中我突然后悔了,想让测试脚本停下来,分析某一个测试用例,总不能让无奈地等着正在执行的测试脚本跑完吧,也许要等上半个小时或者一个小时呢 ),因此一定要保证可控制测试脚本

这里就涉及到数据库表了。

数据库设计有参数表、结果表。参数表主要是测试项目下的测试用例配置参数信息,如测试项目名称、测试用例编号、设备ip、端口号、账户、密码等;  结果表主要是测试用例的  是否执行用例、测试结果、执行状态、测试项目名称、测试用例编号等字段。

执行状态分为5种:新创建、排队中、执行中、执行完毕、暂停等状态。 

操作事件:执行、暂停。

(1)执行事件,用户选中测试用例点击“批量执行”按钮后,JAVA会调用python脚本,每一条测试用例对应一个python函数。

因此,python脚本的每条测试用例在执行之前会读取数据库,判断用户是否让执行该条用例,进入脚本前将【执行状态】置为“排队中”,进入脚本时会将【执行状态】置为“执行中”,执行结束了将【执行状态】会置为“执行完毕”。这里就是通过websocket来通知系统,在后台进行数据库更新的

(2)暂停事件,用户选中测试用例点击“暂停”按钮后,会将选中的测试用例的【执行状态】置为“暂停”(只有处于“排队中”状态的测试用例才能暂停)。这里的暂停并不会让测试脚本立刻停下来,而是“执行中”状态的测试用例运行结束了,才会进入到当前的“暂停”状态用例,如果发现状态为“暂停”,就不会执行该条测试用例了。

总之,执行脚本执行到对应的测试用例时,会先读取数据库中该条测试用例的【执行状态】,判断是不是“暂停”状态,如果不是则执行,否则不执行。

 

 

 

 

posted @ 2019-04-14 10:56  Vtianhu  阅读(301)  评论(0编辑  收藏  举报