airtest执行后,非必须的图片进行删除处理

airtest进行脚本编写,偶尔存在无法识别到图片,就需要再重新截图识别了,但是之前截取的图片并不会自动删除,编写了大量的脚本后,会存在很多无法匹配到的图片,本脚本主要进行的就是这些无法识别的错误图片的删除处理!

思路:

1.获取脚本路径(.air脚本)
2.获取脚本名称(.py脚本)
3.获取python脚本中出现的所有图片名称并去重
4.获取air目录下的所有png结尾的图片
5.判断第4步获取的图片名称在第4步中是否存在,不存在的就执行删除操作

企业微信截图_17095221429933.png

企业微信截图_17095219202203.png

企业微信截图_17095219944627.png
# handle_test.py

import re
import os

### 脚本位置(需要修改的仅此一行)
path_pre = "../test_case/chexiaotong/车效通无效状态页面.air"

# 获取py结尾的脚本名称
test_name = os.path.split(path_pre)[-1][:-4]  # 获取最后一层路径,并去掉.air结尾
print(test_name)


# 删除
def delete_image(filename):
    try:
        os.remove(filename)
        print("图片删除成功!")
    except FileNotFoundError:  # 处理文件不存在的异常
        print("图片不存在!")
    except PermissionError:  # 处理权限不足的异常
        print("无权限删除图片!")


# 获取目录下所有带png结尾结构的文件
def getfiles(input_path):
    filenames = os.listdir(input_path)
    # print(filenames)
    filenames_png = []
    for filename in filenames:
        if filename.endswith('.png'):
            filenames_png.append(filename)
    print(len(filenames_png))
    print(filenames_png)
    return filenames_png
    # path_list = []
    # for filename in filenames:
    #     a = os.path.join(input_path, filename)
    #     print(a)
    #     path_list.append(a)
    # print(path_list)


# 获取脚本中需要用到的图片并进行去重处理
def search_photo():
    with open(path_pre + '/%s.py' % test_name, 'rb') as f:
        data = f.read().decode(encoding="UTF-8")
        # print(str(data))
        res = re.findall('"(.*?)",', str(data))
        need_res = set(res)  # 去重
        print(len(need_res))
        print(need_res)
        return res


def execute():
    need_photo = search_photo()
    all_photo = getfiles(path_pre)
    nonessential_photo = []
    for i in all_photo:
        if i in need_photo:
            pass
        else:
            filename = path_pre + '/%s' % i
            delete_image(filename)
            nonessential_photo.append(i)
    print(len(nonessential_photo))
    print(nonessential_photo)

if __name__ == '__main__':
    execute()



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容