Потребуется помощь людей, которые имеют опыт написания сценария ожидания. Я не могу найти правильное решение для обработки нескольких типов сообщений, возвращаемых в сценарии ожидания. Я пытаюсь протестировать 2 сценария ios, где последнее возвращенное сообщение может иметь два разных типа ответа. В дополнение к обработке этого ответа не ожидается отправки какого-либо ответа для окончательного эхо-сообщения. как мне этого добиться?
test_script.sh
---------------
#!/bin/bash
echo "Session Name ?"
read $REPLY
echo "First Name ?"
read $REPLY
echo "Last Name ?"
read $REPLY
echo "Op# ?"
read $REPLY
echo "Password ?"
read $REPLY
echo "Password again?"
read $REPLY
echo "Session Name: RajP"
echo "First Name : Raj"
echo "Last Name : P"
echo "OP# : Arch"
echo "Continue? (y|n)"
read $REPLY
echo "row count = 1"
test_script2.sh
---------------
#!/bin/bash
echo "Session Name ?"
read $REPLY
echo "First Name ?"
read $REPLY
echo "Last Name ?"
read $REPLY
echo "Op# ?"
read $REPLY
echo "Password ?"
read $REPLY
echo "Password again?"
read $REPLY
echo "Session Name: RajP"
echo "First Name : Raj"
echo "Last Name : P"
echo "OP# : Arch"
echo "Continue? (y|n)"
read $REPLY
echo "You already have a ses_data record for OP_NBR=Arch"
expect_test_script.sh
---------------------
#!/usr/bin/expect -f
set timeout -1
spawn ./test_script.sh
expect "Session Name ?\r"
send "RajP\r"
expect "First Name ?\r"
send "Raj\r"
expect "Last Name ?\r"
send "P\r"
expect "Op# ?\r"
send "Arch\r"
expect "Password ?\r"
send "Pass123\r"
expect "Password again?\r"
send "Pass123\r"
expect "Session Name: RajP\r"
expect "First Name : Raj\r"
expect "Last Name : P\r"
expect "OP# : Arch\r"
expect "Continue? (y|n)\r"
send "y\r"
expect {
"You already have a ses_data record for OP_NBR=Arch"{exp_continue}
"row count = 1"{exp_continue}
}
expect eof
My expect script is trying to test 2 different shell scripts : test_script.sh and test_script2.sh ...
It fails with this message
expect: spawn id exp7 not open
while executing
"expect eof"
(file "./expect_test_script.sh" line 26)
Как мне закодировать свой ожидаемый сценарий, чтобы он мог обрабатывать последнее эхо обоих тестовых сценариев (test_script. sh и test_script2.s)?