前言

⾃动化测试会越来越受到重视

在移动互联⽹时代,对于质量的要求⽐PC时代⾼的多,⽽投⼊产出⽐最⾼的⾃动化测试,将会是⼤部分公司的⾸选⽅向,但需要严格掌握⼀门语⾔。

快速、高效的测试工具及脚本,能使程序猿的开发工作事半功倍。笔者进入到研发中心工作之后,参与到一个报文平台的重构项目中。该项目老平台基于C语言编写,架构老旧,可维护性与扩展性较差;为了紧跟研发中心的技术迭代步伐,新平台使用新的工具进行重构,使其构建发布、参数配置更灵活,便于后续维护与扩展。

在新平台的重构开发过程中,报文的路由测试是很关键的部分。由于系统涉及一百多种不同格式的报文,且系统安全性要求较高,每个报文在系统中交互时都要进行加验签检查,所以需要对整个系统进行全面、严密且覆盖所有报文类型的测试工作。

之前开发中的测试均通过手动将报文粘贴到测试工具中触发,此方法不仅效率低,且容易造成人为测试噪点,后续回归测试更是噩梦。为了解决此类问题,提升个人开发效率,笔者在开发测试环境中使用python语言实现了报文平台的自动化测试。

自动化测试分为三个部分,分别是测试数据的产出、发送测试数据和监控测试结果,如图1所示:

图1 整个自动化测试流程图

第一部分

测试数据的产出是从常备测试环境拉取历史日志,通过使用log_split.py脚本,按照日志里的语法规则对所需的测试数据进行切割,并去除冗余数据。接下来,根据切割后数据的关键字进行分类,分别放入不同类别的测试目录下,部分脚本代码如图2所示:

图2 log_split.py脚本部分代码

第二部分

发送测试数据分为两种形式,分别是手动单条报文发送和多条报文定时发送。单条发送多用于验证不同场景下的业务逻辑,而多条定时发送则可进行一定程度上的回归与压力测试。以手动单条测试为例,通过使用send_wb_testdata.py脚本读取指定的测试数据并放入到对应的数据队列中,部分脚本代码如图3所示:

图3 send_wb_testdata.py脚本部分代码

第三部分

最后为监控测试结果,当测试进入到报文平台处理程序时会调用read_test_resdata.py脚本,通过测试数据的标识号对程序日志进行匹配,并使用语法规则对日志里的关键信息进行截取,然后输出此次测试的结果。

Python语言非常灵活与简便,语法简洁,易学易上手。笔者构想与编写整个自动化测试脚本只花费了几个工作日中的零碎时间,但是使用自动化测试脚本后让整个开发测试周期节省的时间远超几个工作日。python语言逐渐普及,绝大部分linux操作系统均安装了python2.7,无需别的配置工作可直接上手编写。python能很好的支持调用linux命令,在一定程度上可取代shell,可快速编写服务器执行程序。如果你有同样的需求,不妨用python试下。

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

以上软件测试资料需要的可以私信我关键词(资料)免费获取

这里还有一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

学习不要孤军奋战,最好是能抱团取暖,相互成就一起成长,群众效应的效果是非常强大的,大家一起学习,一起打卡,会更有学习动力,也更能坚持下去。

结语

欢迎留言,或是关注我的专栏和我交流。

超好用的自动化测试工具——Python脚本相关推荐

  1. Safari浏览器自动化测试(Python脚本测试)

    上文我们解释了,其他浏览器驱动没安装时的报错该如何处理(怎么安装驱动) 错误处理详情(火狐与谷歌浏览器) 其实Safari真的挺好用的建议用Safari,简单.无脑.好用 Safari浏览器自动化测试 ...

  2. Python脚本——信手拈来的自动化测试工具

    快速.高效的测试工具及脚本,能使程序猿的开发工作事半功倍.笔者进入到研发中心工作之后,参与到一个报文平台的重构项目中.该项目老平台基于C语言编写,架构老旧,可维护性与扩展性较差:为了紧跟研发中心的技术 ...

  3. python自动化工具哪个好用_10款好用的自动化测试工具推荐

    当我们功能测试干的时间比较久了,或者想要学习更多的技术,提升自己的时候,基本上第一时间就会想到的是自动化测试.而在自动化测试领域,自动化工具的核心地位毋庸置疑,下面为大家推荐10款常见常用的自动化测试 ...

  4. selenium python实例录制运行_WEB自动化测试工具selenium录制器使用笔记

    简介 selenium录制器是最近刚流行起来的一个WEB自动化测试工具,由多测测团队开发. Selenium录制器采用关键字驱动的理念,简化测试用例的创建和维护,可以直接运行在浏览器中,就像真正的用户 ...

  5. 一些常见的自动化测试工具——超全资料集

    一. Appium AppUI自动化测试 Appium 是一个移动端自动化测试开源工具,支持iOS 和Android 平台,支持Python.Java 等语言,即同一套Java 或Python 脚本可 ...

  6. python安卓自动化测试工具有哪些_Android 手机自动化测试工具有哪几种?

    如今自动化测试已经应用到每天的测试中.这不足为奇,因为自动化测试在测试过程中节约了时间,还能避免包括人为因素造成的测试错误和遗漏. 自动化测试工具选择很多.一些是开源的,一些非常贵.一些自动化工具是几 ...

  7. Python自动化测试工具有哪些?哪一个更适合你呢?

    目录 前言 Web UI test automation Web UI 自动化 Mobile test automation 移动端自动化测试工具 Windows UI test automation ...

  8. Python+Appium自动化测试-编写自动化脚本

    我们实际跑自动化脚本的过程中,是需要用脚本调用appium启动app的,接下来就尝试写Python脚本启动app并登陆app.环境为Windows10 + Python3.7 + appium1.18 ...

  9. python minimize_简单三步实现Python脚本超参数调优(附代码)

    作者:Jakub Czakon, Neptune.ai 翻译:陈之炎 校对:和中华 本文约1500字,建议阅读5分钟. Python机器学习模型建立起来之后,如何对它的性能进行优化?按照本指南中的三个 ...

  10. 独家 | 简单三步实现Python脚本超参数调优(附代码)

    作者:Jakub Czakon, Neptune.ai 翻译:陈之炎 校对:和中华 本文约1500字,建议阅读5分钟. Python机器学习模型建立起来之后,如何对它的性能进行优化?按照本指南中的三个 ...

最新文章

  1. python读取配置文件存在某配置_Python读取配置文件(config.ini)以及写入配置文件
  2. Linux生成子进程函数fork()
  3. 《数学女孩》 读书笔记 Part 1 of 5
  4. [代码审计]云优cms V 1.1.2前台多处sql注入,任意文件删除修复绕过至getshell
  5. DOA估计谱峰搜索的一种策略
  6. 紫光华宇拼音输入法 6.x bug集
  7. ​怎么判断是前端bug还是后端bug?
  8. littleVGL开发(12):样式(style)
  9. Unity PBR材质
  10. [ElasticSearch ]2轻量级搜索
  11. MySQL顺序读写和随机读写磁盘_随机读写与顺序读写的深入理解
  12. 爬虫时候遇到python connection error max retries exceeded whith url 怎么解决?
  13. 【已恢复】苹果再堵开发者账号注册漏洞,黑市账号价格有价无市!
  14. 微信公众号 语音转文字api_原来微信不仅能实现语音转文字,还能实现文字转语音!你还不知吗...
  15. 《JavaEE初阶》HTTP协议和HTTPS
  16. (function ($, undefined){ })(jQuery); 的使用及说明
  17. Chapte 3 Understanding Cloud Computing
  18. 【Prism系列】Prism子窗口实现
  19. 关于this.$emit的返回值的问题
  20. [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/ServletTest_war]]

热门文章

  1. android ndk standalone,Android NDK Standalone Toolchain(中文翻译)
  2. WordPress简约mkBlog博客主题模板v2.1
  3. java-导入 导出 下载模板 等功能
  4. 彩影2008 白金版 10.1 build 2010
  5. three.js实现球体地球城市模拟迁徙
  6. word2016自带公式编辑器转换成mathtype类型公式,以及设置公式大小
  7. 全国所有火车站站点信息
  8. 切割图片基于人脸识别选出人脸部分
  9. csdn下载分获取方法
  10. Visio 2019连接MySQL数据库反向工程作数据库模型图