O Que as Tarefas Agendadas Podem Fazer?
Há muita automação que elas podem realizar. Deixe-me primeiro listar alguns casos de uso comuns:
Monitoramento Dinâmico de Mídias Sociais: Rastrear regularmente atividades específicas de usuários e monitorar tópicos em alta. Aquisição e Análise de Dados: Rastrear artigos de sites, informações de comentários, etc., regularmente. Marketing Automatizado: Publicar automaticamente em mídias sociais em intervalos programados. Automação Pessoal: Lembretes programados e gerenciamento de tarefas.
No passado, implementar essas tarefas automatizadas agendadas era bastante problemático. Muitas vezes, exigia dominar uma linguagem de programação (como Python), configurar um servidor ou plataforma em nuvem, ou até mesmo escrever scripts complexos para lidar com várias situações. Isso tendia a ser uma barreira significativa para pessoas não técnicas ou desenvolvedores com tempo limitado.
Mas agora, com o recurso "Tarefas Agendadas" do Apidog, esses cenários automatizados são basicamente fáceis de lidar.
No Apidog, a implementação de tarefas de temporização automatizadas, como rastreadores e monitoramento, pode ser grosseiramente dividida nas seguintes etapas:
- Obter API
- Análise de dados retornados
- Orquestrar cenários de teste
- Configurar tarefas agendadas
Vamos explicar abaixo como operar no Apidog com base nessas etapas. Quaisquer que sejam suas necessidades, o seguinte pode lhe dar alguma inspiração.
Obter API
Se você deseja monitorar a dinâmica de mídias sociais de certas plataformas, ou rastrear dados de certas plataformas, o primeiro passo é obter a API que implementa essa operação. Então, a pergunta que surge é: onde posso encontrar essas APIs?
Você pode ir à "plataforma aberta" oficial para descobrir se há alguma interface aberta relevante. Esta é a maneira mais formal. Geralmente, as páginas que podem ser exibidas no front-end terão APIs correspondentes fornecidas.
Por exemplo, supondo que queremos monitorar o número de estrelas de um determinado projeto no GitHub, podemos ir à plataforma aberta do GitHub neste momento para ver se há alguma API relevante fornecida. Se sim, basta copiá-las diretamente.

É necessário que o Token seja enviado ao solicitar uma API aberta, e geralmente pode ser gerado no ambiente do desenvolvedor.

Além de ir à plataforma oficial para encontrar a API, você também pode optar por capturar pacotes no navegador, ou encontrar alguns projetos de código aberto no GitHub. O método de operação específico pode ser visto na seção de extensões no final deste artigo.
Análise de Dados Retornados
Agora que sabemos como obter a API relevante, o próximo passo é analisar os dados retornados e ver quais informações úteis estão neles. Em geral, essas APIs retornam dados no formato JSON, e precisamos analisar cuidadosamente o que cada campo representa.
Por exemplo, acessar esta API aberta abaixo pode obter informações de repositório para projetos de código aberto específicos no GitHub:
curl -L \
-H "Accept: application/vnd.github+json" \
-H "Authorization: Bearer <YOUR-TOKEN>" \
-H "X-GitHub-Api-Version: 2022-11-28" \
https://api.github.com/repos/{owner}/{repo}
Onde {owner}
é o nome de usuário ou nome da organização do proprietário do repositório e {repo}
é o nome do repositório. Para encontrar esta informação, basta olhar para a URL do repositório GitHub:
- Abra a página do projeto GitHub que você deseja visualizar
- Dê uma olhada na URL na barra de endereço do navegador, e ela está neste formato:
https://github.com/{owner}/{repo}
- A parte após a primeira barra na URL é
{owner}
, a parte após a segunda barra é{repo}

No Apidog, você pode copiar diretamente o conteúdo do comando cURL acima para criar uma nova requisição de API, ou pode definir manualmente o método da requisição e a URL enquanto adiciona o Token ao cabeçalho da requisição.

Depois de enviar uma requisição, você obtém uma resposta JSON como esta:
{
"id": 468576060,
"name": "openai-cookbook",
"full_name": "openai/openai-cookbook",
"stargazers_count": 59366,
...
}
Depois de obter os dados JSON brutos, o próximo passo é o processamento de dados. No Apidog, podemos usar expressões JSONPath ou escrever scripts simples para conseguir isso.
Por exemplo, para usar JSONPath para extrair campos específicos, você pode adicionar uma operação de "Extrair Variáveis" nos "Pós-processadores" e preencher a expressão correspondente. Se você não estiver familiarizado com a escrita de expressões, pode clicar no ícone na caixa de entrada "Expressão JSONPath" para usar a ferramenta de extração JSONPath como auxiliar.

Os dados extraídos serão armazenados temporariamente em variáveis de ambiente, que podem ser enviados para servidores ou armazenados em bancos de dados em etapas subsequentes.
Além do formato JSON comum, existe outro tipo que retorna diretamente o documento HTML inteiro, o que é muito comum em cenários de renderização no lado do servidor. Para isso, precisamos usar scripts para processamento.
No Apidog, você pode criar um novo "Script Personalizado" nos "Pós-processadores" e usar o método fox.liveRequire
para referenciar a biblioteca htmlparser2 para processar dados no formato HTML.
Por exemplo, se você deseja extrair todas as tags <article>
e seu conteúdo interno de um HTML e convertê-los para o formato de texto, você pode escrever um script como este:
fox.liveRequire("htmlparser2", (htmlparser2) => {
console.log(htmlparser2);
// HTML string (generally read from interface return data)
const htmlString = `
<html>
<body>
<article>
<h1>Title</h1>
<p>This is a paragraph.</p>
<p>Another piece of text.</p>
</article>
<footer>Footer content</footer>
</body>
</html>
`;
// Parse document
const document = htmlparser2.parseDocument(htmlString);
// Use DomUtils to find <article> tags
const article = htmlparser2.DomUtils.findOne(elem => elem.name === "article", document.children);
// Convert content in <article> to complete HTML fragment
if (article) {
const articleHTML = htmlparser2.DomUtils.getOuterHTML(article);
console.log(articleHTML);
} else {
console.log("No <article> tag found.");
}
})

O processamento de conteúdo em formato HTML através de scripts não será muito explorado aqui. Você pode simplesmente entender isso como "manipulação do DOM" - você pode pedir detalhes específicos à IA.
Orquestrar Cenários de Teste
Com as APIs prontas e os dados analisados, o próximo passo é orquestrar cenários de teste em testes automatizados.
No Apidog, você pode criar um cenário de teste em testes automatizados e importar as requisições de API preparadas para ele.

Se você precisar inserir dados processados em um banco de dados, pode criar uma nova "Operação de Banco de Dados" nos "Pós-processadores" e inserir os dados processados no banco de dados através de comandos SQL. Comandos SQL suportam a leitura de valores de variáveis de ambiente, por exemplo:

INSERT INTO monitoring_data (project_name, star_count, updated_time)
VALUES ('{{project_name}}', {{star_count}}, NOW())
Além disso, você pode armazenar dados processados através de APIs - ou seja, escrever sua própria API para salvar dados em um servidor, ou enviar dados para plataformas de terceiros através de Webhooks.
Por exemplo, se eu quiser enviar dados processados para o Feishu (Lark), posso adicionar uma nova etapa de teste no cenário de teste e usar a API Webhook fornecida pelo Feishu para enviar mensagens. Durante esse processo, você pode ler os resultados da execução das etapas anteriores através de "Valores Dinâmicos", tornando o processamento de dados mais conveniente.

Se você precisar iterar sobre um grupo de dados, ou fazer com que os campos retornados atendam a certas condições específicas antes de continuar a execução, você também pode adicionar "Condições de Controle de Fluxo" às etapas de teste.

Após a orquestração do cenário de teste ser concluída, você pode executar o teste para ver o efeito. Verifique se há erros em todo o cenário de teste e confirme se os dados são transmitidos de volta com sucesso. Se não houver problemas com o cenário de teste orquestrado, você pode prosseguir para a próxima etapa - configurar tarefas agendadas!
Configurar Tarefas Agendadas
No Apidog, configurar tarefas agendadas é super simples. No entanto, o pré-requisito para usar tarefas agendadas é que você já tenha implantado um Runner no servidor. Você pode consultar o guia detalhado sobre o processo de instalação e configuração do Runner.
Supondo que você já tenha implantado o Runner, agora você pode adicionar tarefas agendadas aos cenários de teste previamente orquestrados para que eles sejam executados no horário, alcançando o monitoramento automatizado.
Nos testes automatizados do Apidog, encontre o módulo "Tarefas Agendadas", então crie uma nova tarefa agendada. Na interface de configuração, você verá as seguintes opções:
- Nome da Tarefa: Dê à tarefa um nome descritivo, como "Monitoramento Diário da Contagem de Estrelas do GitHub"
- Cenário de Teste: Selecione o cenário de teste que precisa ser executado regularmente, como cenários de teste de monitoramento agendado ou de rastreador
- Definir Ciclo de Execução: Por exemplo, executar uma vez por dia às 18:00
- Ambiente de Execução: Selecione o serviço Runner implantado
- Configurações de Notificação: Especifique o método de notificação após a conclusão da tarefa, que pode ser e-mail, DingTalk, etc.

Após configurar e salvar, os cenários de teste sob esta tarefa agendada serão executados regularmente de acordo com o ciclo de execução definido, e assim atingimos o objetivo de monitoramento agendado automatizado.

Extensões
Na seção "Obter API" acima, além de encontrar APIs em plataformas abertas oficiais, você também pode capturar pacotes diretamente no navegador.
Aqui está um exemplo:
Suponha que queremos monitorar os tópicos em alta do Weibo. Podemos abrir a página de tendências do Weibo no navegador, então pressionar F12 ou Ctrl + Shift + I para abrir as ferramentas de desenvolvedor, e alternar para a aba Rede. Atualize a página, e você verá um monte de requisições. Encontre a requisição que obtém dados de tendências, clique com o botão direito e copie como cURL. Então, abra o Apidog, crie uma nova interface, e cole o cURL que você acabou de copiar na caixa de entrada. O Apidog o analisará automaticamente para nós - super conveniente!

Além da captura de pacotes, alguns desenvolvedores de terceiros podem já ter feito engenharia reversa de certas APIs de serviço. Você pode pesquisar no GitHub e usá-las diretamente, se necessário.
Conclusão
Isso conclui o conteúdo deste artigo. Espero que ele possa lhe dar alguma inspiração para usar o recurso de tarefas agendadas do Apidog para implementar algumas operações automatizadas interessantes. Se você tiver alguma ideia ou prática interessante, sinta-se à vontade para compartilhá-las na comunidade de usuários Apidog. Sejam dicas de uso pessoal ou ideias para resolver problemas difíceis - tudo é bem-vindo!