> For the complete documentation index, see [llms.txt](https://superqa.gitbook.io/qa/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://superqa.gitbook.io/qa/api/page-1.md).

# Page 1

Обычно, слово Шпаргалка звучит как что-то запрещенное. В справочнике по программированию шпаргалка - это то, что используется для быстрой справки или для того, чтобы узнать что-то слишком конкретное без каких-либо подробностей, в основном коды, синтаксис или формулы. Таким образом, это руководство предназначено для быстрого ознакомления с некоторыми командами, кодами и синтаксисом Postman. Обратите внимание, что весь синтаксис и код, используемые здесь, соответствуют последнему стилю написания кодов/тестов в Postman.

Для более подробной информации вы можете посетить сайт: <https://learning.getpostman.com/docs/postman/scripts/test_examples/>

#### Переменные

Коды для работы с окружением и переменными

**Установка переменных**

***Глобальные переменные***

```
pm.globals.set('variable name', "value");
```

***Локальная переменная***

```
var variable_name = value;
```

***Переменная среды***

```
pm.environment.set('variable_name' , 'value');
```

**Получение переменных**

***Глобальные переменные***

```
pm.globals.get('variable_name');
```

***Переменная среды***

```
pm.environment.get('varibable_name');
```

***Переменная данных***

```
pm.iterationData.get('variable_name');
```

***Локальная переменная***

```
variable_name;
```

**Очистка переменных**

***Глобальные переменные (только одна)***

```
pm.globals.unset('variable_name');
```

***Глобальные переменные (все)***

```
pm.globals.clear();
```

***Переменная среды (только одна)***

```
pm.environment.unset('variable_name');
```

***Переменная среды (все)***

```
pm.environment.clear();
```

#### Ассерты

**Ответ**

Различные коды относящиеся к ответам запроса

***Ответ содержит строку***

```
pm.test("String found", function(){

pm.expect(pm.response.text()).to.include("string you want to search");

});
```

***Тело ответа равно строке***

```
pm.test("Body is equal to string", function(){

pm.response.to.have.body("string you want to check");
 
});
```

**Статус код**

Код, относящийся к статус кодам в Postman

***Один статус код***

```
pm.response.to.have.status(status_code);
```

***Несколько статус кодов***

```
pm.expect(pm.response.code).to.be.oneOf([status_code, status_code]);
```

**Время ответа**

```
pm.expect(pm.response.responseTime.to.be.below(time));
```

**Проверка значения JSON**

```
pm.test("Your_Test_Name", function(){

var jsonData = pm.response.json();

pm.expect(jsonData.value).to.eql(value);

});
```

**Заголовок содержит Content-Type**

```
pm.test("Your_Test_Name", function(){

pm.response.to.have.header("Content-Type");

});
```

**Ответ содержит куки sessionID**

```
pm.expect(pm.cookies.has('sessionID')).to.be.true;
```

**Тело ответа**

Код относящийся к телу ответа

***Точное совпадение***

```
pm.response.to.have.body("OK");
pm.response.to.have.body('{"success"=true}');
```

***Частичное совпадение***

```
pm.expect(pm.response.text()).to.include('ToolsQA');
```

**Отправить асинхронный запрос**

```
pm.sendRequest("https://postman-echo.com/get", function(err, response){

console.log(response.json());

});
```

#### JSON ответ

***Распарсить тело***

```
var jsonData = pm.response.json();
```

***Проверить количество массивов в ответе***

```
pm.test("ISBN Count", function () {
pm.expect(2).to.eql(pm.response.json().arrayName.length);
});
```

***Проверить конкретное значение внутри массива***

В этом примере проверяется конкретный номер ISBN среди всех книг, полученных в ответе, и возвращается значение true, если оно найдено.

```
pm.test("Test Name", function () {
var result;
for (var loop = 0; loop < pm.response.json().arrayName.length; loop++)
{
if (pm.response.json().arrayName[loop].arrayElement=== pm.variables.get("arrayElementValue")){
result=true;
break;
}
}
pm.expect(true).to.eql(result);
});
```

В двух приведенных выше примерах использовался Javascript, поскольку Postman Sandbox работает с javascript. Этот код не имеет конкретного отношения к Postman.

***Проверить значение***

```
pm.expect(jsonData.age).to.eql(value);

pm.expect(jsonData.name).to.eql("string");
```

***Преобразование тела XML в объект JSON***

```
var jsonObject = xml2Json(responseBody);
```

#### Рабочие процессы

***Установка следующего запроса***

```
postman.setNextRequest("Request Name");
```

***Прекратить выполнение запроса***

```
postman.setNextRequest(null);
```

#### Библеотека ассертов Chai

***Найти число в массиве***

```
pm.test(“Number included”, function(){
pm.expect([1,2,3]).to.include(3);
});
```

***Проверить, пустой ли массив***

```
pm.test(“Empty Array”, function(){
pm.expect([2]).to.be.an(‘array’).that.is.empty;
});
```

Переведено командой QApedia. Еще больше переведенных статей вы найдете на нашем [телеграм-канале](https://t.me/qa_wiki).
