Skip to content

ItGroupAlex/Postman

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

94 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QA

Текстовка заданий Homework 1-3: HW_exercises
Homework 1-3 (code): QA_HW.postman_collection.json
Homework 1-3 (result of run): QA_HW.postman_test_run.json

Homework Charles:

Homework Fiddler:

Основные команды

ПАРСИНГ

// Спарсить response body в json.

var jsonData = pm.response.json();

// Спарсить request. (POST/GET) (переменные в Body - form-data)

var req = request.data

// Спарсить request. (POST/GET) (переменные в Body - raw(JSON))

var req = JSON.parse(pm.request.body);

//Спарсить request.(GET)

var req_url = pm.request.url.query.toObject();

//проверка схемы JSON

var schema = {
    "type": "object",
    "required": [
        "age",
        "name",
        "salary"
    ],
    "properties": {
        "age": {
            "type": "integer",
            },
        "salary": {
            "type": "array",
            "items": {
                "anyOf": [{
                    "type": "integer",
                   },
                {
                    "type": "string",
                }]
            },
        }
    },
};

pm.test('Schema is valid', function () {
    pm.expect(tv4.validate(jsonData, schema)).to.be.true;
});

//или (без первоначального парсинга response в переменную) + более распианные ошибки   

pm.test('Schema is valid', function() {
  pm.response.to.have.jsonSchema(schema);
});

// пример построения теста сравнения

pm.test("Текстовка", function () {
    pm.expect(jsonData.name).to.eql("Anna");
});

// сравнение

.to.eql "="
.to.below "<"  
.to.above ">"

// ожидание

pm.expect

// принадлежность к типу

.to.be.a('number');

// наличие значения

to.have.property

// статус в ответе 200 (например)

pm.response.to.have.status(200)

// вывод в консоль элемента по порядковому номеру (из списка) (в JSON это не сработает, т.к. JSON не нумеруем)

console.log(jsonData.salary[0])

environment.set
environment.get

// Создать в окружении переменную name

pm.environment.set("name");

// Создать в окружении переменную name и одновременно передать в нее переменную name из запроса URL

pm.environment.set("name", req_url.name);

//// получить из окружения переменную name

pm.environment.get("name");

// Написать цикл который выведет в консоль по порядку элементы списка из параметра salary. []-список

var n = 0;
while (n < (jsonData.salary).length) 
{
console.log(jsonData.salary[n]);
n++
}

// Написать цикл который выведет в консоль по порядку элементы списка из параметра person. {}-JSON

for (key in jsonData.person) {
    console.log( key + ": " + jsonData.person[key])
};

// перевод в другой тип

String(jsonData.age)

Типы переменных JS
*String
*Number
*Object (JSON)
*Boolean

*null
*undefined
*symbol
*BigInt


raw JSON (Там где String "")

{
    "name":"{{name}}",
    "age":{{age}},
    "salary":1000,
    "auth_token":""
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published