подпроцесс.Popen не работал так, как ожидалось, в одном тестовом случае

#python #subprocess #pytest #wiremock

Вопрос:

Я новичок. Поэтому,если я сделал что-то не так, пожалуйста, поправьте меня.

Я пишу скрипт автоматизации тестирования на python(python 3.. скажем так).Там я должен использовать автономные серверы wiremock(по крайней мере, 2). Я использую pycharm для написания.

Это линия, которую я использую для развертывания проволочных заграждений.

 command = "java -jar ~/wiremock/wiremock-jre8-standalone-2.31.0.jar --port "   str(  port_number)   " --disable-banner = true 1gt;/dev/null"  wiremock_pid.append(str(subprocess.Popen([command], shell=True).pid   1))  

Я написал несколько тестовых функций. Как я вижу, я могу запустить тестовую функцию двумя способами. Один из них состоит в том, чтобы нажать кнопку «Выполнить» рядом с самой функцией. введите описание изображения здесь

Другое заключается в том, чтобы запустить main.py сценарий, который включает в себя следующее

 import os os.system("pytest -v")  

Моя проблема в том, что эти серверы wiremock могут быть развернуты вторым способом. Я отладил оба сценария и увидел, что в первом случае сервер wiremock не развернут. Я попытался выполнить эти строки развертывания wiremock в другом скрипте python(просто новый файл python), и он там работает.

Что не так с запуском одной тестовой функции ?

Кто-нибудь может объяснить мне, что происходит?