首页 > 其他分享 >win系统airtest+pytest-xdist服务器分布式运行。

win系统airtest+pytest-xdist服务器分布式运行。

时间:2022-08-26 10:56:45浏览次数:92  
标签:win xdist param filename HOST pytest MASTER report PATH

一.环境部署

1.准备至少两台服务器,集群全部是局域网,(启动脚本的时候可以使用外网ip)。

2.输出的报告地址,需要把文件夹设置成共享文件夹,(连接的时候使用内外ip)。

import os, datetime, sys# sys包启动py文件的时候可以给文件入参运行
HOST1 = "服务器1"
HOST2 = "服务器2"
MASTER_HOST = r"\\127.0.0.1"#主服务器
MASTER_HOST_report_PATH=fr"{MASTER_HOST}\output\report"
date = datetime.datetime.now().strftime("%Y_%m_%d")
dates = datetime.datetime.now().strftime("%Y_%m_%d_%H_%M_%S")
BASE_PATH = os.path.dirname(__file__)
filename = dates
param = sys.argv[1]
if param == "polis" or param == "loudliveroom" or param == "fittingroom":
    os.mkdir(fr"{MASTER_HOST_report_PATH}\{param}\{filename}")
    os.system(
        fr'pytest -sv  -d --tx socket={HOST1}  --rsyncdir {BASE_PATH}\casetests  -m "polis" --alluredir={MASTER_HOST_report_PATH}\{param}\{filename}\allure')#输出的报告路径需要主服务器地址加共享的文件夹路径(否则报告不会收集起来)
    os.system(
        fr"allure generate {MASTER_HOST_report_PATH}\{param}\{filename}\allure -o {MASTER_HOST_report_PATH}\{param}\{filename}\report --clean")

elif param == "loudliveroom,fitting" or param == "loudliveroom,polis" or param == "fittingroom,polis" or param == "loudliveroom,fittingroom,polis":
    os.mkdir(fr"{MASTER_HOST_report_PATH}\all_report\{filename}")
    os.system(
        fr'pytest -sv  -d --tx socket={HOST1}   --rsyncdir {BASE_PATH}\casetests  -m "polis" --alluredir={MASTER_HOST_report_PATH}\all_report\{filename}\allure')
    os.system(
        fr"allure generate {MASTER_HOST_report_PATH}\all_report\{filename}\allure -o {MASTER_HOST_report_PATH}\all_report\{filename}\report --clean")
else:
    print("脚本启动错误")

 

标签:win,xdist,param,filename,HOST,pytest,MASTER,report,PATH
From: https://www.cnblogs.com/DarinGao/p/16626828.html

相关文章