Selenium的自动化测试技巧有多少?【建议收藏】

751 篇文章 2 订阅
559 篇文章 11 订阅

Selenium是一个用于自动化Web应用程序测试的工具。它提供了一组API,允许用户与Web浏览器进行交互,来执行各种自动化测试任务。本文将从零开始,详细介绍Selenium的自动化测试技巧。

第一步:安装Selenium

首先,您需要安装Selenium WebDriver库和所需的浏览器驱动程序。您可以通过pip命令来安装Selenium:


pip install selenium 

然后,您需要下载并配置浏览器驱动程序。Selenium支持各种浏览器,如Chrome、Firefox、Safari等。您可以从相应的浏览器官方网站上下载并安装对应的驱动程序。

第二步:启动浏览器并打开网页

在编写测试脚本之前,您需要启动浏览器,并通过WebDriver创建一个浏览器实例。接下来,您可以使用WebDriver的get()方法来打开一个网页。以下是一个示例代码:


from selenium import webdriver

# 创建一个Chrome浏览器实例
driver = webdriver.Chrome()

# 打开网页
driver.get("https://www.example.com") 

第三步:定位元素

Selenium提供了一系列方法来定位网页中的元素,比如按ID、class、标签名、XPath等进行定位。您可以使用find_element()方法来查找单个元素,或者使用find_elements()方法来查找多个元素。

以下是一些常用的定位方法示例:

# 按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")
 
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:691998057【暗号:csdn999】

第四步:与元素交互

定位到元素后,您可以使用元素对象的方法来与元素进行交互。以下是一些常用的元素交互方法:


# 点击元素
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

# 创建ActionChains对象
actions = ActionChains(driver)

# 执行操作序列
actions.move_to_element(element1).click().send_keys("text").perform()

第六步:处理弹窗和iframe

在自动化测试中,通常需要处理弹窗和iframe。Selenium提供了switch_to.alert()方法来处理弹窗,并提供了switch_to.frame()方法来切换到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提供了一些方法来实现元素等待,比如implicitly_wait()和WebDriverWait。

以下是一个示例代码:

# 隐式等待,最多等待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"))
)
 

第九步:截图和日志记录

在自动化测试中,截图和日志记录对于问题排查和测试报告非常重要。Selenium提供了一些方法来实现截图和日志记录。

以下是一个示例代码:

# 截图
driver.save_screenshot("screenshot.png")

# 日志记录
import logging
driver.get_log("browser")
logging.warning("Warning message")
 

第十步:清理和退出

在测试完成后,您需要进行清理和退出操作,释放资源和关闭浏览器。

以下是一个示例代码:


# 清理操作
driver.delete_all_cookies()

# 退出操作
driver.quit()

通过这篇文章,您已经了解了从零开始的Selenium自动化测试技巧,包括安装Selenium、启动浏览器、定位元素、与元素交互、执行操作序列、处理弹窗和iframe、断言和验证、等待元素加载、截图和日志记录、清理和退出等。希望这些技巧对您的自动化测试工作有所帮助!

下面是配套资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!

史上最全软件测试自学资料大全(学习路线+视频教程+文档资料+PDF面试文档)作为一个软件测试的过来人,小濠想尽自己最大的努力,帮助每一个伙伴都能顺利找到满意的工作。我花费了很多时间细心钻研,在收集了近 200G 干货、 1500份资料中精心筛选出来了这份「软件测试资料包」。你只需要花很少的时间就能快速地icon-default.png?t=N7T8https://mp.weixin.qq.com/s?__biz=Mzk0OTI0ODM2Mg==&mid=2247489248&idx=1&sn=3d7dbe28d58e5147c409c7e5f059d8ea&chksm=c35a1ee5f42d97f397fd420ce40f72b60195d4ffb42c34f61300463711347815f2e5656defa4&token=1425287504&lang=zh_CN#rd最后: 可以在公众号:程序员小濠 ! 免费领取一份216页软件测试工程师面试宝典文档资料。以及相对应的视频学习教程免费分享!,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

如果我的博客对你有帮助、如果你喜欢我的博客内容,请 “点赞” “评论” “收藏” 一键三连哦!

  • 20
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值