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 进行简单的登录和注销功能测试。

