当前位置:实例文章 » Python实例» [文章]Python+Selenium做自动化测试

Python+Selenium做自动化测试

发布人:shili8 发布时间:2025-02-17 20:00 阅读次数:0

**Python + Selenium 自动化测试**

在软件开发领域,自动化测试是非常重要的一环。它可以帮助我们快速验证应用程序的功能、性能和稳定性,从而节省大量的人力和时间。Python 是一种流行的编程语言,而 Selenium 是一个著名的自动化测试工具。下面,我们将介绍如何使用 Python + Selenium 来进行自动化测试。

**环境准备**

首先,我们需要准备好必要的环境:

* Python3.x(推荐使用最新版本)
* Selenium WebDriver(支持多种浏览器,如 Chrome、Firefox 等)
* pytest 或 unittest 库用于写测试用例**安装依赖库**

bashpip install selenium pytest


**配置Selenium**

我们需要下载并配置好对应的浏览器驱动:

* ChromeDriver: GeckoDriver(Firefox): Python 脚本中手动指定驱动路径。

**写测试用例**

下面是一个简单的示例,用来演示如何使用 Selenium 进行自动化测试:

import pytestfrom selenium import webdriverfrom selenium.webdriver.common.by import Byfrom selenium.webdriver.support.ui import WebDriverWaitfrom selenium.webdriver.support import expected_conditions as ECclass TestExample:
 def setup_method(self):
 # 初始化浏览器驱动 self.driver = webdriver.Chrome()
 self.driver.maximize_window()

 def teardown_method(self):
 #退出浏览器驱动 self.driver.quit()

 @pytest.mark.parametrize("username, password", [
 ("test_user", "test_password"),
 ("another_user", "another_password")
 ])
 def test_login(self, username, password):
 # 访问登录页面 self.driver.get(" />
 # 等待用户名输入框出现 WebDriverWait(self.driver,10).until(
 EC.presence_of_element_located((By.NAME, "username"))
 )

 # 填写用户名和密码 username_input = self.driver.find_element(By.NAME, "username")
 password_input = self.driver.find_element(By.NAME, "password")

 username_input.send_keys(username)
 password_input.send_keys(password)

 # 点击登录按钮 login_button = self.driver.find_element(By.NAME, "login")
 login_button.click()

 # 等待登录成功页面出现 WebDriverWait(self.driver,10).until(
 EC.presence_of_element_located((By.XPATH, "//h1[text()='Login Successful']"))
 )

 assert True def test_logout(self):
 # 访问登录页面 self.driver.get(" />
 # 等待用户名输入框出现 WebDriverWait(self.driver,10).until(
 EC.presence_of_element_located((By.NAME, "username"))
 )

 # 填写用户名和密码 username_input = self.driver.find_element(By.NAME, "username")
 password_input = self.driver.find_element(By.NAME, "password")

 username_input.send_keys("test_user")
 password_input.send_keys("test_password")

 # 点击登录按钮 login_button = self.driver.find_element(By.NAME, "login")
 login_button.click()

 # 等待登录成功页面出现 WebDriverWait(self.driver,10).until(
 EC.presence_of_element_located((By.XPATH, "//h1[text()='Login Successful']"))
 )

 # 点击注销按钮 logout_button = self.driver.find_element(By.NAME, "logout")
 logout_button.click()

 # 等待注销成功页面出现 WebDriverWait(self.driver,10).until(
 EC.presence_of_element_located((By.XPATH, "//h1[text()='Logout Successful']"))
 )

 assert Trueif __name__ == "__main__":
 pytest.main()


上述示例演示了如何使用 Selenium 进行自动化测试,包括登录和注销功能。请注意,这是一个非常简单的示例,实际应用中可能需要更多复杂的测试用例。

**总结**

Python + Selenium 是一个强大的组合,可以帮助我们快速开发和维护自动化测试脚本。通过使用 pytest 或 unittest 库,我们可以轻松编写和运行测试用例。上述示例演示了如何使用 Selenium 进行简单的登录和注销功能测试。

相关标签:python
其他信息

其他资源

Top