前言

又到年底了。今年的工作内容和往年没有太大的变化,产品有条不紊地 2-4 周一个周期的迭代,在需求评审、设计评审、测试执行、问题跟进、客户支持之间团团转。
唯一一个基本上全年在持续做的,是在空闲时间开发了一个内部使用的测试平台,和不断地维护、更新。
之前把这个平台分享过一次(https://testerhome.com/topics/15534 ),有些朋友使用后会问里面的设计和运行逻辑,这里简单记录一下吧。

与自动化测试的那些年

初识自动化-QTP

08 年毕业开始第一份工作时,团队里已经使用 QTP(当时最主流的自动化测试工具)维护了很大规模的自动化测试用例。
不过不巧的是,我入职这家公司时,正好遇上几个时间点:

所以原来花了大力气搭建的 QTP 框架和用例系统,直接被废弃了。只有在空余时间自学了一下简单的 QTP 使用技巧,没有在项目中实践。

自动化实践 - vs code ui test

大约过了两年后,部门调整过来以为新的主管,在产品测试流程稳定下来之后,开始调研和推动重启自动化测试。
经过对原有的 QTP 框架分析后,最终选择了 visual studio 的 code ui test 组件来实施自动化测试。原因如下:

确定工具和框架后,由于主管对测试体系进行了一些思维碰撞和讨论,最终确定了一些自动化测试准则:

定下框架和流程后,很快把相关的用例建立了起来,而且运行效果很不错。
顺便简单介绍一下 visual studio code ui test 组件,它有一个特点是用一组信息(id、name 等)来标记一个元素,如果某个属性无法定位,会尝试使用其他属性来定位元素。

偏好关键字驱动 - 入坑 selenium

13 年入职一家以开源技术为主导的软件外包公司。由于公司理念是使用开源技术,于是开始入坑研究 selenium。
在对比了当时流行的 java+selenium+ant(当时部门同事做过类似的分享)框架搭建自动化后,开始寻找不同的思路。 在调研不同的框架后,找到了一个用 python 编写的关键字驱动、Excel 组织用例的开源框架(没错,就是前几天被人怒怼的 “毒瘤” 型框架)

对于这个框架,当时看上它的以下几个点:

于是开始在自己负责的项目里尝试使用,并根据需求不断增加新的关键字封装。也是为了基于这套源码二次开发自己所需要的功能,才开始学习和接触 python,开始啃相关的方法:读写 Excel、格式转换、多线程并发、环境配置,等等。

一条路走到黑 - 将简单框架扩展为一个平台

入职现在这家公司,开始做长期的产品迭代开发和维护。继续使用这套框架做自动化。由于使用场景的变化,遇到以下问题:

改造方式:

改造过程:

1. 设计对应的数据库表。

2. 平台搭建和页面开发。

3. 测试执行核心代码改造

因为改造方向很明确,所以开发比较顺利,很快将一整套框架开发搭建完成。

后续优化

随着这个平台稳定运行,逐步把一些测试相关的功能也集成进来:


↙↙↙阅读原文可查看相关链接,并与作者交流