Auty自动化测试框架第六篇——垃圾代码回收、添加suite支持

简介: [本文出自天外归云的博客园] 垃圾代码回收 添加脚本恢复机制,因为框架会自动生成一些代码,如果代码生成后出现问题导致代码没有正常删除掉,则会造成代码垃圾,在auty目录添加recovery.py文件: # -*- coding: utf-8 -*- import os from lib.

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

垃圾代码回收

添加脚本恢复机制,因为框架会自动生成一些代码,如果代码生成后出现问题导致代码没有正常删除掉,则会造成代码垃圾,在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月前
|
Web App开发 人工智能 JavaScript
主流自动化测试框架的技术解析与实战指南
本内容深入解析主流测试框架Playwright、Selenium与Cypress的核心架构与适用场景,对比其在SPA测试、CI/CD、跨浏览器兼容性等方面的表现。同时探讨Playwright在AI增强测试、录制回放、企业部署等领域的实战优势,以及Selenium在老旧系统和IE兼容性中的坚守场景。结合六大典型场景,提供技术选型决策指南,并展望AI赋能下的未来测试体系。
|
3月前
|
SQL 安全 Linux
Metasploit Pro 4.22.8-20251014 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.8-20251014 (Linux, Windows) - 专业渗透测试框架
226 1
Metasploit Pro 4.22.8-20251014 (Linux, Windows) - 专业渗透测试框架
|
3月前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
265 1
Metasploit Framework 6.4.95 (macOS, Linux, Windows) - 开源渗透测试框架
|
4月前
|
安全 Linux 网络安全
Metasploit Pro 4.22.8-2025091701 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.8-2025091701 (Linux, Windows) - 专业渗透测试框架
370 2
Metasploit Pro 4.22.8-2025091701 (Linux, Windows) - 专业渗透测试框架
|
4月前
|
Linux 网络安全 iOS开发
Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架
452 1
Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架
|
3月前
|
数据采集 人工智能 自然语言处理
Playwright MCP 浏览器自动化框架全面解析
Playwright MCP是微软推出的开源项目,结合Playwright与MCP协议,让AI通过结构化数据直接操作浏览器。告别传统视觉识别,实现高效、精准的网页自动化,广泛应用于测试、爬虫、办公自动化等场景,大幅提升效率与可靠性。
|
4月前
|
安全 Linux 网络安全
Metasploit Framework 6.4.88 (macOS, Linux, Windows) - 开源渗透测试框架
Metasploit Framework 6.4.88 (macOS, Linux, Windows) - 开源渗透测试框架
597 0
|
4月前
|
缓存 安全 Linux
Metasploit Pro 4.22.8-2025082101 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.8-2025082101 (Linux, Windows) - 专业渗透测试框架
225 0
|
5月前
|
SQL 安全 Linux
Metasploit Pro 4.22.8-2025073001 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.8-2025073001 (Linux, Windows) - 专业渗透测试框架
196 0
|
6月前
|
测试技术 API C++
Playwright 自动化测试系列(7)| 第三阶段:测试框架集成​​Page Object 模式
本课程详解Playwright测试框架中的Page Object模式,通过电商登录-下单实战演示PO架构设计与高级技巧,结合Pytest实现多用户测试。重点解析PO模式提升代码复用性、降低维护成本的核心价值,并提供常见问题解决方案,助力构建高可维护性的自动化测试体系。