Auty自动化测试框架第六篇——垃圾代码回收、添加suite支持
2023-09-27 14:26:55 时间
[本文出自天外归云的博客园]
垃圾代码回收
添加脚本恢复机制,因为框架会自动生成一些代码,如果代码生成后出现问题导致代码没有正常删除掉,则会造成代码垃圾,在auty目录添加recovery.py文件:
# -*- coding: utf-8 -*- import os from lib.recovery_code import recovery_code if __name__ == '__main__': autyPath = os.getcwd() #Scripts recovery. recovery_code(autyPath)
在lib中添加recovery_code.py文件:
# -*- coding: utf-8 -*- import os import time def recovery_code(autyPath): for scriptPath in open(os.path.join(autyPath,'scripts','all_scripts_selection.txt')): scriptPath = scriptPath.strip('\n') lines = open(scriptPath).readlines() try: if ('utf' in lines[0]) and ('os' in lines[1]) and ('sys' in lines[2]) and ('sys.path.append' in lines[3]): print('Recovry:'+scriptPath) del lines[3] del lines[2] del lines[1] del lines[0] open(scriptPath,'w').writelines(lines) except Exception, e: raise else: pass finally: pass
运行recovery.py文件就可以回收脚本中自动生成的垃圾代码,需要注意的是,如果你自己在写脚本代码的时候第一行内容包含utf,第二行包含os,第三行包含sys,第四行包含sys.path.append,那就没办法了,也会被当做垃圾代码回收掉。所以自己写代码要注意一下,import的顺序打乱一下就可以了。
添加suite支持
在实际测试工作中,我们可能会有多个集合需要执行,这时就有分suite执行的必要。这里添加了selections文件夹,用来存放需要执行的suite文件,suite文件为txt类型,里面包含了需要执行的脚本路径:
而原来scripts目录下的create_selection.py文件用来生成all_scripts_selection.txt文件,将脚本中的selection.txt改为all_scripts_selection.txt即可。接下来要修改read_selection.py文件:
# -*- coding: utf-8 -*- import sys import os def read_selection(): path = os.path.abspath(os.path.dirname(__file__)) parentPath = os.path.dirname(path) selectionFolderPath = os.path.join(parentPath,'scripts','selections') selectionFilePaths = [] for filePath in os.walk(selectionFolderPath): for thePath in filePath[2]: selectionFilePaths.append(os.path.join(selectionFolderPath,thePath)) selection = [] for selectionFilePath in selectionFilePaths: for line in open(selectionFilePath): selection.append(line.replace('\n','')) return selection
修改后的逻辑是从selections文件夹中读取suites文件,获取并返回其中包含的脚本文件路径。
相关文章
- 最受欢迎的5款Node.js端到端测试框架
- 2022全网最全的Python接口测试实战之搭建自动化测试框架
- 10个自动化测试框架,测试工程师用起来
- 8年自动化经验分享,怎么设计一个自动化测试框架.....
- 【人人都能学好系列】10分钟带你入门基于Python的接口自动化测试框架
- python自动化测试—Python自动化框架及工具
- Python自动化测试实战 Zero to Hero 单元测试框架unittest的使用
- Playwright vs Selenium:最好用的自动化测试框架?
- Spring+SpringMvc+Mybatis框架集成搭建教程四(项目部署及测试)
- 怎么实现常用网络接口自动化测试框架应用?
- HttpRunner接口自动化测试框架
- 修改testtools框架,将测试结果显示用例注释名字
- python nose测试框架全面介绍六--框架函数别名
- 简洁的python测试框架——Croner
- 从0到1精通自动化测试,pytest自动化测试框架,allure描述用例详细讲解(二十二)
- 从0到1精通自动化测试,pytest自动化测试框架,allure-pytest(最新最全)(十九)
- 分享8款开源的自动化测试框架
- 接口自动化测试框架postman tests常用方法
- 【绝对教程】公司顶级测试工程师亲自讲解python+requests接口自动化测试框架实例详解教程
- 【python/request/HTMLTestRunner/unittest】接口自动化测试框架
- 【建议收藏】自动化测试框架开发教程