Добавлены файлы сертификатов и ключей в файл js newman, но я все равно мог видеть сообщения об ошибках.

Мне нужно было бы добавить сертификат и ключ в файл .js newman. Пожалуйста, порекомендуйте.

Ниже приведен мой пример (модифицированного) кода,

var https = require('https');
var fs = require('fs');
const newman = require('newman');
    newman.run({
        collection: require("/Users/cloud/Documents/sample.json"), // can also provide a URL or path to a local JSON file.
        environment: require("/Users/cloud/Documents/env.json"),
        insecure: true,
        sslClientCert: fs.readFileSync("/Users/cloud/Documents/certs/test.crt"),
        sslClientKey: fs.readFileSync("/Users/cloud/Documents/certs/test.key"),
        reporters: 'htmlextra',
        reporter: {
            htmlextra: {
                export: '/Users/cloud/Documents/report', // If not specified, the file will be written to `newman/` in the current working directory.
                darkTheme: true, // optional, tells the reporter to use the `Dark Theme` template
                title: 'My new report title'
            }
        }
    }, function (err) {
        if (err) {throw err;}
        console.log('collection run 8 complete!');
    });

Я добавил файл сертификата и ключа, но все еще получаю сообщение об ошибке рукопожатия SSL. Но когда я запускаю newman, используя команду ниже, она работает. Я не могу передать ключ клиента и сертификат клиента в файл js

newman run "collectio.json" -e "env.json" --insecure --ssl-client-key <keypath> --ssl-client-cert <cert path>

Ниже приведено сообщение об ошибке, которое я вижу в отчете html, но оно хорошо работает в CLI newman,

Assertion: 

write EPROTO 4514592192:error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure:../deps/openssl/openssl/ssl/record/rec_layer_s3.c:1536:SSL alert number 40

Unexpected token u in JSON at position 0

В моем фрагменте коллекции я использовал,

var jsonData = JSON.parse(responseBody);
console.log(jsonData);
pm.globals.set("JWT", jsonData.access_token);

Заранее спасибо.


person ArunPrasath    schedule 08.11.2019    source источник


Ответы (1)


Вам необходимо использовать следующие параметры (sslClientCert и sslClientKey) в объекте запуска Newman:

newman.run({
        collection: require("/Users/cloud/Documents/sample.json"), // can also provide a URL or path to a local JSON file.
        environment: require("/Users/cloud/Documents/env.json"),
        insecure: true,
        sslClientCert: fs.readFileSync("/Users/cloud/Documents/certs/test.crt"),
        sslClientKey: fs.readFileSync("/Users/cloud/Documents/certs/test.key"),
        reporters: 'htmlextra',
        reporter: {
            htmlextra: {
                export: '/Users/cloud/Documents/report', // If not specified, the file will be written to `newman/` in the current working directory.
                darkTheme: true, // optional, tells the reporter to use the `Dark Theme` template
                title: 'My new report title'
            }
        }
    }, function (err) {
        if (err) {throw err;}
        console.log('collection run 8 complete!');
    });
person Danny Dainton    schedule 08.11.2019
comment
Привет, Дэнни. Как было предложено, я попробовал. Теперь я мог видеть, что проходит самый первый запрос, и я не видел ответа в отчете о теле. Однако, когда я нажимаю на почтальона, тот же запрос проходит, и даже когда я запускаю newman (без генерации отчета), запросы проходят. Только при использовании .js (код выше) происходит сбой. Не работает, как ожидалось. Добрый совет - person ArunPrasath; 11.11.2019
comment
я изменил содержание и предоставил больше данных. Не могли бы вы ознакомиться и посоветовать. - person ArunPrasath; 11.11.2019