Если тесты пройдены или не пройдены, его можно сохранить как целое число. Например, 0 означает, что тест пройден, а все, что больше 0, означает, что тест не пройден. Вот почему я использовал:
output = p.communicate()[0]
rc = p.returncode
import sys
import subprocess
my_path = sys.executable
def run_process(command):
global output
global rc
print("Running command: " + command)
p = subprocess.Popen(command, shell=True, stdout=subprocess.PIPE)
while True:
if sys.version_info >= (3, 0):
nextline = str(p.stdout.readline(),"utf-8")
else:
nextline = p.stdout.readline()
if nextline == '' and p.poll() is not None:
break
sys.stdout.write(nextline)
sys.stdout.flush()
output = p.communicate()[0]
rc = p.returncode
python_path = my_path + ' -m robot.run'
Location ='C:/Users/Desktop/pass_or_fail.robot'
command=python_path+' '+Location
run_process(command)
print(my_path)
print(rc)