O mecanismo de scripts do Apidog usa o objeto pm para acessar dados sobre a requisição, a resposta e as variáveis. Este método é compatível com o Postman.Objeto pm#
O objeto pm tem as seguintes propriedades principais.| Propriedade | Tipo de dado | Descrição |
|---|
pm.info.eventName | String | O tipo de scripts que está em execução no momento (script de pré-processador ou script de pós-processador). |
pm.info.iteration | Number | O número da iteração atual (válido apenas em coleções de teste). |
pm.info.iterationCount | Number | O número total de iterações (válido apenas em coleções de teste). |
pm.info.requestName | String | O nome da API atual em execução. |
pm.info.requestId | String | O ID da API atual em execução. |
Envio de requisições (pm.sendRequest)#
pm.sendRequest é usado para enviar requisições HTTP/HTTPS assíncronas em scripts.Este método aceita um parâmetro de requisição compatível com o SDK de coleção e um parâmetro de função de callback. O callback tem 2 argumentos. O primeiro é um erro e o segundo é uma resposta compatível com o SDK de coleção. Veja mais informações na documentação do Collection SDK. Você pode usá-lo tanto em scripts de pré-processador quanto de pós-processador.
Para obter mais referências, visite:pm.variables#
Variáveis locais. A prioridade das diferentes variáveis é a seguinte:Local Variables > Environment Variables > Global Variables Shared within Project > Global Variables Shared within Team.pm.variables.has(variableName:String):function → Boolean: Verifica se uma variável temporária existe.
pm.variables.get(variableName:String):function → *: obtém uma variável temporária.
pm.variables.set(variableName:String, variableValue:String):function → void: define uma variável temporária.
pm.variables.replaceIn(variableName:String):function: Substitui "variáveis dinâmicas" dentro de uma string (por exemplo, {{variable_name}}) por valores reais. Exemplo:
// Define a string containing a dynamic variable
let stringWithVariable = "Hello, {{username}}";
// Use the replaceIn method to replace the {{username}} placeholder
let realValueString = pm.variables.replaceIn(stringWithVariable);
// Output the replaced value
console.log(realValueString); // Output: "Hello, john_doe"
pm.variables.replaceInAsync(variableName:String):function: Substitui "expressões de valor dinâmico" dentro de uma string (por exemplo, {{$person.fullName}}) por valores reais. Este método retorna uma Promise, portanto você precisa usar await ao chamá-lo. Exemplo:
// Define a string containing a dynamic value expression
let stringWithVariable = "Hello, {{$person.fullName}}";
// Use the replaceInAsync method to replace the {{$person.fullName}}
let realValueString = await pm.variables.replaceInAsync(stringWithVariable);
pm.variables.toObject():function → Object: obtém todas as variáveis locais como objetos.
pm.iterationData#
Variáveis de dados de testeAtualmente, não oferecemos suporte à definição de variáveis de dados de teste diretamente em scripts, pois os dados de teste são gerenciados separadamente. No entanto, você pode acessar as variáveis em scripts conforme mostrado abaixo:pm.iterationData.has(variableName:String):function → Boolean: Verifica se uma variável de teste existe.
pm.iterationData.get(variableName:String):function → *: obtém uma variável de teste.
pm.iterationData.replaceIn(variableName:String):function: substitui variáveis dinâmicas em uma string por seus valores reais, por exemplo, {{variable_name}}.
pm.iterationData.toObject():function → Object: obtém todas as variáveis locais como objetos.
pm.environment#
pm.environment.name:String: o nome do ambiente.
pm.environment.has(variableName:String):function → Boolean: Verifica se uma variável de ambiente existe.
pm.environment.get(variableName:String):function → *: obtém uma variável de ambiente.
pm.environment.set(variableName:String, variableValue:String):function: define uma variável de ambiente.
pm.environment.replaceIn(variableName:String):function: substitui variáveis dinâmicas em uma string por seus valores reais, por exemplo, {{variable_name}}.
pm.environment.toObject():function → Object: obtém todas as variáveis locais como objetos.
pm.environment.unset(variableName:String):function: remove a definição de uma variável de ambiente.
pm.environment.clear():function: limpa todas as variáveis de ambiente no ambiente atual.
DICA: as operações mencionadas acima leem e gravam apenas valores atuais; elas não leem nem gravam valores remotos.pm.moduleVariables#
pm.moduleVariables: ObjectUsado para gerenciar o Valor atual de variáveis em nível de módulo.pm.moduleVariables.has(variableName: String): function → Boolean
Verifica se uma variável de módulo específica existe.
pm.moduleVariables.get(variableName: String): function → *
Recupera o valor de uma variável de módulo específica.
pm.moduleVariables.set(variableName: String, variableValue: String): function
Define o valor de uma variável de módulo específica.
pm.moduleVariables.replaceIn(variableName: String): function
Substitui placeholders {{variable}} dentro de uma string por seus valores reais.
pm.moduleVariables.toObject(): function → Object
Retorna todas as variáveis de módulo como um objeto de chave-valor.
pm.moduleVariables.unset(variableName: String): function
Exclui uma variável de módulo específica.
pm.moduleVariables.clear(): function
Limpa todas as variáveis de módulo dentro do módulo atual.
Nota de compatibilidade:
pm.collectionVariables funciona da mesma forma que pm.moduleVariables e pode ser usado de modo intercambiável.
pm.globals#
pm.globals.has(variableName:String):function → Boolean: Verifica se uma variável global existe.
pm.globals.get(variableName:String,variableScope:String):function → *: obtém uma variável global. Use 'PROJECT' (padrão) ou 'TEAM' para especificar o escopo da variável.
pm.globals.set(variableName:String,variableValue:String, variableScope:String):function: define uma variável global. Use 'PROJECT' (padrão) ou 'TEAM' para especificar o escopo da variável.
pm.globals.replaceIn(variableName:String):function: substitui variáveis dinâmicas em uma string por seus valores reais, por exemplo, {{variable_name}}.Para obter o valor de um parâmetro de requisição que contém uma variável em scripts de pré-processador, use pm.globals.replaceIn para substituir a variável pelo valor real.
pm.globals.toObject():function → Object: obtém todas as variáveis globais como objetos.
pm.globals.unset(variableName:String,variableScope:String):function: remove a definição de uma variável global. Use 'PROJECT' (padrão) ou 'TEAM' para especificar o escopo da variável.
pm.globals.clear():function: limpa todas as variáveis globais no ambiente atual.
1.
Todas as operações acima afetam apenas current values, não initial values.
2.
Ao usar set com o escopo 'TEAM', ele atualizará apenas o valor atual de uma variável de equipe existente. Se a variável de equipe não existir, ela não será criada. Em vez disso, a variável será tratada como uma variável local.
pm.request#
request é o objeto de requisição da API. No script de pré-processador, é a requisição que será enviada. No script de pós-processador, é a requisição que já foi enviada.request inclui as seguintes informações:pm.request.url:Url: a URL da requisição atual.pm.request.getBaseUrl(): Recupera BASE URL selecionada pelo ambiente de execução atual. Este recurso é compatível após a versão 2.1.39.
pm.request.headers:HeaderList: a lista de cabeçalhos da requisição atual.pm.request.method:String: o método da requisição atual, como GET, POST etc.
pm.request.body: RequestBody: o corpo da requisição atual.pm.request.headers.add({ key: headerName:String, value: headerValue:String}):function: Adiciona um cabeçalho com uma chave, headerName, na requisição atual.
pm.request.headers.remove(headerName:String):function: Exclui um cabeçalho com uma chave, headerName, na requisição atual.
pm.request.headers.upsert({ key: headerName:String, value: headerValue:String}):function: Faz upsert de um cabeçalho com uma chave, headerName, na requisição atual. Se a chave já existir, ela será modificada.
A API a seguir só pode ser usada em postprocessor scripts.
pm.response#
Use pm.response para acessar informações da resposta retornada em scripts de pós-processador.pm.response inclui as seguintes informações:pm.response.status:String
pm.response.responseTime:Number
pm.response.responseSize:Number
pm.response.text():Function → String
pm.response.json():Function → Object
pm.cookies#
Cookies é a lista de cookies no nome de domínio da requisição atual.pm.cookies.has(cookieName:String):Function → Boolean
Verifica se o valor do cookie de um cookieName existe.
pm.cookies.get(cookieName:String):Function → String
Obtém o valor do cookie a partir de cookieName.
pm.cookies.toObject:Function → Object
Obtém todos os cookies no domínio atual como um objeto.
pm.cookies.jar().clear(pm.request.url)
Limpa todos os cookies.
pm.cookies é o cookie retornado após a requisição da API, não o cookie enviado pela requisição da API.
pm.test#
Esta função é usada para afirmar se um resultado atende às expectativas.O exemplo abaixo pode ser usado para determinar se uma resposta está correta.Você pode executar um teste assíncrono usando done (um parâmetro opcional) em uma função de callback.pm.test.index():Function → Number
Obtém o número total de testes de uma localização específica.
pm.expect#
pm.expect é um método de assertiva. Veja a documentação da biblioteca BDD ChaiJS expects aqui.pm.response.to.have.*#
pm.response.to.have.status(code:Number)
pm.response.to.have.status(reason:String)
pm.response.to.have.header(key:String)
pm.response.to.have.header(key:String, optionalValue:String)
pm.response.to.have.body()
pm.response.to.have.body(optionalValue:String)
pm.response.to.have.body(optionalValue:RegExp)
pm.response.to.have.jsonBody()
pm.response.to.have.jsonBody(optionalExpectEqual:Object)
pm.response.to.have.jsonBody(optionalExpectPath:String)
pm.response.to.have.jsonBody(optionalExpectPath:String, optionalValue:*)
pm.response.to.have.jsonSchema(schema:Object)
pm.response.to.have.jsonSchema(schema:Object, ajvOptions:Object)
pm.response.to.be.*#
Você pode usar o pm.response.to.be integrado para assertivas rápidas.pm.response.to.be.info
Verifica se o código de status é 1XX.
pm.response.to.be.success
Verifica se o código de status é 2XX.
pm.response.to.be.redirection
Verifica se o código de status é 3XX.
pm.response.to.be.clientError
Verifica se o código de status é 4XX.
pm.response.to.be.serverError
Verifica se o código de status é 5XX.
pm.response.to.be.error
Verifica se o código de status é 4XX ou 5XX.
pm.response.to.be.ok
Verifica se o código de status é 200.
pm.response.to.be.accepted
Verifica se o código de status é 202.
pm.response.to.be.badRequest
Verifica se o código de status é 400.
pm.response.to.be.unauthorized
Verifica se o código de status é 401.
pm.response.to.be.forbidden
Verifica se o código de status é 403.
pm.response.to.be.notFound
Verifica se o código de status é 404.
pm.response.to.be.rateLimited
Verifica se o código de status é 429.