技术分享 | SeleniumIDE用例录制

简介: 技术分享 | SeleniumIDE用例录制
  • 1、录制回放方式的稳定性和可靠性有限
  • 2、只支持 Firefox、Chrome
  • 3、对于复杂的页面逻辑其处理能力有限

环境准备

Chrome 插件:https://chrome.google.com/webstore/detail/selenium-ide/mooikfkahbdckldjjndioackbalphokd

Firefox 插件:https://addons.mozilla.org/en-US/firefox/addon/selenium-ide/

安装完成后,通过在浏览器的菜单栏中点击图标启动

实战演示

第一步:创建新项目后,取名为 hogwarts_demo1。

第二步:然后需要填写 URL(要录制测试脚本的网站 URL)。这里使用的是 https://ceshiren.com/

第三步:完成设置后,将打开一个新的浏览器窗口,加载 URL 并开始录制脚本。在页面上的操作都将记录在 IDE 中。操作完成后,切换到 IDE 窗口并单击停止录制按钮。

第四步:停止后,为刚录制的测试用例取名ceshiren_demo1

利用 Selenium IDE 导出 pytest 格式代码。

导出用例代码如下:

#注释是由 Selenium IDE 生成的代码
# Generated by Selenium IDE
#导入可能用到的依赖
from selenium import webdriver
from selenium.webdriver.common.by import By

class TestCeshirendemo1():
  # setup_module()只会在开始测试运行一次
  def setup_method(self, method):
    # 初始化webdriver
    self.driver = webdriver.Firefox()
    self.vars = {}

  # teardown_module()只会在结束测试运行一次
  def teardown_method(self, method):
    # 关闭浏览器并关闭启动 ChromeDriver 时启动的 ChromeDriver 可执行文件
    self.driver.quit()

  # 测试方法
  def test_ceshirendemo1(self):
    # 访问网址
    self.driver.get("https://ceshiren.com/")
    # 设置窗口大小
    self.driver.set_window_size(1382, 744)
    # 点击操作
    self.driver.find_element(By.LINK_TEXT, "所有分类").click()
    # 设置等待时间为2秒
    time.sleep(2)
    # 关闭当前窗口
    self.driver.close()

这段代码就简单的实现了对浏览器操作的自动化。

保存

单击 IDE 右上角的 save 图标,输入项目的保存名称和地址。

回放

选择想要回放的测试用例,单击 play 按钮,在 IDE 中回放测试。

控件定位

如果想定位其他的控件,只需要点击图中的箭头,点击后就会跳转到浏览器,然后点击想要定位的控件,Target 的值就会出现相应的定位表达式。

推荐学习

⬇️ 点击“下方链接”,提升测试核心竞争力!
相关文章
|
10天前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
1223 5
|
9天前
|
机器学习/深度学习 人工智能 前端开发
通义DeepResearch全面开源!同步分享可落地的高阶Agent构建方法论
通义研究团队开源发布通义 DeepResearch —— 首个在性能上可与 OpenAI DeepResearch 相媲美、并在多项权威基准测试中取得领先表现的全开源 Web Agent。
1199 87
|
10天前
|
云栖大会
阿里云云栖大会2025年9月24日开启,免费申请大会门票,速度领取~
2025云栖大会将于9月24-26日举行,官网免费预约畅享票,审核后短信通知,持证件入场
1786 13
|
19天前
|
人工智能 运维 安全
|
3天前
|
资源调度
除了nrm-pm,还有哪些工具可以管理多个包管理器的源?
除了nrm-pm,还有哪些工具可以管理多个包管理器的源?
233 127
|
3天前
|
前端开发
Promise的then方法返回的新Promise对象有什么特点?
Promise的then方法返回的新Promise对象有什么特点?
174 2