前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >技术分享 | SeleniumIDE用例录制

技术分享 | SeleniumIDE用例录制

原创
作者头像
霍格沃兹测试开发
发布2022-04-19 11:18:20
发布2022-04-19 11:18:20
8730
举报
文章被收录于专栏:测吧测试开发测吧测试开发

本文节选自霍格沃兹测试开发学社内部教材

Selenium IDE 是一个用于 Web 测试的集成开发环境。是 Chrome 和 Firefox 的插件,可以记录和回放与浏览器的交互过程。

虽然 Selenium IDE 可以帮我们生成代码、录制回放、元素定位等功能,但是缺点也很明显:

  • 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/

Chrome 插件在国内无法下载,Firefox 可以直接下载。

启动 IDE

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

实战演示

录制第一个测试用例

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

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

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

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

导出用例结构分析

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

导出用例代码如下:

Python 代码
代码语言:txt
复制
#注释是由 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 的值就会出现相应的定位表达式。

来霍格沃兹测试开发学社,学习更多软件测试与测试开发的进阶技术,知识点涵盖web自动化测试 app自动化测试、接口自动化测试、测试框架、性能测试、安全测试、持续集成/持续交付/DevOps,测试左移、测试右移、精准测试、测试平台开发、测试管理等内容,课程技术涵盖bash、pytest、junit、selenium、appium、postman、requests、httprunner、jmeter、jenkins、docker、k8s、elk、sonarqube、jacoco、jvm-sandbox等相关技术,全面提升测试开发工程师的技术实力。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 启动 IDE
  • 实战演示
    • 录制第一个测试用例
    • 导出用例结构分析
    • Python 代码
  • 保存
  • 回放
  • 控件定位
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档