Skip to content

Selenium 实战项目

在现代软件开发中,自动化测试已经成为确保软件质量的重要手段之一。

Selenium 是一个广泛使用的自动化测试工具,它支持多种编程语言和浏览器,能够模拟用户操作,进行功能测试、回归测试等。

本文将详细介绍如何使用 Selenium 进行自动化测试,并通过实战项目演示如何实现登录、注册和搜索(以百度为例)等常见功能的自动化测试。

1. 实战项目:自动化测试案例

1.1 登录功能测试

假设我们有一个登录页面,包含用户名和密码输入框以及登录按钮,我们将编写一个自动化测试脚本来模拟用户登录操作。

实例

python
from selenium import webdriver

from selenium.webdriver.chrome.service import Service as ChromeService

from selenium.webdriver.common.by import By

from selenium.webdriver.common.keys import Keys

chrome_options = Options()

# 设置正确的驱动路径

service = ChromeService(executable_path="./chromedriver-mac-arm64/chromedriver")

driver = webdriver.Chrome(service=service, options=chrome_options)

# 打开登录页面

driver.get("https://example.com/login")

# 定位用户名输入框并输入用户名

username_input = driver.find_element(By.ID, "username")

username_input.send_keys("testuser")

# 定位密码输入框并输入密码

password_input = driver.find_element(By.ID, "password")

password_input.send_keys("password123")

# 定位登录按钮并点击

login_button = driver.find_element(By.ID, "login-button")

login_button.click()

# 验证登录是否成功

assert "Welcome" in driver.page_source

# 关闭浏览器

driver.quit()

1.2 注册功能测试

接下来,我们编写一个自动化测试脚本来模拟用户注册操作。

实例

python
from selenium import webdriver

from selenium.webdriver.chrome.service import Service as ChromeService

from selenium.webdriver.common.by import By

# 配置 Chrome 选项

chrome_options = Options()

# 设置正确的驱动路径

service = ChromeService(executable_path="./chromedriver-mac-arm64/chromedriver")

driver = webdriver.Chrome(service=service, options=chrome_options)

# 打开注册页面

driver.get("https://example.com/register")

# 定位用户名输入框并输入用户名

username_input = driver.find_element(By.ID, "username")

username_input.send_keys("newuser")

# 定位邮箱输入框并输入邮箱

email_input = driver.find_element(By.ID, "email")

email_input.send_keys("newuser@example.com")

# 定位密码输入框并输入密码

password_input = driver.find_element(By.ID, "password")

password_input.send_keys("newpassword123")

# 定位确认密码输入框并输入密码

confirm_password_input = driver.find_element(By.ID, "confirm-password")

confirm_password_input.send_keys("newpassword123")

# 定位注册按钮并点击

register_button = driver.find_element(By.ID, "register-button")

register_button.click()

# 验证注册是否成功

assert "Registration successful" in driver.page_source

# 关闭浏览器

driver.quit()

1.3 搜索功能测试(百度)

最后,我们编写一个自动化测试脚本来模拟用户在百度搜索框中输入关键词并搜索的操作。

实例

python
from selenium import webdriver

from selenium.webdriver.chrome.service import Service as ChromeService

from selenium.webdriver.common.by import By

from selenium.webdriver.common.keys import Keys

# 配置 Chrome 选项

chrome_options = Options()

# 设置正确的驱动路径

service = ChromeService(executable_path="./chromedriver-mac-arm64/chromedriver")

driver = webdriver.Chrome(service=service, options=chrome_options)

# 打开百度首页

driver.get("https://www.baidu.com")

# 定位搜索框并输入关键词

search_box = driver.find_element(By.NAME, "wd")

search_box.send_keys("runoob")

# 模拟按下回车键进行搜索

search_box.send_keys(Keys.RETURN)

# 验证搜索结果页面是否包含关键词

assert "runoob" in driver.page_source

# 关闭浏览器

driver.quit()

AI 思考中...

Selenium 无头浏览器模式

基于 VitePress 构建,部署于 GitHub Pages