A CLI do Apidog é usada para executar testes automatizados e gerenciar recursos de projetos do Apidog a partir de um terminal ou pipeline de CI/CD. Ela oferece suporte à execução de testes, gerenciamento de recursos de design de API, ambientes e variáveis, importação e exportação, publicação de documentação, colaboração por branches e administração de projetos.Sintaxe básica da CLI do Apidog#
A maioria dos comandos de recursos de projeto usa --project <projectId> para especificar o projeto. Você pode usar --branch <branchName> para operar em uma branch específica. Se --branch for omitido, o servidor usará a branch padrão.Autenticação#
Antes de acessar projetos privados, faça login ou forneça um token de acesso.| Comando | Descrição | Exemplo |
|---|
login | Faça login com um token de acesso e salve-o localmente. | apidog login --with-token <token> |
logout | Faça logout e limpe o token local salvo. | apidog logout |
whoami | Mostre informações sobre o usuário autenticado atual. | apidog whoami |
Você também pode passar um token diretamente ao executar comandos:Se você estiver usando GitHub Actions, poderá armazenar seu token de acesso em Settings --> Secrets and Variables --> Actions --> Repository variables do seu repositório. Em seguida, use ${{ vars.APIDOG_ACCESS_TOKEN }} para referenciá-lo.
Esquema da CLI#
Use cli-schema para inspecionar e validar arquivos JSON antes de criar ou atualizar recursos complexos. Isso ajuda a reduzir falhas de requisição causadas por dados malformados.| Comando | Descrição | Exemplo |
|---|
cli-schema list | Liste todas as chaves de esquema compatíveis com a CLI. | apidog cli-schema list |
cli-schema get | Imprima o JSON Schema de um arquivo de dados de comando. | apidog cli-schema get endpoint-create |
cli-schema validate | Valide um arquivo JSON local em relação a uma chave de esquema. | apidog cli-schema validate endpoint-create --file ./endpoint.json |
As chaves de esquema geralmente combinam o caminho do comando e a ação, como endpoint-create, test-scenario-update e merge-request-create.Equipes e projetos#
Os comandos de equipe e projeto são o ponto de partida para gerenciar recursos por meio da CLI. Use-os para encontrar os IDs exigidos pelos comandos no nível do projeto.Gerenciamento de equipes#
| Comando | Descrição | Exemplo |
|---|
team list | Liste as equipes acessíveis à conta atual. | apidog team list |
team get | Veja detalhes de uma equipe específica. | apidog team get <teamId> |
Gerenciamento de projetos#
| Comando | Descrição | Exemplo |
|---|
project list | Liste os projetos acessíveis à conta atual. | apidog project list |
project get | Veja os detalhes do projeto. | apidog project get <projectId> |
project create | Crie um projeto em uma equipe. | apidog project create --team <teamId> --name "New Project" |
Configurações do projeto#
| Comando | Descrição | Exemplo |
|---|
project settings get | Veja as configurações no nível do projeto. | apidog project settings get --project <projectId> |
project settings update | Atualize as configurações do projeto com um arquivo JSON. | apidog project settings update --project <projectId> --file ./project-settings.json |
cli-schema get project-settings-update | Veja o esquema para atualizações das configurações do projeto. | apidog cli-schema get project-settings-update |
Ambientes e variáveis#
Use estes comandos para gerenciar ambientes de execução, variáveis globais e variáveis de equipe usadas pela depuração de API e por testes automatizados.Gerenciamento de ambientes#
| Comando | Descrição | Exemplo |
|---|
environment list | Liste os ambientes em um projeto. | apidog environment list --project <projectId> |
environment get | Veja detalhes do ambiente, como URLs base. | apidog environment get <environmentId> --project <projectId> |
environment create | Crie um ambiente. | apidog environment create <name> --project <projectId> --base-url <url> |
environment update | Atualize um ambiente. | apidog environment update <environmentId> --project <projectId> --file ./environment.json |
environment delete | Exclua um ambiente. | apidog environment delete <environmentId> --project <projectId> |
cli-schema get environment-update | Veja o esquema para atualizações de ambiente. | apidog cli-schema get environment-update |
Gerenciamento de variáveis#
| Comando | Descrição | Exemplo |
|---|
variables list | Liste variáveis por escopo. | apidog variables list --project <projectId> --scope global |
variables get | Veja o valor de uma variável. | apidog variables get --project <projectId> --scope global --key <key> |
variables set | Crie ou atualize uma variável. | apidog variables set --project <projectId> --scope global --key <key> --value <value> |
variables delete | Exclua uma variável. | apidog variables delete --project <projectId> --scope global --key <key> |
variables import | Importe variáveis de um arquivo local. | apidog variables import --project <projectId> --scope global --file ./variables.json |
variables export | Exporte variáveis para um arquivo local. | apidog variables export --project <projectId> --scope global --output ./variables.json |
Recursos de design de API#
Use estes comandos para gerenciar recursos de design de API, incluindo endpoints de API HTTP, esquemas, pastas, regras de mock, parâmetros comuns, componentes de resposta e esquemas de segurança. Ao criar ou atualizar recursos complexos, recomenda-se executar primeiro cli-schema get <schemaKey> e cli-schema validate <schemaKey> --file <path>.Endpoints de API HTTP#
| Comando | Descrição | Exemplo |
|---|
endpoint list | Liste endpoints de API HTTP em um projeto. | apidog endpoint list --project <projectId> |
endpoint get | Veja detalhes do endpoint. | apidog endpoint get <endpointId> --project <projectId> |
endpoint create | Crie um endpoint a partir de um arquivo JSON. | apidog endpoint create --project <projectId> --file ./endpoint.json |
endpoint update | Atualize um endpoint. | apidog endpoint update <endpointId> --project <projectId> --file ./endpoint.json |
endpoint delete | Exclua um endpoint. | apidog endpoint delete <endpointId> --project <projectId> |
cli-schema get endpoint-create | Veja o esquema para criação de endpoint. | apidog cli-schema get endpoint-create |
cli-schema get endpoint-update | Veja o esquema para atualizações de endpoint. | apidog cli-schema get endpoint-update |
Esquemas de dados#
| Comando | Descrição | Exemplo |
|---|
schema list | Liste esquemas de dados em um projeto. | apidog schema list --project <projectId> |
schema get | Veja detalhes do esquema. | apidog schema get <schemaId> --project <projectId> |
schema create | Crie um esquema de dados a partir de um arquivo JSON. | apidog schema create --project <projectId> --file ./schema.json |
schema update | Atualize um esquema de dados. | apidog schema update <schemaId> --project <projectId> --file ./schema.json |
schema delete | Exclua um esquema de dados. | apidog schema delete <schemaId> --project <projectId> |
cli-schema get schema-create | Veja o esquema para criação de esquema de dados. | apidog cli-schema get schema-create |
cli-schema get schema-update | Veja o esquema para atualizações de esquema de dados. | apidog cli-schema get schema-update |
Documentos Markdown#
| Comando | Descrição | Exemplo |
|---|
doc list | Liste documentos Markdown. | apidog doc list --project <projectId> |
doc get | Veja detalhes do documento Markdown. | apidog doc get <docId> --project <projectId> |
doc create | Crie um documento Markdown. | apidog doc create --project <projectId> --file ./doc.json |
doc update | Atualize um documento Markdown. | apidog doc update <docId> --project <projectId> --file ./doc.json |
doc delete | Exclua um documento Markdown. | apidog doc delete <docId> --project <projectId> |
Pastas de recursos#
Use comandos folder para gerenciar árvores de pastas de diferentes tipos de recursos. A opção --type seleciona o tipo de recurso, como endpoint, schema, test-scenario, response-component, security-scheme, test-suite ou test-data.| Comando | Descrição | Exemplo |
|---|
folder list | Liste pastas por tipo de recurso. | apidog folder list --project <projectId> --type endpoint |
folder create | Crie uma pasta por tipo de recurso. | apidog folder create --project <projectId> --type endpoint --name "New Folder" |
folder move | Mova uma pasta para outra pasta pai. | apidog folder move <folderId> --project <projectId> --type endpoint --parent <parentId> |
folder update | Atualize o nome, a descrição ou a pasta pai. | apidog folder update <folderId> --project <projectId> --type endpoint --name "New Folder Name" |
folder delete | Exclua uma pasta. | apidog folder delete <folderId> --project <projectId> --type endpoint |
cli-schema get folder-create | Veja o esquema para criação de pasta. | apidog cli-schema get folder-create |
cli-schema get folder-update | Veja o esquema para atualizações de pasta. | apidog cli-schema get folder-update |
--type seleciona o tipo da pasta de recurso. Ele não é o nome da pasta. O campo description é compatível apenas com pastas de endpoint e test-scenario; outros tipos de pasta oferecem suporte apenas a atualizações de nome e pasta pai.
Regras de mock#
| Comando | Descrição | Exemplo |
|---|
mock list | Liste regras de mock em um projeto ou sob um endpoint. | apidog mock list --project <projectId> --http-api-id <endpointId> |
mock get | Veja uma regra de mock. | apidog mock get <mockId> --project <projectId> |
mock create | Crie uma regra de mock a partir de um arquivo JSON. | apidog mock create --project <projectId> --file ./mock.json |
mock update | Atualize uma regra de mock. | apidog mock update <mockId> --project <projectId> --file ./mock.json |
mock delete | Exclua uma regra de mock. | apidog mock delete <mockId> --project <projectId> |
cli-schema get mock-create | Veja o esquema para criação de regra de mock. | apidog cli-schema get mock-create |
cli-schema get mock-update | Veja o esquema para atualizações de regra de mock. | apidog cli-schema get mock-update |
Parâmetros comuns#
| Comando | Descrição | Exemplo |
|---|
common-parameter list | Liste parâmetros comuns reutilizáveis. | apidog common-parameter list --project <projectId> |
common-parameter get | Veja detalhes do parâmetro comum. | apidog common-parameter get <commonParameterId> --project <projectId> |
common-parameter create | Crie um parâmetro comum a partir de um arquivo JSON. | apidog common-parameter create --project <projectId> --file ./common-parameter.json |
common-parameter update | Atualize um parâmetro comum. | apidog common-parameter update <commonParameterId> --project <projectId> --file ./common-parameter.json |
common-parameter import | Importe parâmetros comuns de um arquivo. | apidog common-parameter import --project <projectId> --file ./common-parameters.json |
common-parameter export | Exporte parâmetros comuns para um arquivo local. | apidog common-parameter export --project <projectId> --output ./common-parameters.json |
Componentes de resposta#
| Comando | Descrição | Exemplo |
|---|
response-component list | Liste componentes de resposta reutilizáveis. | apidog response-component list --project <projectId> |
response-component get | Veja detalhes do componente de resposta. | apidog response-component get <responseComponentId> --project <projectId> |
response-component create | Crie um componente de resposta a partir de um arquivo JSON. | apidog response-component create --project <projectId> --file ./response-component.json |
response-component update | Atualize um componente de resposta. | apidog response-component update <responseComponentId> --project <projectId> --file ./response-component.json |
response-component delete | Exclua um componente de resposta. | apidog response-component delete <responseComponentId> --project <projectId> |
Esquemas de segurança#
| Comando | Descrição | Exemplo |
|---|
security-scheme list | Liste esquemas de segurança em um projeto. | apidog security-scheme list --project <projectId> |
security-scheme get | Veja detalhes do esquema de segurança. | apidog security-scheme get <schemeId> --project <projectId> |
security-scheme create | Crie um esquema de segurança a partir de um arquivo JSON. | apidog security-scheme create --project <projectId> --file ./scheme.json |
security-scheme update | Atualize um esquema de segurança. | apidog security-scheme update <schemeId> --project <projectId> --file ./scheme.json |
security-scheme delete | Exclua um esquema de segurança. | apidog security-scheme delete <schemeId> --project <projectId> |
Caminhos de API são caminhos de recursos de API, não caminhos de arquivos locais. Se seu shell reescrever valores que começam com /, coloque o caminho entre aspas, por exemplo --path '/api/users', ou use --file para fornecer dados do endpoint.Para casos de teste de API ou etapas HTTP de cenário de teste, responseId deve usar um ID de definição de resposta de endpoint de endpoint.responses[].id, não um ID de componente de resposta. Para reutilizar um componente de resposta, vincule-o primeiro na definição de resposta do endpoint.
Testes automatizados#
Use estes comandos para gerenciar casos de teste de API, cenários de teste, suítes de teste, dados de teste, relatórios de teste, runners e tarefas agendadas.Casos de teste de API#
| Comando | Descrição | Exemplo |
|---|
test-case list | Liste casos de teste de API, opcionalmente filtrados por endpoint. | apidog test-case list --project <projectId> --endpoint <endpointId> |
test-case category | Liste categorias de casos de teste. | apidog test-case category --project <projectId> |
test-case get | Veja detalhes do caso de teste de API. | apidog test-case get <caseId> --project <projectId> |
test-case create | Crie um caso de teste de API a partir de um arquivo JSON. | apidog test-case create --project <projectId> --file ./case.json |
test-case update | Atualize um caso de teste de API. | apidog test-case update <caseId> --project <projectId> --file ./case.json |
test-case delete | Exclua um caso de teste de API. | apidog test-case delete <caseId> --project <projectId> |
cli-schema get test-case-create | Veja o esquema para criação de caso de teste. | apidog cli-schema get test-case-create |
cli-schema get test-case-update | Veja o esquema para atualizações de caso de teste. | apidog cli-schema get test-case-update |
Cenários de teste#
| Comando | Descrição | Exemplo |
|---|
test-scenario list | Liste cenários de teste em um projeto. | apidog test-scenario list --project <projectId> |
test-scenario get | Veja detalhes do cenário de teste. | apidog test-scenario get <scenarioId> --project <projectId> |
test-scenario create | Crie um cenário de teste. | apidog test-scenario create --project <projectId> --file ./scenario.json |
test-scenario update | Atualize um cenário de teste. | apidog test-scenario update <scenarioId> --project <projectId> --file ./scenario.json |
test-scenario delete | Exclua um cenário de teste. | apidog test-scenario delete <scenarioId> --project <projectId> |
test-scenario run | Execute um cenário de teste. | apidog test-scenario run <scenarioId> --project <projectId> --environment <environmentId> |
cli-schema get test-scenario-create | Veja o esquema para criação de cenário de teste. | apidog cli-schema get test-scenario-create |
cli-schema get test-scenario-update | Veja o esquema para atualizações de cenário de teste. | apidog cli-schema get test-scenario-update |
Suítes de teste#
| Comando | Descrição | Exemplo |
|---|
test-suite list | Liste suítes de teste em um projeto. | apidog test-suite list --project <projectId> |
test-suite get | Veja detalhes da suíte de teste. | apidog test-suite get <testSuiteId> --project <projectId> |
test-suite create | Crie uma suíte de teste. | apidog test-suite create --project <projectId> --file ./suite.json |
test-suite update | Atualize uma suíte de teste. | apidog test-suite update <testSuiteId> --project <projectId> --file ./suite.json |
test-suite delete | Exclua uma suíte de teste. | apidog test-suite delete <testSuiteId> --project <projectId> |
test-suite run | Execute uma suíte de teste. | apidog test-suite run <testSuiteId> --project <projectId> --environment <environmentId> |
Dados de teste#
| Comando | Descrição | Exemplo |
|---|
test-data list | Liste conjuntos de dados de teste. | apidog test-data list --project <projectId> |
test-data get | Veja detalhes do conjunto de dados de teste. | apidog test-data get <dataId> --project <projectId> |
test-data create | Crie um conjunto de dados de teste a partir de um arquivo JSON. | apidog test-data create --project <projectId> --file ./test-data.json |
test-data update | Atualize um conjunto de dados de teste. | apidog test-data update <dataId> --project <projectId> --file ./test-data.json |
test-data delete | Exclua um conjunto de dados de teste. | apidog test-data delete <dataId> --project <projectId> |
Relatórios de teste#
| Comando | Descrição | Exemplo |
|---|
test-report list | Liste relatórios de teste em um projeto. | apidog test-report list --project <projectId> |
test-report get | Veja detalhes do relatório de teste. | apidog test-report get <reportId> --project <projectId> |
test-report download | Baixe um relatório de teste para um arquivo local. | apidog test-report download <reportId> --project <projectId> --format json --output ./report.json |
test-report delete | Exclua um relatório de teste. | apidog test-report delete <reportId> --project <projectId> |
Runners#
| Comando | Descrição | Exemplo |
|---|
runner list | Liste runners em um projeto ou equipe. | apidog runner list --project <projectId> |
runner get | Veja detalhes do runner. | apidog runner get <runnerId> --project <projectId> |
runner create | Crie um runner de equipe. | apidog runner create --team <teamId> --name <name> --runner-type <runnerType> --server-type <serverType> |
runner check | Verifique a integridade do runner. | apidog runner check <runnerId> --team <teamId> |
runner delete | Exclua um runner. | apidog runner delete <runnerId> --project <projectId> |
Tarefas agendadas#
| Comando | Descrição | Exemplo |
|---|
scheduled-task list | Liste tarefas agendadas em um projeto. | apidog scheduled-task list --project <projectId> |
scheduled-task get | Veja detalhes da tarefa agendada. | apidog scheduled-task get <taskId> --project <projectId> |
scheduled-task create | Crie uma tarefa agendada a partir de um arquivo JSON. | apidog scheduled-task create --project <projectId> --file ./scheduled-task.json |
scheduled-task update | Atualize uma tarefa agendada. | apidog scheduled-task update <taskId> --project <projectId> --file ./scheduled-task.json |
scheduled-task delete | Exclua uma tarefa agendada. | apidog scheduled-task delete <taskId> --project <projectId> |
scheduled-task run | Acione uma tarefa agendada manualmente. | apidog scheduled-task run <taskId> --project <projectId> |
Comando principal de execução: apidog run#
Este é o comando principal para executar cenários de teste, pastas de cenários de teste, suítes de teste ou arquivos exportados locais. Você pode copiar comandos gerados do painel de CI/CD do cliente Apidog e executá-los no terminal ou no fluxo de trabalho de CI/CD.Execução online#
Ao executar testes em tempo real por meio do servidor do Apidog, use o seguinte comando.Use o token de acesso do Apidog com o ID de um cenário de teste, diretório de cenários de teste ou suíte de teste específico. Por exemplo: