接口自动化之协同办公自动化平台二(ScriptManagement)

第一篇请参考:https://www.cnblogs.com/VVsky/p/9361139.html

当我完成jmx脚本编写之后,将jmx嵌入ScriptManagement平台,使之可以单模块运行及批量运行之后。

主心骨部分算是完成了。

接下来的难点就是,怎么使环境在执行之前一直是干净的。

 干净的环境

接口设计考量的时候,我有说过,对响应值过于复杂的系统,是需要进行分段设计的。

本次的产品系统响应值比较复杂。所以我考虑了三种情况:

1.每个case执行之前准备数据,这个对于表结构等要求比较深入-----废弃

2.直接备份整个库:

  →经过验证,我发现单独备份还比较快,就算慢也没有关系,使用次数只有在初始化的时候使用一次。

  →BUT!还原的时候,我计算了时间,超过1H.效率太慢了

3.备份对应的表:

  →通过筛选,去除了一半的表,这时根据数据库的特性,我们(我申请了两个人力来帮忙写代码)使用了copy来进行表备份。

  →BUT!其中有个表的数据量已经超过亿级了,这导致整个的备份还原时间还是超过了30MIN+。

4.换方案备份,针对特性数据库

  →根据每个数据库的特性使用系统自带的方式进行备份,比如:mysql的备份和postgresql的备份肯定有不一样的方案特性。

  →最后,我们将时间缩短到了10分钟以内,主要的时间耗损在压缩与解压缩。这个方案是目前最优的了。

根据以上:我们写了几个shell脚本文件,嵌入的本平台内,使用python进行远程操作执行。

所以:我们有了以下的界面操作

如上图:

1.可以对服务器进行变更

2.可以对数据库进行备份

3.可以进行还原操作

由于,是为本公司产品开发了,所以目前没有增加数据库选项,所写的shell脚本也仅针对一种数据库。

除以上用户进行手动恢复环境,我还设置了一个开关,用于执行脚本后,平台自带进行环境恢复。

后续:

我们将进行版本管理开发

我们将对jmeter的脚本编辑迁移到此平台

原文地址:https://www.cnblogs.com/VVsky/p/9456397.html

时间: 08-10

接口自动化之协同办公自动化平台二(ScriptManagement)的相关文章

python接口自动化9-https请求(SSL)

前言 本来最新的requests库V2.13.0是支持https请求的,但是一般写脚本时候,我们会用抓包工具fiddler,这时候会报:requests.exceptions.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:590) 小编环境: python:2.7.12 requests:2.13.0 fiddler:v4.6.2.0 一.SSL问题 1.不启用fiddler,直接发htt

python接口自动化2-发送post请求

前言 发送post的请求参考例子很简单,实际遇到的情况却是很复杂的,首先第一个post请求肯定是登录了,但登录是最难处理的.登录问题解决了,后面都简单了. 一.查看官方文档 1.学习一个新的模块,其实不用去百度什么的,直接用help函数就能查看相关注释和案例内容. >>import requests >>help(requests) 2.查看python发送get和post请求的案例 >>> import requests       >>> r

python+requests接口自动化完整项目设计源码

前言 有很多小伙伴吵着要完整的项目源码,完整的项目属于公司内部的代码,这个是没法分享的,违法职业道德了,就算别人分享了,也只适用于本公司内部的业务. 所以用例的代码还是得自己去一个个写,我只能分享项目框架,只能帮你们到这了. 一.项目结构 1.新建一个工程(一定要创建工程),工程名称自己定义,如:yoyo_jiekou 2.在工程的跟目录新建一个脚本:run_main.py,用来执行全部用例 3.在工程下创建以下几个pakage包: --case:这个包放test开头的测试用例,也可以放一些封装

python接口自动化5-Json数据处理

前言 有些post的请求参数是json格式的,这个前面第二篇post请求里面提到过,需要导入json模块处理. 一般常见的接口返回数据也是json格式的,我们在做判断时候,往往只需要提取其中几个关键的参数就行,这时候就需要json来解析返回的数据了. 一.json模块简介 1.Json简介:Json,全名 JavaScript Object Notation,是一种轻量级的数据交换格式,常用于http请求中 2.可以用help(json),查看对应的源码注释内容 Encoding basic P

python接口自动化10-token登录

前言 有些登录不是用cookie来验证的,是用token参数来判断是否登录. token传参有两种一种是放在请求头里,本质上是跟cookie是一样的,只是换个单词而已:另外一种是在url请求参数里,这种更直观. 一.登录返回token 1.如下图的这个登录,无cookies 2.但是登录成功后有返回token 二.请求头带token 1.登录成功后继续操作其它页面,发现post请求的请求头,都会带token参数 2.这种请求其实比cookie更简单,直接把登录后的token放到头部就行 三.to

python接口自动化8-参数化

前言 前面一篇实现了参数的关联,那种只是记流水账的完成功能,不便于维护,也没什么可读性,接下来这篇可以把每一个动作写成一个函数,这样更方便了. 参数化的思维只需记住一点:不要写死 一.登录函数 1.s参数是session的一个实例类,先放这里,方便写后面代码 2.登录函数传三个参数,s是需要调用前面的session类,所以必传,可以传个登录的url,然后payload是账号和密码 二.保存草稿 1.编辑内容的标题title和正文body_data参数化了,这样后面可以方便传不同值 2.这里返回了

python接口自动化7-参数关联

前言 我们用自动化发帖之后,要想接着对这篇帖子操作,那就需要用参数关联了,发帖之后会有一个帖子的id,获取到这个id,继续操作传这个帖子id就可以了 一.删除草稿箱 1.我们前面讲过登录后保存草稿箱,那可以继续接着操作:删除刚才保存的草稿 2.用fiddler抓包,抓到删除帖子的请求,从抓包结果可以看出,传的json参数是postId 3.这个postId哪里来的呢?可以看上个请求url地址 4.也就是说保存草稿箱成功之后,重定向一个url地址,里面带有postId这个参数.那接下来我们提取出来

接口自动化之Postman+Newman

简介 Postman 使一款可以方便我们调用API的工具,通过Postman 与 Newman结合我们还可以批量运行API达到API自动化测试的目的. Postman 安装 Window 系统需要先安装Chrome浏览器,然后在应用商店找到Postman插件,直接点击安装便可:https://chrome.google.com/webstore/detail/postman/fhbjgbiflinjbdggehcddcbncdddomop?hl=cn 测试GET类型API以豆瓣搜索图书API为例

Jmeter接口自动化参数化 (转)

测试场景: 有个查询城市(大概一百个 )天气预报的接口(需求参考第一课),需要根据不同的citycode,去查询对应城市的天气预报,这种接口该如何去测试呢? 分析需求: 不管是功能测试需求,还是接口测试需求,首先要先学会分析需求,然后设计测试用例.对于上面的一百多个城市天气预报,小伙伴们是如何设计用例的呢? 一百多个城市的天气预报,我不可能一个个去手工测,一是比较耗时间,二是重复劳动.就算你这次一口气测了一百多个,下次版本更新,你做回归测试也得重新测.(也许你会偷懒,只测两三个,但是做测试不要抱

卢松松:协同办公平台Worktile体验分享

自从组建团队以来,做的每一个项目.每一次活动,电脑里就会存放了N个不同名称的相同文档, 工作内容.资源文档非常零散,严重影响了工作效率. 之前用Dropbox共享文档,结果被墙了.用印象笔记,结果一个帐号只能共享一个团队笔记,而且每次都要在上面打字.对于计划任务的安排,一直没有一个好的解决方案,也没办法,凑合用吧. 后面在站长大会时认识了一朋友,做的是协同办公平台,叫Worktile:https://worktile.com,国产的,也拿到了风投.当时觉得也没什么,有印象笔记就够了,后面跟成员小