一步一步教你编写与搭建自动化测试框架——python篇

转载自:http://www.cnblogs.com/LanTianYou/p/5952472.html

目录

Auty文件夹结构介绍

Auty文件结构介绍

Auty使用步骤

Auty编写过程

第一篇——生成执行列表

第二篇——读取与执行脚本列表

第三篇——添加异常处理与日志收集

第四篇——生成测试结果报告

第五篇——调用支持、自动化安装库与配置说明

第六篇——垃圾代码回收、添加suite支持

第七篇——添加动作库和常量文件库

Auty框架表现篇——python flask框架实践

接口测试用例编写建议

[本文出自天外归云的博客园]

这两天用python写了一个自动化测试框架,取名为Auty。准备用来做Web方面的接口测试,以下为Auty框架一步一步的搭建过程——

首先在这里我要感谢我的大师兄朱勃的指点、交流和帮助!

回到顶部

Auty文件夹结构介绍

1. actions文件夹:包含了和业务相关的包含可复用方法的脚本文件,根据业务的不同可以在actions文件夹下创建不同的业务文件夹;

2. constants文件夹:包含了常量初始化的python脚本文件,根据业务划分可以再创建子文件夹或多个常量文件;

3. data文件夹:包含了测试用的数据;

4. lib文件夹:包含了支持框架运行的python文件;

5. log文件夹:包含了运行测试过程中生成的日志文件;

6. results文件夹:包含了测试结果文件;

7. scripts文件夹:包含了scripts文件夹和selections文件夹;

1)scripts文件夹下包含了测试脚本(可根据业务划分成多个子目录);

2)selections文件夹下包含了suite文件(包含了需要执行的脚本路径集合);

8. utils文件夹:包含了和业务逻辑无关的包含可复用方法的脚本文件;

回到顶部

Auty文件结构介绍

1. Auty文件夹下:

1)__init__.py文件:包结构所必需文件(以下所有涉及可调用脚本的文件夹下均需有此文件);

2)config.txt文件:Auty框架配置说明文件;

3)recovery.py文件:垃圾代码回收文件(用来回收执行测试过程中因故障未能自动删除的自动生成的代码);

4)requirements文件:包含了框架所需要安装的python库信息;

5)setup.py文件:执行脚本以安装requirements文件中所包含的python库;

6)start.py文件:执行脚本以启动接口自动化测试;

2. lib文件夹下:

1)exe_deco.py文件:包含修饰脚本运行时方法的文件;

2)execute_selection.py文件:包含运行suite集合下脚本方法的文件;

3)generate_html.py文件:包含根据生成的csv格式测试结果文件生成html类型测试结果文件方法的文件;

4)generate_result.py文件:包含生成csv格式测试结果方法的文件;

5)read_selection.py文件:包含读取可执行的脚本列表方法的文件;

6)recovery_code.py文件:包含垃圾代码回收方法的文件;

7)write_log.py文件:包含生成日志文件方法的文件;

3. scripts文件夹下:

1)create_selection.py文件:包含创建suite文件(all_scripts_selection.txt)方法的文件;

回到顶部

Auty使用步骤

1. 运行Auty/setup.py文件;

2. 编写接口测试python脚本并放到Auty/scripts/scripts目录(或子目录)下;

3. 运行Auty/scripts/create_selection.py文件生成Auty/scripts/all_scripts_selection.txt文件;

4. 修改Auty/scripts/all_scripts_selection.txt文件自定义test_selection.txt文件(名字随意起)并放到Auty/scripts/selections文件夹下;

5. 运行Auty/start.py文件开始接口自动化测试;

6. 在Auty/results文件夹下生成的测试结果文件中查看测试结果。

回到顶部

Auty编写过程

这个框架里scripts、utils、actions、contants四个文件夹中的内容是根据实际工作内容可以随意替换的,其他为Auty接口自动化测试框架必需的组成部分。由于后续开发工作比较琐碎,一些更改的代码不能及时更新到以下各篇文章中。最新代码请见:Github

第一篇——生成执行列表

第二篇——读取与执行脚本列表

第三篇——添加异常处理与日志收集

第四篇——生成测试结果报告

第五篇——调用支持、自动化安装库与配置说明

第六篇——垃圾代码回收、添加suite支持

第七篇——添加动作库和常量文件库

Auty框架表现篇——python flask框架实践

回到顶部

接口测试用例编写建议

框架的诞生从某种层面上讲也是为了让编写的代码更加规范化。抛开框架而言,对于接口测试用例的编写,还是要给出以下建议

1. 涉及接口中的url,不要写死在case中,要通过常量访问,将url存储在指定constant文件中(以免接口域名变更等原因造成的不可维护);

2. 测试用例中不要包含测试数据等可变信息,要设成变量,专门将变量的初始化工作在一个指定的文件中完成;

3. 测试用例中不要重复粘贴大段代码逻辑(不利于代码的走查,会造成代码冗余并提高出错几率),凡是可以复用的过程一律提取成方法,分类放置在指定的存放业务逻辑action的文件夹中;

4. 关于注释:用语一定要官方,注释的意义更多是对别人而言的,要让其他人一看就懂;一定要具体详细,不要话说一半;一定要位置准确,注释下方代码逻辑一定要与注释内容吻合而不是在注释下方过了一段代码后才开始注释所包含的内容逻辑。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容