LINUX.ORG.RU

Zabbix и SOAPUI

 ,


0

2

Добрый день. На habrahabr Нашёл пост с настройкой SOAPUI и Zabbix.(https://habrahabr.ru/company/at_consulting/blog/273805/) SOAPUI настроил осталось написать скрипт вызова.Не могу понять какие параметры вбивать, может у кого готовый есть?

## host:port/service_name endPoint=«$3»

## имя листа в файле-источнике Excel workSpaceName=«$7»

## наименование тестового набора в проекте testSuiteName=«$4»

## наименование тестового сценария в проекте testCaseName=«$5»

## путь, где хранятся проекты SoapUI для тестирования веб-служб pathSoapUiProjectWithName=$pathZabbixDirectory/WebTest/«$2.xml»

## путь к папке, где будут лежать отчеты тестирования веб-служб c разбиением по наименованию служб pathReportsDirectory=$pathParentReportDir/«$2»

## Путь к папке хранения отчетов с разбиением по хостам. Чтобы не перепутать, где лежат отчеты в случае, если одна и та же служба развернута на нескольких хостах pathReportsDirectoryForHost=$pathReportsDirectory/«$1»


А что не понятно? Это должно выглядеть как-то так:

/my/zabbix/megascript.sh someReport soapProject http://foo.bar/baz someTest someScenario undefVariable excelName

Сответвенно все эти значения взяты с потолка и подставлены на место $1..$7 в приведенной инструкции. $0 - путь к скрипту, дальше параметры по порядку передаются внутрь. $6 я не увидел.

alozovskoy ★★★★★
()
Ответ на: комментарий от alozovskoy

$6 я убрал из за ненадобности в Excel. Мне надо понять что каждый параметр означает в SOAPUI, что бы его задать.

Вот такой скрипт получается как я думаю,если убрать Execelб но пробелы остаются

#!/bin/bash ## путь к SoapUI pathSoapUIDirectory=/opt/SoapUI-5.2.1/bin/

## путь к папке Zabbix pathZabbixDirectory=/etc/zabbix

## путь, где хранятся проекты SoapUI для тестирования веб-служб pathSoapUiProjectWithName=$pathZabbixDirectory/WebTest/«Shina-soapui-project.xml»

## путь к папке, где будут лежать отчеты тестирования веб-служб pathParentReportDir=/var/www/zabbix/SoapReport

## путь к папке, где будут лежать отчеты тестирования веб-служб c разбиением по наименованию служб pathReportsDirectory=$pathParentReportDir/«$2»

## Путь к папке хранения отчетов с разбиением по хостам. Чтобы не перепутать, где лежат отчеты в случае, если одна и та же служба развернута на нескольких хостах pathReportsDirectoryForHost=$pathReportsDirectory/«$1»

## чтобы не создавать каждый раз необходимую структуру папок при включении в мониторинг новой веб-службы, создаем структуру папок и выдаем им необходимые права доступа. if [ -d «$pathParentReportDir» ]; then chmod 666 «$pathParentReportDir» else mkdir «$pathParentReportDir» chmod 666 «$pathParentReportDir» fi if [ -d «$pathReportsDirectory» ]; then chmod 666 «$pathReportsDirectory» else mkdir «$pathReportsDirectory» chmod 666 «$pathReportsDirectory» fi if [ -d «$pathReportsDirectoryForHost» ]; then chmod 666 «$pathReportsDirectoryForHost» else mkdir «$pathReportsDirectoryForHost» chmod 666 «$pathReportsDirectoryForHost» fi

## путь к файлу, в который SoapUI записывает все сценарии, которые не прошли проверки. Он пригодится чуть позднее searchfile=$pathReportsDirectoryForHost/«alltests-fails.html»

## host:port/service_name endPoint=«http://*:*/WebStore1S/warehouse.svc?wsdl»

## наименование тестового набора в проекте testSuiteName=«Shina»

## наименование тестового сценария в проекте testCaseName=«GetFotoTypeList»

## В зависимости от того, какие параметры были указаны при вызове скрипта, формируем команду запуска тестов SoapUI commandString=«sh $pathSoapUIDirectory/testrunner.sh -e $endPoint -s $testSuiteName» if [ -n «$testCaseName» ] then commandString=${commandString}" -c $testCaseName" fi commandString=${commandString}" -r -j -f $pathReportsDirectoryForHost"

commandString=${commandString}" -I $pathSoapUiProjectWithName" $commandString > $pathReportsDirectoryForHost/«$2RunLogs.txt»

###For Debug###k #errorString=«### ErrorCode: 1 - error of start of the project, 2 - Error of assertions of the tests, 0 - All ok. The returned code:» #echo «$errorString »$? >> /tmp/«$2RunLogs.txt»

if [ $? -ne 0 ]; then echo «ErrorOfRunProject» else if [ ! -f «$searchfile» ] then echo «FileNotFound» else if grep -w «Failure» «$searchfile» > /dev/null; then echo «TestFailure» else echo «OK» fi fi fi

tirael
() автор топика
Ответ на: комментарий от tirael

Ох, почитайте про разметку на форуме (в частности про тег [code]) - www.linux.org.ru/help/lorcode.md.

Если вы выкидываете 6 параметр значит вызов седьмого надо поменять на вызов шестого, или каждый раз в 6 параметр писать какую-то чепуху чтоб не сбивать нумерацию. В остальном вроде все ОК, но возможно из-за некорректно размеченного сообщения что-то упустил.

alozovskoy ★★★★★
()
Ответ на: комментарий от alozovskoy

Как я понял $7 это номер передаваемого значения в скрипт. ТОбиш я вызываю скрипт ./*.sh и передаю 7 параметров? В этом плане легче вбить их в сам скрипт.

Для меня многие параметры не понятны, методом тыка подставлять оч долго займёт времени.

Вот допустим в SOAPUI у меня такие настройки Проект называется Shina файл Shina-soapui-project.xml тестовый сценарий Shina сам тест GetFotoTypeList Всё. В остальные параметры что вбивать?

tirael
() автор топика
Ответ на: комментарий от tirael

Как я понял $7 это номер передаваемого значения в скрипт. ТОбиш я вызываю скрипт ./*.sh и передаю 7 параметров? В этом плане легче вбить их в сам скрипт.

Да, все так. Если менять не планируете можно $N в скрипте сразу менять на нужные значения.

Другие параметры же у вас содержат комментарии. С SoapUI я знаком поверхностно, так что не подскажу. Подождите, может кто более компетентный придет. Либо попробуйте написать автору хабрапубликации.

alozovskoy ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.