Мне нужна ваша помощь для решения следующей проблемы:
В рамках моего теста инфраструктуры фреймворка я должен выполнить некоторую проверку также через Linux CLI. Я импортировал SSHLibrary и могу правильно подключиться к своему Linux ящику:
*** Keywords ***
Verify Service On All Nodes
Open Connection ${host} prompt=REGEXP:[$|#]
login ${user} ${user_pass}
SSHLibrary.Read Until Prompt
write su - \n
Read Until Password:
Write ${root_pass}\n
BuiltIn.sleep 10
SSHLibrary.Set Client Configuration prompt=~]
Read Until Prompt
Write verify #this stepp calls a shell script which does the required check
BuiltIn.sleep 90
SSHLibrary.Read Until Prompt
${output} SSHLibrary.Read Until Prompt
Log ${output}
Приведенный выше фрагмент правильно регистрирует вывод моего скрипта проверки в отчет, но я бы хотел go шаг вперед.
Я написал функцию Python, которая проверяет вывод приведенного выше сценария.
def verify_service_state(ab11, ab12, s):
import re
servers = [ab11, ab12]
for i in servers:
r1 = re.search(r"^Checking listening ports on " + (i) + " for roles: \(AB\)" + "\nThere were no errors reported.", s, re.MULTILINE)
if (r1):
print("Listening ports are open " + (i))
else:
print("Not all listening ports are open on " + (i))
r2 = re.search(r"^Checking process counts on " + (i) + " for roles: \(AB\)" + "\nThere were no errors reported.", s, re.MULTILINE)
if (r2):
print("There were no errors reported on " + (i))
else:
print("Not all services are working as expected on " + (i))
Я создал библиотеку RF на основе этого поста: Создание библиотеки фреймворка робота из существующего python пакета Однако не ясно, как я могу передать атрибуты своей функции.