Maison> interface Web> js tutoriel> le corps du texte

Comment tester des sites Web : utilisation de SIRV et Playwright pour le développement piloté par les tests (TDD)

王林
Libérer: 2024-08-07 15:23:32
original
909 Les gens l'ont consulté

我一直在为我们的婚礼和一个用于在旅行时翻译食物的食物翻译网站工作一些网站。我发现的有趣的事情之一是如何测试这些网站,并确保一切正常。

什么是测试驱动开发(TDD)?

我发现(或者更确切地说,被告知)的两个工具称为 SIRV 和 Playwright,可以帮助您运行网站并测试网站的某些部分。一旦完成一些测试并弄清楚如何让事情变得更好,您就可以根据这些测试进行更新和更改。这称为测试驱动开发,其中测试揭示了应用程序中的差距,并且您根据测试进行更改。

通常这些差距以测试失败的形式出现。例如,如果您的网站上有一个表单,但在根据饮食要求输入标点符号时失败,那么您可以更改表单输入以允许使用标点符号。这使您的应用程序更适合您的用户,并且您现在拥有基于您运行的原始测试的新功能。

那么如何为应用程序编写测试呢?

什么是 SIRV 和剧作家?

SIRV 是一个静态站点服务器。它是用于处理静态资产请求的优化中间件。因此,如果您有静态站点,SIRV 效果最佳。

Playwright 另一方面是一种针对 Web 应用程序的测试方法。将它们一起使用意味着 Playwright 是我们将用来编写和运行测试的工具。 SIRV 是我们可以看到应用程序运行的界面,并查看哪些测试通过或失败。

编写测试

要测试您的代码,您需要编写测试。在此示例中,我正在编写一个测试来查看网页上是否有某个单词或标题。我使用 GitHub Copilot 帮助编写一个测试来执行此操作。 Playwright 文档为我提供了编写测试的正确起点。

为了使用 Playwright 进行测试写作,您需要导入它。这是编写测试的起点:

从'@playwright/test'导入{测试,期望};

我为我们的婚礼建立了一个网站,我想测试一下页面上是否检测到标题“Mish 和 Max”。这是我用来测试这个的代码:

雷雷

您将向项目添加一个扩展名为 .spec.test 的新文件。确保保存它,并在每次进行更改时保存它。现在我们已经编写了测试,让我们运行它。

使用 SIRV 和 Playwright 进行测试

首先,您需要 Node 才能使其工作。按照 Node.js 文档中的指南安装适用于 Windows、MacO 或 Linux 的 Node。

准备好测试代码时,在 VS Code 或您选择的编辑器中打开终端。我使用的是 VS Code,因此这里的演示使用 VS Code。通过选择“查看”>“打开终端”从菜单栏打开终端,或按 Ctrl + ` 键盘快捷键。

一旦有了终端,您需要运行一些命令:

npm install @playwright/test - 这通过安装测试库来设置 Playwright 测试。

npx playwright install - 这会下载 Chrome、FireFox、Safari 等的测试版本。

npx Sirv-cli 。 - 这会运行本地版本的 SIRV 进行测试。

现在您已经完成了 SIRV 和 Playwright 设置并准备就绪,我们可以运行测试了。在 VS Code(或您选择的编辑器)中打开一个新终端,然后运行以下命令:

npx playwright test --ui 这将运行测试并打开一个新窗口,我们可以在其中运行并查看正在运行的测试。

这是上面运行的所有命令:

How to test websites: Using SIRV and Playwright for test driven development (TDD)

Playwright终端测试窗口:

How to test websites: Using SIRV and Playwright for test driven development (TDD)

阅读并修复测试

我们可以在上面的测试中看到它运行失败。当我们研究为什么会发生这种情况时,我们就可以确定如何解决它。通过查看“错误”选项卡,我们可以看到发生了什么错误:

How to test websites: Using SIRV and Playwright for test driven development (TDD)

在这种情况下,它说:

预期字符串:“Contact Mish 和 Max”
收到字符串:“联系方式”

换句话说,它本来希望收到“Contact Mish and Max”,但它却显示“Contact”。如果我查看我的 *.html 文件,我们可以看到我有两个

标签: <p><img src="https://img.php.cn/upload/article/000/000/000/172301542124988.png" alt="How to test websites: Using SIRV and Playwright for test driven development (TDD)"></p> <p>HMTL lit uniquement la première balise de titre, même s'il existe d'autres balises de titre. Nous pouvons rapidement corriger cette erreur en modifiant la première balise de titre pour lire <title>Contact Mish et Max. Nous pouvons maintenant refaire le test :

How to test websites: Using SIRV and Playwright for test driven development (TDD)

Cette fois, on voit le ✔️ et le test réussit ?.

Rédaction de tests et rédaction de code

Maintenant que vous savez comment écrire et exécuter des tests avec SIRV et Playwright, vous pouvez continuer et écrire des tests plus complexes. Par exemple, sur le même formulaire de contact ci-dessus, j'ai écrit un test (en utilisant l'aide de GitHub Copilot) pour vérifier si le formulaire de contact peut être rempli et soumis :

How to test websites: Using SIRV and Playwright for test driven development (TDD)

Je peux exécuter ce test et parcourir chaque partie du test, en voyant dans l'interface utilisateur où les modifications sont apportées sur le site :

How to test websites: Using SIRV and Playwright for test driven development (TDD)

Essayez-le vous-même et dites-moi quels tests vous écrivez et si ce guide vous a été utile.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:dev.to
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!