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文件,获取并返回其中包含的脚本文件路径。

 

 
相关文章
|
26天前
|
人工智能 搜索推荐 数据管理
探索软件测试中的自动化测试框架选择与优化策略
本文深入探讨了在现代软件开发流程中,如何根据项目特性、团队技能和长期维护需求,精准选择合适的自动化测试框架。
81 8
|
2天前
|
人工智能 编解码 自然语言处理
AGUVIS:指导模型实现 GUI 自动化训练框架,结合视觉-语言模型进行训练,实现跨平台自主 GUI 交互
AGUVIS 是香港大学与 Salesforce 联合推出的纯视觉 GUI 自动化框架,能够在多种平台上实现自主 GUI 交互,结合显式规划和推理,提升复杂数字环境中的导航和交互能力。
27 8
AGUVIS:指导模型实现 GUI 自动化训练框架,结合视觉-语言模型进行训练,实现跨平台自主 GUI 交互
|
12天前
|
人工智能 Linux API
PromptWizard:微软开源 AI 提示词自动化优化框架,能够迭代优化提示指令和上下文示例,提升 LLMs 特定任务的表现
PromptWizard 是微软开源的 AI 提示词自动化优化框架,通过自我演变和自我适应机制,迭代优化提示指令和上下文示例,提升大型语言模型(LLMs)在特定任务中的表现。本文详细介绍了 PromptWizard 的主要功能、技术原理以及如何运行该框架。
101 8
PromptWizard:微软开源 AI 提示词自动化优化框架,能够迭代优化提示指令和上下文示例,提升 LLMs 特定任务的表现
|
9天前
|
数据采集 人工智能 自然语言处理
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
Midscene.js 是一款基于 AI 技术的 UI 自动化测试框架,通过自然语言交互简化测试流程,支持动作执行、数据查询和页面断言,提供可视化报告,适用于多种应用场景。
102 1
Midscene.js:AI 驱动的 UI 自动化测试框架,支持自然语言交互,生成可视化报告
|
21天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
53 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
27天前
|
安全 Ubuntu Linux
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
43 9
Metasploit Pro 4.22.6-2024111901 (Linux, Windows) - 专业渗透测试框架
|
18天前
|
JSON 数据可视化 测试技术
python+requests接口自动化框架的实现
通过以上步骤,我们构建了一个基本的Python+Requests接口自动化测试框架。这个框架具有良好的扩展性,可以根据实际需求进行功能扩展和优化。它不仅能提高测试效率,还能保证接口的稳定性和可靠性,为软件质量提供有力保障。
50 7
|
1月前
|
Java 测试技术 API
探索软件测试中的自动化测试框架
本文深入探讨了自动化测试在软件开发中的重要性,并详细介绍了几种流行的自动化测试框架。通过比较它们的优缺点和适用场景,旨在为读者提供选择合适自动化测试工具的参考依据。
|
3月前
|
Java 测试技术 C#
自动化测试之美:从Selenium到Appium
【10月更文挑战第3天】在软件开发的海洋中,自动化测试如同一艘航船,引领着质量保证的方向。本文将带你领略自动化测试的魅力,从Web端的Selenium到移动端的Appium,我们将一探究竟,看看这些工具如何帮助我们高效地进行软件测试。你将了解到,自动化测试不仅仅是技术的展示,更是一种提升开发效率和产品质量的智慧选择。让我们一起启航,探索自动化测试的世界!
|
3月前
|
Web App开发 IDE 测试技术
自动化测试的利器:Selenium 框架深度解析
【10月更文挑战第2天】在软件开发的海洋中,自动化测试犹如一艘救生艇,让质量保证的过程更加高效与精准。本文将深入探索Selenium这一强大的自动化测试框架,从其架构到实际应用,带领读者领略自动化测试的魅力和力量。通过直观的示例和清晰的步骤,我们将一起学习如何利用Selenium来提升软件测试的效率和覆盖率。