怎样开始用selenium进行自动化测试?
要开始使用Selenium进行自动化测试,你可以按照以下步骤进行:
一、环境搭建
安装Selenium库
使用pip命令安装Selenium:pip install selenium
下载并配置浏览器驱动程序
Selenium支持多种浏览器,如Chrome、Firefox、Safari等。你需要从相应的浏览器官方网站上下载并安装对应的驱动程序,并确保其版本与Selenium库和浏览器版本兼容。
设置开发环境
你可以选择使用IDE(如PyCharm)或文本编辑器(如VS Code)来编写和运行Selenium脚本。确保你的开发环境已经配置了Python解释器,并且安装了Selenium库。
二、编写测试脚本
启动浏览器并创建实例
使用WebDriver来启动浏览器并创建一个浏览器实例。例如,创建一个Chrome浏览器实例:
-
from selenium import webdriver -
driver = webdriver.Chrome()
打开网页
使用WebDriver的get()方法来打开一个网页:
driver.get("https://www.example.com")
定位网页元素
Selenium提供了一系列方法来定位网页中的元素,如按ID、class、标签名、XPath、CSS选择器等。例如:
-
# 按ID定位元素 -
element = driver.find_element_by_id("element_id") -
# 按class定位元素 -
element = driver.find_element_by_class_name("element_class") -
# 按标签名定位元素 -
element = driver.find_element_by_tag_name("element_tag") -
# 使用XPath定位元素 -
element = driver.find_element_by_xpath("//element_xpath") -
# 使用CSS选择器定位元素 -
element = driver.find_element_by_css_selector(".element_class")
与元素交互
定位到元素后,可以使用元素对象的方法来与元素进行交互,如点击、输入文本、获取元素文本等:
-
# 点击元素 -
element.click() -
# 输入文本到输入框 -
element.send_keys("text") -
# 获取元素文本 -
text = element.text -
# 获取元素属性值 -
value = element.get_attribute("attribute_name") -
# 判断元素是否显示 -
is_displayed = element.is_displayed()
执行操作序列
Selenium提供了ActionChains类,可以执行一系列操作,如鼠标移动、按键操作等:
-
from selenium.webdriver.common.action_chains import ActionChains -
actions = ActionChains(driver) -
actions.move_to_element(element1).click().send_keys("text").perform()
AI生成项目
处理弹窗和iframe
Selenium提供了方法来处理弹窗和切换到iframe:
-
# 处理弹窗 -
alert = driver.switch_to.alert -
alert.accept() # 点击确认按钮 -
alert.dismiss() # 点击取消按钮 -
# 切换到iframe -
driver.switch_to.frame("iframe_name") -
driver.switch_to.default_content() # 切换回主文档
断言和验证
在自动化测试中,通常需要对测试结果进行断言和验证。Selenium提供了一些方法来进行断言和验证,如assert和assertEqual:
-
# 断言元素是否存在 -
assert driver.find_element_by_id("element_id").is_displayed() # 判断元素是否显示 -
# 验证页面标题是否正确 -
assert "Page Title" in driver.title -
# 验证页面URL是否正确 -
assert "https://www.example.com" in driver.current_url
等待元素加载
在自动化测试中,有时需要等待元素加载完成。Selenium提供了隐式等待和显式等待的方法:
-
# 隐式等待,最多等待10秒 -
driver.implicitly_wait(10) -
# 显式等待,等待元素出现后执行操作 -
from selenium.webdriver.support.ui import WebDriverWait -
from selenium.webdriver.support import expected_conditions as EC -
from selenium.webdriver.common.by import By -
element = WebDriverWait(driver, 10).until(EC.presence_of_element_located((By.ID, "element_id")))
截图和日志记录
在测试过程中,截图和日志记录对于问题排查和测试报告非常重要:
-
# 截图 -
driver.save_screenshot("screenshot.png") -
# 日志记录 -
import logging -
logging.basicConfig(level=logging.WARNING) # 设置日志级别 -
logging.warning("Warning message") # 记录警告信息
三、运行和清理
运行测试脚本
在开发环境中运行你编写的Selenium测试脚本,观察测试结果。
清理和退出
在测试完成后,需要进行清理和退出操作,释放资源和关闭浏览器:
-
# 清理操作,如删除所有cookies -
driver.delete_all_cookies() -
# 关闭浏览器 -
driver.quit()
通过以上步骤,你就可以开始使用Selenium进行自动化测试了。记得在测试过程中不断调试和优化你的脚本,以提高测试的准确性和效率。
感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取

更多推荐



所有评论(0)