发布于 2026-01-06 2 阅读
0

使用 Python 和 Selenium 编写测试用例简介 为什么选择 Selenium? 编写测试用例 为前端 Web 框架编写测试用例 结论 参考资料

使用 Python 和 Selenium 编写测试用例

介绍

为什么选择硒?

编写测试用例

为前端 Web 框架编写测试用例

结论

参考

介绍

取消绘制欢迎猫咪 thqn

如何测试一个模拟真实用户的用户界面?其实有很多前端测试框架可供选择,例如CypressTestCafeProtractor

我要介绍的这款工具被认为是前端测试的行业标准,在网站测试人员中非常流行。它能够模拟真实用户与用户界面交互,而无需学习其他编程语言即可上手。

请注意,在使用 Selenium 时,不同编程语言之间存在细微差别。这是因为该库由多个开源贡献者创建和维护,他们可能与 Selenium 的主要贡献者并无关联,只是都使用 Selenium 并为其特定的编程语言构建了封装库。

为什么选择硒?

取消绘制整理思路 6d48

Selenium 不仅是网站 UI 测试的首选工具,还常用于数据抓取自动化,因为它能够模拟真实用户的行为。

当尝试从使用 JavaScript 显示数据的网站抓取数据时,就会遇到困难。您需要配置浏览器来执行 JavaScript 代码。虽然可以使用Splash来规避这个问题,但这需要额外的配置才能提取数据。

编写测试用例

取消绘制已完成的步骤 yurw

为了编写测试用例,我选择Pytest作为测试框架,因为它让任何人都能轻松上手创建测试用例和fixtures。这些 fixtures 允许在执行网站测试用例之前快速加载状态或环境。

这使您能够创建用户旅程,自动测试用户如何浏览或与网站互动。您可以将其集成到 CI/CD 流程中,以便在实际部署到生产服务器并正式上线供用户使用之前,捕获用户交互或 UI 错误。

CSS 与 XPath

取消绘制连接 b38q

要使用 Selenium 为网站编写测试用例,首先需要做的就是启动浏览器实例并将其重定向到网站链接。之后,还需要在网站上找到特定的 HTML 元素。

这样 Selenium 就可以对它进行一些操作。例如,可以触发点击事件、等待元素加载完成,或者提取该 HTML 元素的数据来检查值是否正确。

有很多方法可以实现这一点。最常见的方法是使用选择器,可以使用CSS选择器或XPath选择器。

我个人更倾向于使用你想选择的HTML元素的XPath 。因为HTML元素很少会包含用于在网页中标识该元素的类名名称属性。

如果您使用的是 Firefox 或 Chrome 浏览器,可以通过右键单击鼠标来显示内置的开发者工具,轻松获取 XPath。选择“检查”后,再次右键单击,复制您想要选择的元素的 XPath,以便在运行测试用例时定位该元素。

检查元素

复制 XPath

为前端 Web 框架编写测试用例

取消详细分析 xn7y

在编写测试用例之前,请确保已在 Linux 机器上安装了以下 Python 包和 Chromium:

pip install pytest selenium
sudo apt update
sudo apt install chromium-chromedriver
Enter fullscreen mode Exit fullscreen mode

首先,要编写测试用例,创建一个名为 `.test` 的文件test_user_flow.py,然后使用以下代码:

from selenium import webdriver  # imports the selenium webdriver


def test_get_title():
    path = "http://www.python.org"  # the starting url
    driver = webdriver.Chrome()  # initialise a driver that is using the chrome driver for selenium
    driver.get(path)  # redirects the driver to that url path

    assert "Python" in driver.title  # a test case which checks if the title contains the "Python"

    driver.close()  # closes the browser once it has completed


test_get_title()

Enter fullscreen mode Exit fullscreen mode

现在让我们运行测试用例,它应该会弹出一个 Chrome 浏览器窗口并运行两次,你的代码应该会通过测试用例:

pytest -v
Enter fullscreen mode Exit fullscreen mode

测试用例

结论

取消绘制感到自豪 qne1

我希望这篇文章对您有所帮助,并能让您了解 Selenium。Selenium 的主要用途并非仅仅是 UI 测试,而是数据抓取和自动化,因为它能够方便地在 JavaScript 密集型网站上展示数据,并且广泛支持多种编程语言。

我还列出了选择 HTML 元素时应该使用它的原因Xpath。当 HTML 元素不包含任何内容class attributesid需要识别网页中的元素时,可以使用它。

如果你喜欢这篇文章,请订阅我的冒险家通讯其中包含我每周在PythonWeb 开发创业领域偶然发现的有趣内容。

您也可以关注我,获取我在Dev上发表的文章的最新更新 。原文标题为《使用 Python 和 Selenium 编写测试用例》,阅读时间:4 分钟,封面图片来自Unsplash 的 Daniel Korpai。

参考

文章来源:https://dev.to/steelwolf180/writing-test-cases-using-python-with-selenium-4mal