Динамическое добавление «Заметок» через аргументы командной строки Тельца - PullRequest
0 голосов
/ 13 февраля 2019

Я использую образ Docker blazemeter/taurus:1.13.2 с модулем отчетов Blazemeter для выполнения тестов.

Есть ли способ из командной строки телец, что я могу передать значение для поля «Примечания» в BlazeMeter?Я успешно передал другие значения, такие как:

-o modules.blazemeter.report-name="${report_name}"

Я надеялся, что нечто подобное было все, что нужно было передать в «Заметки».Я пробовал:

-o modules.blazemeter.notes="${notes}"

но не повезло.

Вот мой скрипт для запуска полной командной строки:

#!/bin/bash
api_token=$1
timestamp=`date +%s`
report_name="`hostname`_`git log --format='%h' -n 1`_taurus-jmeter_${timestamp}"
notes="testing use of notes through taurus command line args"
artifacts_dir="artifacts/${timestamp}"
docker run -t --rm -v `pwd`:/bzt-configs -v `pwd`/artifacts:/tmp/artifacts blazemeter/taurus:1.13.2 taurus.yml -o settings.artifacts-dir="${artifacts_dir}" -o modules.blazemeter.report-name="${report_name}" -o modules.blazemeter.notes="${notes}" -o modules.blazemeter.token="${api_token}"

1 Ответ

0 голосов
/ 25 февраля 2019

Используя JMeter, вы можете использовать этот код, который вы можете вставить в JSR223 Sampler внутри Настройка группы потоков В качестве альтернативы вы можете использовать Shell Exec .

Код в Java: URL url = новый URL ("https://a.blazemeter.com:443/api/v4/masters/" + masterId); HttpURLConnection conn = null; try {conn = (HttpURLConnection) url.openConnection (); conn.setRequestMethod (" POST ")); conn.setRequestProperty ("Content-Type", "application / json"); conn.setDoInput (true); conn.setDoOutput (true);

            /* We use the API Key and API Secret as Basic Authentication */
            String usernameColonPassword = "" + X_GlobalVariables.BZM_API_KEY + ":" + X_GlobalVariables.BZM_API_SECRET + "";
            String basicAuthPayload = "Basic " + Base64.getEncoder().encodeToString(usernameColonPassword.getBytes());

            // Include the HTTP Basic Authentication payload
            conn.addRequestProperty("Authorization", basicAuthPayload);

            //Create JSONObject here
            JSONObject jsonParam = new JSONObject();
            jsonParam.put("note", "Service Version: " + serviceVersion + "\nGateway Version: " + gatewayVersion + "");
            try (OutputStreamWriter out = new  OutputStreamWriter(conn.getOutputStream())) {
                out.write(jsonParam.toString());
            }

            /* Check here for a OK (200) response */
            if (conn.getResponseCode() != 200) {
                 throw new RuntimeException("Failed : HTTP error code : "
                     + conn.getResponseCode());
            }

            /* Release the connection */
        } finally {
            if (conn != null) {
                conn.disconnect();
            }
        }

Источник:

...