分享一个用ChatGPT写的自动化测试的Python脚本

有时候因为要跑很多rtl的仿真,而现有的资源比较有限,每次都需要等一批rtl仿真结束后,才可以执行下一批,尤其是碰到最末的时候,一批rtl仿真结束,要是在打开电脑去run下一批,确实挺不方便的

一度想着要是有个脚本就好了,奈何自己Python确实不行,刚好最近有大火的ChatGPT,就用ChatGPT辅助写了个脚本

应用场景和思路介绍

每个人的仿真资源是有限的,就比如分配给我的资源是10个,那么我一次最多可以丢10个rtl仿真,空闲的资源数量可以通过shell cmd打印出来

我现在需要的情景是,一次丢多个rtl仿真,但前后只需要丢两次rtl仿真,因此,我可以在第一次丢rtl仿真后,运行脚本,等第一次丢的rtl仿真完成后,自动丢第二次rtl仿真

因此大题思路如下:(均基于丢完第一次rtl仿真)

1、执行shell cmd,并将内容写入一个文档中

2、 读取文档内容,根据正则表达式,提取当前占用资源的「数值」

3、比对该数值与设定阈值的大小,判断是进行下一次的rtl仿真,还是等待若干小时进行下次读取状态

大概就是这样,下面给出Python代码

Python代码

#!/usr/bin/env python

import subprocess
import re
import time

status_cmd = '查看状态的shell指令'
threshold =    #状态值, int型
excute_cmd = '符合条件后执行的shell指令'
sleep_time = #每隔多久检查一次, int型,单位:小时
find_str = r'指定查找的内容'

#定义子函数
def extr_num(find_str):
    subprocess.call(status_cmd > 'file.txt', shell=True) #执行shell cmd,并将内容写入 file.txt文件中
    
    with open('file.txt', 'r') as f:
        cont = f.read()
       
    match = re.search(find_str, cont)
    
    if match:
        num = int(match.group(1))
        if num > threshold:
            return num
        else:
            subprocess.call(excute_cmd, shell=True)
            return None
     else:
         print('Error >_<')
         return None
    
#主函数执行
result = extr_num(find_str)

while result is not None:
    print("等待 n 小时再次获取状态 ...")
    print(time.strftime('%Y-%m-%d  %H-%M-%S', time.localtime()))
    time.sleep(sleep_time * 60 * 60)
    result = extr_num(find_str)
 
#执行完后,删除file.txt
subprocess.call('rm -f file.txt', shell=True)

具体每个库函数啥作用,有啥需要注意的咱也不懂,毕竟对Python也没那么了解,反正能用,嘿嘿... 

最后:下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

在这里插入图片描述

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

图片

整套资料获取

  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值