Как будет структурировано определение шага, если мне придется сделать вызов REST и сравнить значения ответа с пользовательским интерфейсом? - PullRequest
0 голосов
/ 10 июня 2018

Вот пример определения шага, в котором я хочу получить имя и фамилию учащегося из пользовательского интерфейса и GET API и сравнить их.В данный момент я просто пытаюсь распечатать ответ GET и затем построить тестовый пример оттуда

Но он не вызывает сервис, и огурец показывает шаг как пройденный.Я уверен, что мой формат для определения шага не правильный.Как я могу написать это по-разному.Я ссылался на эту статью здесь: - https://github.com/cucumber/cucumber-js/blob/master/docs/support_files/step_definitions.md

            Then(/^I check the student info against the service response$/, function(){
                var request = require('request');
                var options = {
                    method: 'GET',
                    url: 'https://examples.com/manager/01',
                    headers: {
                        'Authorization': 'username',
                        'Accept': 'application/json',
                        'Accept-Language': 'en-us',
                        'userID': 'Ap123'
                    },
                    };

function callback(error, response){
                        console.log("inside callback");
                        if (!error && response.statusCode == 200) {
                            var info = JSON.parse(body);
                            console.log(response);
                            console.log(info);
                    }
                }

                //text from page object and call to GET Service
                return this.pages.prd2Page.getstudentInfo().then(text => {
                    console.log("text from the UI: " + text);
                    request(options, callback);
                });
            });

1 Ответ

0 голосов
/ 11 июня 2018

Мне удалось сделать успешный вызов GET таким образом

Then(/^I check the manager info against the serice response$/, function () {
    //var request = require('request');
    var request = require('request-promise');
    var options = {
        method: 'GET',
        url: 'https://examples.com/manager/01',
        strictSSL: false,
        headers: {
            'Authorization': 'username',
            'Accept': 'application/json',                
            'userID': 'Ap123'
        },

    };

    return request(options).then(repos => {
        console.log(repos);
    }).catch(err => {
        console.log("Api call failed");
    });
});

Я удалил шаги пользовательского интерфейса.Я должен вернуть их обратно, но служба не была вызвана из-за причудливых обещаний.Я установил другой модуль npm под названием «request-обещание», чтобы помочь мне использовать синтаксис «.then» для структурирования моего определения шага

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...