继续上篇文章来介绍下如何把写好的测试用例放在后台来运行,同时在停止测试用例时能够一键执行脚本来停止对应的测试用例,这样可方便在多台机器上测试此用例,从而达到大量机器测试稳定性。
1、首先写一个.bat的脚本,假如测试用例文件名为test.py,则该脚本可写成如下内容
python ./test.py
用此脚本来启动测试用例
2、在win系统环境下,删掉进程的命令是taskkill /pid 16376 /f
即可强制杀死进程号为16376的进程,这样我们就同样可通过脚本来杀死测试用例进程。但是在这里就会遇到一个问题,测试用例的进程号该怎么知道呢?你应该能想到到的了,可以使用tasklist来查看测试使用的进程号,是的,没错通过此命令是可以查看到,然后把此进程号写在脚本里。但如此,显然是不够智能化自动化。
想要自动化地获取进程号来杀死测试用例进程,我们就可在python的测试使用里直接获取当前的进程号,并保存起来不就可以的了吗!所以我们可在测试用例的最一开始之处添加如下的程序内容
# ========获取python进程号======== def produce_stop_bat(pid, tmpfile="stop_xxx.bat"): # 待写入内容 stop_cmd = 'taskkill /pid ' + str(pid) + ' /f' # 关闭指定进程 del_self_cmd = "del %0" # 删除自身文件 # 当前文件的路径及名称 tmp_all = "stop_" + tmpfile + ".bat" # 打开文件 with open(file=tmp_all, mode="w") as f: f.write(stop_cmd + "\n" + del_self_cmd) #向文件里写入的内容 # 获取当前的进程号 pid = os.getpid() # 本文件名(不含后缀.py) filename = os.path.split(__file__)[-1].split(".")[0] # 生成关闭进程的脚本文件 produce_stop_bat(pid, filename)
如上面及注释,这样在执行测试用例时,直接获取当前的进程号,并保存到stop_$(filename).bat文件里,注意此文件也是在执行测试用例时自动产生。例如若测试用例名为test.py,则产生的脚本文件为stop_test.bat。这样在想要停止测试用例时,直接执行该脚本即可,同时最后会自动删除该脚本文件,以防以后误执行该脚本而产生问题。