Que peuvent faire les tâches planifiées ?
Il y a tellement d'automatisations qu'elles peuvent accomplir. Permettez-moi d'abord de lister quelques cas d'utilisation courants :
Surveillance dynamique des médias sociaux : Suivez régulièrement les activités spécifiques des utilisateurs et surveillez les sujets tendances Acquisition et analyse de données : Récupérez régulièrement des articles de sites web, des informations de commentaires, etc. Marketing automatisé : Publiez automatiquement sur les médias sociaux à intervalles réguliers Automatisation personnelle : Rappels temporels et gestion des tâches
Par le passé, la mise en œuvre de ces tâches automatisées planifiées était assez problématique. Elle nécessitait souvent de maîtriser un langage de programmation (comme Python), de configurer un serveur ou une plateforme cloud, ou même d'écrire des scripts complexes pour gérer diverses situations. Cela constituait souvent un obstacle important pour les personnes non techniques ou les développeurs disposant de peu de temps.
Mais maintenant, avec la fonctionnalité "Tâches planifiées" d'Apidog, ces scénarios automatisés sont fondamentalement faciles à gérer.
Dans Apidog, la mise en œuvre de tâches de synchronisation automatisées telles que les robots d'exploration et la surveillance peut être globalement divisée en les étapes suivantes :
- Obtenir l'API
- Analyse des données retournées
- Orchestrer les scénarios de test
- Définir les tâches planifiées
Expliquons ci-dessous comment opérer dans Apidog en suivant ces étapes. Quels que soient vos besoins, ce qui suit peut vous donner de l'inspiration.
Obtenir l'API
Si vous souhaitez surveiller la dynamique des médias sociaux de certaines plateformes, ou récupérer des données de certaines plateformes, la première étape consiste à obtenir l'API qui implémente cette opération. La question se pose alors : où puis-je trouver ces API ?
Vous pouvez vous rendre sur la "plateforme ouverte" officielle pour savoir s'il existe des interfaces ouvertes pertinentes. C'est le moyen le plus formel. Généralement, les pages qui peuvent être affichées en front-end auront des API correspondantes fournies.
Par exemple, en supposant que nous voulions surveiller le nombre d'étoiles d'un certain projet sur GitHub, nous pouvons nous rendre sur la plateforme ouverte de GitHub à ce moment-là pour voir s'il existe des API pertinentes fournies. Si c'est le cas, il suffit de les copier directement.

Un jeton (Token) doit être inclus lors de la requête d'une API ouverte, et peut généralement être généré dans l'interface développeur.

En plus de vous rendre sur la plateforme officielle pour trouver l'API, vous pouvez également choisir de capturer des paquets dans le navigateur, ou de trouver des projets open source sur GitHub. La méthode d'opération spécifique peut être consultée dans la section d'extension à la fin de cet article.
Analyse des données retournées
Maintenant que nous savons comment obtenir l'API pertinente, l'étape suivante consiste à analyser les données retournées et à voir quelles informations utiles s'y trouvent. En général, ces API retournent des données au format JSON, et nous devons examiner attentivement la signification de chaque champ.
Par exemple, l'accès à cette API ouverte ci-dessous permet d'obtenir des informations de dépôt pour des projets open source spécifiques sur 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}
Où {owner} est le nom d'utilisateur ou le nom de l'organisation du propriétaire du dépôt et {repo} est le nom du dépôt. Pour trouver ces informations, il suffit de regarder l'URL du dépôt GitHub :
- Ouvrez la page du projet GitHub que vous souhaitez consulter
- Jetez un œil à l'URL dans la barre d'adresse du navigateur, et elle est dans ce format :
https://github.com/{owner}/{repo} - La partie après le premier slash dans l'URL est
{owner}, la partie après le second slash est{repo}

Dans Apidog, vous pouvez copier directement le contenu de la commande cURL ci-dessus pour créer une nouvelle requête API, ou vous pouvez définir manuellement la méthode de requête et l'URL tout en ajoutant le jeton (Token) à l'en-tête de la requête.

Une fois que vous envoyez une requête, vous obtenez une réponse JSON comme celle-ci :
{
"id": 468576060,
"name": "openai-cookbook",
"full_name": "openai/openai-cookbook",
"stargazers_count": 59366,
...
}
Après avoir obtenu les données JSON brutes, l'étape suivante est le traitement des données. Dans Apidog, nous pouvons utiliser des expressions JSONPath ou écrire des scripts simples pour y parvenir.
Par exemple, pour utiliser JSONPath afin d'extraire des champs spécifiques, vous pouvez ajouter une opération "Extraire des variables" dans les "Post-processeurs" et remplir l'expression correspondante. Si vous n'êtes pas familier avec la façon d'écrire des expressions, vous pouvez cliquer sur l'icône dans le champ de saisie "Expression JSONPath" pour utiliser l'outil d'extraction JSONPath comme assistant.

Les données extraites seront temporairement stockées dans des variables d'environnement, qui pourront être envoyées à des serveurs ou stockées dans des bases de données lors des étapes ultérieures.
Outre le format JSON courant, il existe un autre type qui retourne directement le document HTML entier, ce qui est très courant dans les scénarios de rendu côté serveur. Pour cela, nous devons utiliser des scripts pour le traitement.
Dans Apidog, vous pouvez créer un nouveau "Script personnalisé" dans les "Post-processeurs" et utiliser la méthode fox.liveRequire pour référencer la bibliothèque htmlparser2 afin de traiter les données au format HTML.
Par exemple, si vous souhaitez extraire toutes les balises <article> et leur contenu interne d'un HTML et les convertir au format texte, vous pouvez écrire un script comme celui-ci :
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.");
}
})

Le traitement du contenu au format HTML via des scripts ne sera pas trop exploré ici. Vous pouvez simplement comprendre cela comme de la "manipulation DOM" - vous pouvez demander à l'IA des détails spécifiques.
Orchestrer les scénarios de test
Avec les API prêtes et les données analysées, l'étape suivante consiste à orchestrer les scénarios de test dans les tests automatisés.
Dans Apidog, vous pouvez créer un scénario de test dans les tests automatisés et y importer les requêtes API préparées.

Si vous avez besoin d'insérer des données traitées dans une base de données, vous pouvez créer une nouvelle "Opération de base de données" dans les "Post-processeurs" et insérer les données traitées dans la base de données via des commandes SQL. Les commandes SQL prennent en charge la lecture des valeurs des variables d'environnement, par exemple :

INSERT INTO monitoring_data (project_name, star_count, updated_time)
VALUES ('{{project_name}}', {{star_count}}, NOW())
De plus, vous pouvez stocker les données traitées via des API - c'est-à-dire, écrire votre propre API pour sauvegarder les données sur un serveur, ou envoyer des données à des plateformes tierces via des Webhooks.
Par exemple, si je souhaite envoyer des données traitées à Feishu (Lark), je peux ajouter une nouvelle étape de test dans le scénario de test et utiliser l'API Webhook fournie par Feishu pour envoyer des messages. Au cours de ce processus, vous pouvez lire les résultats d'exécution des étapes précédentes via les "Valeurs dynamiques", ce qui rend le traitement des données plus pratique.

Si vous devez itérer sur un groupe de données, ou laisser les champs retournés satisfaire certaines conditions spécifiques avant de poursuivre l'exécution, vous pouvez également ajouter des "Conditions de contrôle de flux" aux étapes de test.

Une fois l'orchestration du scénario de test terminée, vous pouvez exécuter le test pour en voir l'effet. Vérifiez s'il y a des erreurs dans l'ensemble du scénario de test et confirmez si les données sont transmises avec succès. S'il n'y a aucun problème avec le scénario de test orchestré, vous pouvez passer à l'étape suivante - la configuration des tâches planifiées !
Définir les tâches planifiées
Dans Apidog, la configuration des tâches planifiées est super simple. Cependant, la condition préalable à l'utilisation des tâches planifiées est que vous ayez déjà déployé un Runner sur le serveur. Vous pouvez vous référer au guide détaillé sur le processus d'installation et de configuration du Runner.
En supposant que vous ayez déjà déployé le Runner, vous pouvez maintenant ajouter des tâches planifiées aux scénarios de test précédemment orchestrés pour les faire s'exécuter selon un calendrier, réalisant ainsi une surveillance automatisée.
Dans les tests automatisés d'Apidog, trouvez le module "Tâches planifiées", puis créez une nouvelle tâche planifiée. Dans l'interface de configuration, vous verrez les options suivantes :
- Nom de la tâche : Donnez un nom descriptif à la tâche, tel que "Surveillance quotidienne du nombre d'étoiles GitHub"
- Scénario de test : Sélectionnez le scénario de test qui doit s'exécuter régulièrement, comme les scénarios de surveillance planifiée ou de test de robot d'exploration
- Définir le cycle d'exécution : Par exemple, exécutez une fois par jour à 18h00
- Environnement d'exécution : Sélectionnez le service Runner déployé
- Paramètres de notification : Spécifiez la méthode de notification après l'achèvement de la tâche, qui peut être par e-mail, DingTalk, etc.

Après avoir configuré et enregistré, les scénarios de test sous cette tâche planifiée s'exécuteront régulièrement selon le cycle d'exécution défini, et nous aurons atteint l'objectif de surveillance planifiée automatisée.

Extensions
Dans la section "Obtenir l'API" ci-dessus, en plus de trouver des API sur les plateformes ouvertes officielles, vous pouvez également capturer directement des paquets dans le navigateur.
Voici un exemple :
Supposons que nous voulions surveiller les sujets tendances de Weibo. Nous pouvons ouvrir la page des tendances Weibo dans le navigateur, puis appuyer sur F12 ou Ctrl + Maj + I pour ouvrir les outils de développement, et passer à l'onglet Réseau. Actualisez la page, et vous verrez un tas de requêtes. Trouvez la requête qui obtient les données de tendance, faites un clic droit et copiez-la en tant que cURL. Ensuite, ouvrez Apidog, créez une nouvelle interface, et collez le cURL que vous venez de copier dans le champ de saisie. Apidog le parse automatiquement pour nous - super pratique !

Outre la capture de paquets, certains développeurs tiers ont peut-être déjà fait de la rétro-ingénierie sur certaines API de services. Vous pouvez rechercher sur GitHub et les utiliser directement si nécessaire.
Conclusion
Ceci conclut le contenu de cet article. J'espère qu'il pourra vous donner de l'inspiration pour utiliser la fonctionnalité de tâches planifiées d'Apidog afin de mettre en œuvre des opérations automatisées intéressantes. Si vous avez des idées ou des pratiques géniales, n'hésitez pas à les partager dans la communauté des utilisateurs d'Apidog. Qu'il s'agisse d'astuces d'utilisation personnelles ou d'idées pour résoudre des problèmes difficiles - tout est bienvenu !
