Postman — Dicas de produtividade
Tags: postman, productivity, tips
Published: 2020-04-17 01:22:39

O objetivo desse post é dar alguma dicas para você ser mais produtivo com a ferramenta.

Nós criaremos um workspace, com uma collection, e dois requests, utilizando variáveis de ambiente e preenchendo uma delas dinamicamente.

Como caso de teste, utilizaremos uma api em *node.js* com dois endpoints. Um de autenticação, onde obteremos uma chave de acesso, e outro para buscarmos uma lista de usuários.

Vou deixar o código desse api disponível no repositório a seguir: [https://github.com/filipeferreira-dev/node-sample](https://github.com/filipeferreira-dev/node-sample)

# **Workspace**

Esse recurso do postman permite você ter várias “áreas de trabalhos” como a tradução propriamente diz. Com isso é possível ter várias configurações diferentes de workpaces sem um interferir no outro, como configurações de ambiente por exemplo. Isso é bem útil quando estamos trabalhando com vários projetos distintos. Você também pode compartilha-lo com seu time.

Confira a [documentação oficial](https://learning.getpostman.com/docs/postman/workspaces/intro_to_workspaces/) para mais detalhes.

A seguir criaremos um novo **workspace** para esse exemplo.

- Na barra superior clique em **My Workspace** e depois clique em **Create New.**

![https://miro.medium.com/max/30/1*uyBmuN_o9NA9EcrGKbM7Tg.png?q=20](https://miro.medium.com/max/30/1*uyBmuN_o9NA9EcrGKbM7Tg.png?q=20)

![https://miro.medium.com/max/515/1*uyBmuN_o9NA9EcrGKbM7Tg.png](https://miro.medium.com/max/515/1*uyBmuN_o9NA9EcrGKbM7Tg.png)

Captura de tela após clique no botão **My Workspace**

- Na janela que se abriu, de um nome ao ser **Workspace,** mude o **Type** para **Personal** e depois clique em **Create Workspace.** (Após isso o workspace criado será automaticamente selecionado)

![https://miro.medium.com/max/30/1*EPpuJjYRjTn05XtdVRZ34A.png?q=20](https://miro.medium.com/max/30/1*EPpuJjYRjTn05XtdVRZ34A.png?q=20)

![https://miro.medium.com/max/692/1*EPpuJjYRjTn05XtdVRZ34A.png](https://miro.medium.com/max/692/1*EPpuJjYRjTn05XtdVRZ34A.png)

Captura da Janela de criação de **workspace**

# **Collection**

As collections (ou coleções) são “agrupadores” de requests (requisições), você pode organizar seus requests da maneira que desejar inclusive criando subpastas.

Confira a [documentação oficial](https://learning.getpostman.com/docs/postman/collections/intro_to_collections/) para mais detalhes.

A seguir criaremos uma **collection** para o nosso exemplo:

- Clique botão **New** no canto superior esquerdo da tela.

![https://miro.medium.com/max/30/1*lwBG04VY-dY5we9ls1Ao8A.png?q=20](https://miro.medium.com/max/30/1*lwBG04VY-dY5we9ls1Ao8A.png?q=20)

![https://miro.medium.com/max/527/1*lwBG04VY-dY5we9ls1Ao8A.png](https://miro.medium.com/max/527/1*lwBG04VY-dY5we9ls1Ao8A.png)

- Na janela que se abriu selecione a opção **Collection**

![https://miro.medium.com/max/30/1*3QBNKsnnvj7LZ0Ivh9ArFQ.png?q=20](https://miro.medium.com/max/30/1*3QBNKsnnvj7LZ0Ivh9ArFQ.png?q=20)

![https://miro.medium.com/max/1108/1*3QBNKsnnvj7LZ0Ivh9ArFQ.png](https://miro.medium.com/max/1108/1*3QBNKsnnvj7LZ0Ivh9ArFQ.png)

- Na janela que se abriu, dê um nome para sua **collection** e clique em **Create.**

![https://miro.medium.com/max/30/1*zp8-0h6N5X-VAAcxZIFjJw.png?q=20](https://miro.medium.com/max/30/1*zp8-0h6N5X-VAAcxZIFjJw.png?q=20)

![https://miro.medium.com/max/819/1*zp8-0h6N5X-VAAcxZIFjJw.png](https://miro.medium.com/max/819/1*zp8-0h6N5X-VAAcxZIFjJw.png)

# **Environment**

O **environment** (ou ambiente), nos permite trabalhar com **variáveis** que podem ser utilizadas em vários lugares do nosso **request**. Da formação do caminha da url do recurso aos scripts de teste.

Confira a [documentação oficial](https://learning.getpostman.com/docs/postman/environments_and_globals/intro_to_environments_and_globals/) para mais detalhes.

A seguir criaremos um **environment** com uma variável para parte do caminho da url que chamaremos de **host.**

- No canto superior direito, clique no botão com o desenho da engrenagem.

![https://miro.medium.com/max/30/1*-jTbljcqs5vI408QlR1m9g.png?q=20](https://miro.medium.com/max/30/1*-jTbljcqs5vI408QlR1m9g.png?q=20)

![https://miro.medium.com/max/457/1*-jTbljcqs5vI408QlR1m9g.png](https://miro.medium.com/max/457/1*-jTbljcqs5vI408QlR1m9g.png)

- Na tela que se abriu, clique no botão **Add.**

![https://miro.medium.com/max/30/1*twt5ToKKsaXTLIDU2xun4w.png?q=20](https://miro.medium.com/max/30/1*twt5ToKKsaXTLIDU2xun4w.png?q=20)

![https://miro.medium.com/max/731/1*twt5ToKKsaXTLIDU2xun4w.png](https://miro.medium.com/max/731/1*twt5ToKKsaXTLIDU2xun4w.png)

- Na janela que se abriu, dê um nome para o seu environment (eu chamei de local).
- Na tabela abaixo do nome, clique na primeira linha, abaixo de **variable** e digite o nome da variável (no nosso exemplo, **host**) e na coluna do lado (**Initial Value**) e digite o valor.
- Clique no botão **Add** para salvar nosso ajustes

*No nosso exemplo, o app rodará localmente na porta 8080 e é esse valor que utilizaremos: `http://localhost:8080`

![https://miro.medium.com/max/30/1*i7w1svo6yBhG_nNetEU8rA.png?q=20](https://miro.medium.com/max/30/1*i7w1svo6yBhG_nNetEU8rA.png?q=20)

![https://miro.medium.com/max/735/1*i7w1svo6yBhG_nNetEU8rA.png](https://miro.medium.com/max/735/1*i7w1svo6yBhG_nNetEU8rA.png)

# **Criando os Request**

Criaremos nossos requests para os dois endpoints do nosso app.

- Selecione o ambiente que você criou no canto superior direito.
- Use a variável que você criou para compor a url do recurso. A notação de variável é `{{NOME_DA_VARIAVEL}}` no nosso exemplo `{{host}}` .

Os endpoints são : `/authenticate` e `/users`

Nossos requestes vão ficar desse jeito:

# **Authenticate**

`/authenticate`

Para o nosso exemplo, os parâmetros estão *hardcoded* (me julgue) e para obter a chave(*token*) na resposta você precisa passar os dados abaixo no corpo da requisição, caso o retorno será :

    {
     "username" : "user",
     "password" : "123456"
    }

![https://miro.medium.com/max/30/1*SuxE0ZOcF-5vp3zdRXDpnA.png?q=20](https://miro.medium.com/max/30/1*SuxE0ZOcF-5vp3zdRXDpnA.png?q=20)

![https://miro.medium.com/max/1102/1*SuxE0ZOcF-5vp3zdRXDpnA.png](https://miro.medium.com/max/1102/1*SuxE0ZOcF-5vp3zdRXDpnA.png)

# **Users**

`/users`

Para o nosso exemplo, precisaremos passar a chave `Authorization` no cabeçalho da requisição, com o valor abaixo (também esta *hardcoded*), que é retornado pela requisição anterior

    3C469E9D6C5875D37A43F353D4F88E61FCF812C66EEE3457465A40B0DA4153E0

![https://miro.medium.com/max/30/1*00lqgVajTM1zjfvzOsG91A.png?q=20](https://miro.medium.com/max/30/1*00lqgVajTM1zjfvzOsG91A.png?q=20)

![https://miro.medium.com/max/1224/1*00lqgVajTM1zjfvzOsG91A.png](https://miro.medium.com/max/1224/1*00lqgVajTM1zjfvzOsG91A.png)

# **Carregar variáveis com dados recebidos pela requisição**

Observe que para realizar a segunda requisição, nós precisamos do token gerado na primeira. Para simplificar esse processo, gravaremos esse token em uma variável e utiliza-la na segunda requisição.

- Siga o passo anterior para criar uma variável com o nome de `token` .
- Na requisição de autenticar, na aba tests, criaremos um script para preencher essa variável com o valor vindo na resposta.

    let response = pm.response.json();
    pm.environment.set("token", response);

![https://miro.medium.com/max/30/1*Mr2aA2LMGcF9msyw8dS1lQ.png?q=20](https://miro.medium.com/max/30/1*Mr2aA2LMGcF9msyw8dS1lQ.png?q=20)

![https://miro.medium.com/max/1224/1*Mr2aA2LMGcF9msyw8dS1lQ.png](https://miro.medium.com/max/1224/1*Mr2aA2LMGcF9msyw8dS1lQ.png)

- Agora utilizaremos essa variável no cabeçalho da requisição de consulta.

![https://miro.medium.com/max/30/1*Nb4uKIR1peYTsuLbscBlKA.png?q=20](https://miro.medium.com/max/30/1*Nb4uKIR1peYTsuLbscBlKA.png?q=20)

![https://miro.medium.com/max/1220/1*Nb4uKIR1peYTsuLbscBlKA.png](https://miro.medium.com/max/1220/1*Nb4uKIR1peYTsuLbscBlKA.png)

Agora, você não precisa mais copiar o token para executar o segundo request, a variável com o código do token vai ser preenchida sempre o que request for executado.

O postman é uma ferramenta muito poderosa , espero que esse post te ajude a ser mais produtivo no seu dia a dia.

Esse post foi originalmente publicado em https://medium.com/@filipeferreira.dev/postman-dicas-de-produtividade-c59de7feb8d0