Перейти к содержимому

Selenium IDE 3: стартовый уровень
онлайн, начало 19 апреля
Школа для начинающих тестировщиков
онлайн, начало 22 апреля
Тестирование REST API
онлайн, начало 22 апреля
Тестирование юзабилити (usability)
онлайн, начало 24 апреля
Фотография

Automated Testing WIth Postman

postman API Testing

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 6

#1 DosikSosik

DosikSosik

    Новый участник

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Рашидов Кабзол Ануарович

Отправлено 04 Март 2019 - 13:21

Всем Привет. Я новенький. 

Вообщем хорошие, отличные тестировщики! Нужна помощь автоматизация АПИ тестов. Я хочу написать авто тест для апи начало есть, но есть проблема, которую не могу решить. Проверка такая мне надо сверить данные на правильность. То есть чтоб в теле ответа поле CodeOgd отображается правильное значение.Теперь как написать код для авто тестов? Пробовал много методов, но ошибка пишет что не видит значение поле CodeOgd.

Вот мой responseBody: 

{

    "Data": {
        "IsHere": true,
        "Information": [
            {
                "NameTaxDepartament": "УГД по г. Актау",
                "Region": "Мангистауская область",
                "CodeOgd": "4306",
                "HeadFullNameKz": "Нусупов Кайрат Карымович",
                "HeadFullName": "Нусупов Кайрат Карымович",
                "TypeEconomicActivity": "52299 Прочая транспортно-экспедиционная деятельность",
                "IncludingMulct": 0,
                "LoadDate": "2019-03-04T18:54:48.5965552+06:00",
                "SourceDate": "2018-12-31T18:00:00Z"
            }
        ]
    }
}
Мне надо чтоб тест сам проверял поле CodeOgd на 4306, и что он правильный.  Спасибо! Буду очень рад

  • 0

#2 Little_CJIOH

Little_CJIOH

    Гуру

  • Members
  • PipPipPipPipPipPip
  • 1 358 сообщений
  • ФИО:Власкин Павел
  • Город:Санкт-Петербург


Отправлено 04 Март 2019 - 13:28

А код-то ваш где. который не находит CodeOgd?

С ненулевой вероятностью вы пытаетесь взять CodeOgd вместо Data.Information[0].CodeOgd
  • 0

#3 DosikSosik

DosikSosik

    Новый участник

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Рашидов Кабзол Ануарович

Отправлено 05 Март 2019 - 03:13

А код-то ваш где. который не находит CodeOgd?

С ненулевой вероятностью вы пытаетесь взять CodeOgd вместо Data.Information[0].CodeOgd

Спасибо большое, так работает. А так до этого писал

pm.test("CodeOgdTest", function (){

    var jsonData = pm.response.json();
pm.expect(jsonData.Data.Information.CodeOgd).to.eql("4306");
});
 
Сейчас так: pm.test("CodeOgdTest", function (){
    var jsonData = pm.response.json();
pm.expect(jsonData.Data.Information[0].CodeOgd).to.eql("4306");
});
и оно работает

  • 0

#4 DosikSosik

DosikSosik

    Новый участник

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Рашидов Кабзол Ануарович

Отправлено 05 Март 2019 - 12:19

А код-то ваш где. который не находит CodeOgd?

С ненулевой вероятностью вы пытаетесь взять CodeOgd вместо Data.Information[0].CodeOgd

Еще раз привет. Есть вопрос. помогите))

Вообщем ситуация вот мой тело ответа: 

{
    "Data": {
        "IsHere": true,
        "Information": [
            {
                "TaxPayerNumber": "010340000953",
                "LoadDate": "2019-03-05T18:03:17.7915083+06:00",
                "SourceDate": "2019-03-05T11:55:31.253Z",
                "LicenceNumber": "",
                "UniqueDocumentNumber": "KZ17000904466",
                "Nikad": "KZ24VHA00000381",
                "UniqueApplicationNumber": "",
                "ApplicationNikad": "KZ82RHA00000410",
                "Licensor": "РЕСПУБЛИКАНСКОЕ ГОСУДАРСТВЕННОЕ УЧРЕЖДЕНИЕ  «НАЦИОНАЛЬНЫЙ БАНК РЕСПУБЛИКИ КАЗАХСТАН»",
                "Licensee": "Акционерное общество \"Аграрная кредитная корпорация\"",
                "ActivityType": "Государственная регистрация выпуска негосударственных облигаций со сроком обращения не более двенадцати месяцев",
                "Status": "Действительный"
            },
            { ....... }
            { ....... }
            { ....... }
            { ....... }
            { ....... }
            { ....... }
            { ....... }
            { ....... }
            { ....... }
            { ....... }
            { ....... }
            { ....... }
            { ....... }
            { ....... }
            { ....... }      
        ]
    }
}
то что отметил жирным, как видите в массиве 17 объектов и данные отображены как на первом объекте. остальных сократил. Теперь вот не могу написать тест о том  что количество объектов в массиве 17 штук и они правильные. Типо тест считывает количество объектов в массиве( в данном случае 17шт), и в конце если количество 17шт то тест успешный, если вдруг 16 то он должен отобразится как ошибка. Буду очень благодарен. Так как недавно занимаюсь авто тестом. 

  • 0

#5 Little_CJIOH

Little_CJIOH

    Гуру

  • Members
  • PipPipPipPipPipPip
  • 1 358 сообщений
  • ФИО:Власкин Павел
  • Город:Санкт-Петербург


Отправлено 05 Март 2019 - 12:48

А вы не занимайтесь авто тестом.
Вы занимайтесь программированием, насколько я понимаю, на JS.
Сейчас вам интересны Arrays и Loops.
То есть в Data.Information вам приходит Array. Array - это типовая структура данных, во всех языках есть ее реализация в том или ином виде. Типовой функцией для массива является его размер (Len, Length, Size) И не менее типовой является обращение к произвольному элементу массива по индексу (порядковому номеру), обычно счет идет с 0 и индекс заключается в квадратные скобки. И массив в json, внезапно, тоже обрамляется в квадратные скобки.
А Loop - это такой хороший способ сделать что нибудь несколько, например MyArray.size(), раз.
Еще для перебора всех элементов некоторой группы хороши итераторы, но я не знаю как они реализованы и реализованы ли в JS.

ЗЫЖ и маскируйте информацию когда выкладываете примеры, у вас там все слишком похоже на реальные данные, которые как минимум могут быть конфиденциальны.
  • 0

#6 Little_CJIOH

Little_CJIOH

    Гуру

  • Members
  • PipPipPipPipPipPip
  • 1 358 сообщений
  • ФИО:Власкин Павел
  • Город:Санкт-Петербург


Отправлено 05 Март 2019 - 13:10

А код-то ваш где. который не находит CodeOgd?

С ненулевой вероятностью вы пытаетесь взять CodeOgd вместо Data.Information[0].CodeOgd

Спасибо большое, так работает. А так до этого писал
pm.test("CodeOgdTest", function (){
    var jsonData = pm.response.json();
pm.expect(jsonData.Data.Information.CodeOgd).to.eql("4306");
});
 
Сейчас так: pm.test("CodeOgdTest", function (){
    var jsonData = pm.response.json();
pm.expect(jsonData.Data.Information[0].CodeOgd).to.eql("4306");
});
и оно работает

Хоть поняли в чем разница?
  • 0

#7 DosikSosik

DosikSosik

    Новый участник

  • Members
  • Pip
  • 4 сообщений
  • ФИО:Рашидов Кабзол Ануарович

Отправлено 06 Март 2019 - 03:09

 

 

А код-то ваш где. который не находит CodeOgd?

С ненулевой вероятностью вы пытаетесь взять CodeOgd вместо Data.Information[0].CodeOgd

Спасибо большое, так работает. А так до этого писал
pm.test("CodeOgdTest", function (){
    var jsonData = pm.response.json();
pm.expect(jsonData.Data.Information.CodeOgd).to.eql("4306");
});
 
Сейчас так: pm.test("CodeOgdTest", function (){
    var jsonData = pm.response.json();
pm.expect(jsonData.Data.Information[0].CodeOgd).to.eql("4306");
});
и оно работает

 

Хоть поняли в чем разница?

 

даа, индекс массива до этого не писал 


  • 0


Программирование на С# для тестировщиков
онлайн
Автоматизатор мобильных приложений
онлайн
Selenium WebDriver: полное руководство
онлайн
Программирование на Python для тестировщиков
онлайн




Темы с аналогичным тегами postman, API, Testing

Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Яндекс.Метрика
Реклама на портале