Как получить счет успеха, количество неудач и причины сбоя при тестировании веб-сервисов отдыха из файла с помощью оболочки script
Привет, я тестирую веб-службы с помощью оболочки script, имея несколько условий if, с кодировкой оболочки script. Я получаю счет успеха, количество ошибок и причины сбоя.
success=0
failure=0
if curl -s --head --request DELETE http://localhost/bimws/delete/[email protected] | grep "200 OK" > /dev/null; then
success=$((success+1))
else
echo "DeleteUser is not working"$'\r' >> serverLog.txt
failure=$((failure+1))
fi
if curl -s --head --request GET http://localhost/bimws/get/[email protected] | grep "200 OK" > /dev/null; then
success=$((success+1))
else
curl -s --head --request GET http://localhost/bimws/get/[email protected] > f1.txt
echo "getUserDetails is not working"$'\r' >> serverLog.txt
failure=$((failure+1))
fi
if curl -s -i -X POST -H "Content-Type:application/json" http://localhost/bimws/post/addProjectLocationAddress -d '{"companyid":"10","projectid":"200","addresstypeid":"5","address":"1234 main st","city":"san jose","state":"CA","zip":"989898","country":"United States"}' | grep "200 OK" > /dev/null; then
success=$((success+1))
else
echo "addProjectLocationAddress is not working"$'\r' >> serverLog.txt
failure=$((failure+1))
fi
echo $success Success
echo $failure failure
но я с нетерпением жду тестирования веб-сервисов из файла, например, у меня есть файл, называемый web_services.txt, который содержит все мои веб-службы с помощью оболочки script, как я могу выполнить и подсчитать успех, количество неудач и причины сбоя
web_services.txt
Все разные вызовы delete, get и post
http://localhost/bimws/delete/[email protected]
http://localhost/bimws/get/[email protected]
http://localhost/bimws/post/addProjectLocationAddress -d '{"companyid":"10","projectid":"200","addresstypeid":"5","address":"1234 main st"
,"city":"san jose","state":"CA","zip":"989898","country":"United States"}'
Ответы
Ответ 1
Прежде всего, ваш текущий код неправильно обрабатывает пустые строки. Вам нужно пропустить их.
Ваши строки уже содержат команды оболочки. Запуск завитка на них не имеет смысла. Вместо этого вы должны оценить эти команды.
Затем вам нужно изменить завиток, чтобы он сообщал, был ли запрос успешным, добавив -f
:
FILE=D:/WS.txt
success=0
failure=0
while read LINE; do
if test -z "$LINE"; then
continue
fi
if eval $(echo "$LINE" | sed 's/^curl/curl -f -s/') > /dev/null; then
success=$((success+1))
else
echo $LINE >> aNewFile.txt
failure=$((failure+1))
fi
done < $FILE
echo $success Success
echo $failure failure