Selenium IDE录制脚本

文章目录

  • 1.环境搭建
    • 1.1 Chrome浏览器安装
    • 1.2 Chrome驱动安装
    • 1.3 Selenium IDE插件的安装
  • 2.Selenium IDE插件介绍
    • 2.1 初始化界面
    • 2.2 菜单栏
    • 2.3 工具栏
    • 2.4 地址栏
    • 2.5 测试用例窗口
    • 2.6 测试脚本窗口
    • 2.7 日志和引用窗口
  • 3.元素定位
    • 3.1 通过id进行元素定位
    • 3.2 通过name进行元素定位
    • 3.3 通过class name进行元素定位
    • 3.4 通过tag name进行元素定位
    • 3.5 通过css进行元素定位
    • 3.6 通过link_text进行元素定位
    • 3.7 通过partial_link_text进行元素定位
    • 3.8 通过xpath进行元素定位
      • 3.8.1 xpath+绝对路径
      • 3.8.2 xpath+相对路径+索引定位
      • 3.8.3 xpath+相对路径+属性定位
      • 3.8.4 xpath+相对路径+通配符定位
      • 3.8.5 xpath+相对路径+部分属性值定位
      • 3.8.6 xpath+相对路径+文本定位
  • 4.脚本优化
  • 5.查看测试报告

1.环境搭建

1.1 Chrome浏览器安装

1.版本选择:98.0.4758.102_chrome64_stable_windows_installer.exe
2.如果Selenium IDE插件安装失败,可能是由于插件的版本和浏览器版本不兼容导致的,可以去网上
下载对应的Selenium IDE插件,也可以卸载原有的 Chrome 浏览器,再进行双击安装

1.2 Chrome驱动安装

1.从外网下载对应的驱动版本:chromedriver.exe
2.拷贝到 Chrome 目录下:
2.1 选中 Chrome 桌面快捷方式,右击,选择属性,查看目标位置
2.2 目录访问 Chrome 目录,把驱动文件拷贝到对应目录下
2.3 把 Chrome 目录,设置为环境变量
3.把驱动文件,拷贝到对应的 Python 目录下

在这里插入图片描述
在这里插入图片描述

1.3 Selenium IDE插件的安装

1.打开 Chrome 浏览器扩展程序的,开发者模式
2.把下载好的对应的 Selenium IDE 插件(mooikfkahbdckldjjndioackbalphokd-3.17.2-
Crx4Chrome.com.crx)拖拽到此页面即可
3.点击添加扩展程序

2.Selenium IDE插件介绍

Selenium IDE 是 Chrome 和 FireFox 和 Edge 浏览器中的插件,Selenium IDE 结合浏览
器提供脚本录制、脚本回放、脚本编辑、元素定位等功能,使用 Selenium IDE 可以将录制的脚本生
成相应的单元测试框架的自动化测试脚本, 录制脚本支持导出 Python pytest、Java JUnit、
NUnit等格式
Selenium IDE 分为不同的组件, 每个组件都有自己的特性和功能。
组件包括:
1.菜单栏
2.工具栏
3.地址栏
4.测试用例窗口
5.测试脚本窗口
6.日志和引用窗口

2.1 初始化界面

在这里插入图片描述

2.2 菜单栏

1.菜单栏位于 Selenium IDE 界面的最顶部
2.项目名:用于重命名整个项目
3.打开项目:用于从个人驱动器加载任何现有项目
4.保存项目:用于保存当前正在处理的整个项目

2.3 工具栏

1.执行所有用例:用于加载具有多个测试用例的测试套件时运行整个测试套件
2.执行当前所选用例:用于运行当前选定的测试,只加载一个测试用例,运行测试,此按钮和运行所有
用例按钮,具有相同的效果
3.Debug模式:用于进入步骤,通过测试用例一次运行一个命令,用于调试测试用例
4.调节用例执行速度:用于控制测试用例的执行速度

2.4 地址栏

此模块提供一个下拉菜单,可以记住基本 URL 的所有先前值,简单来书,
基本 URL 地址栏会记录以前访问过的网站,以便以后导航变得容易

2.5 测试用例窗口

创建测试用例
重命名
复制
删除
导出

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2.6 测试脚本窗口

Command:可以将命令视为在浏览器元素上执行的实际操作,例如:如果要打开一个新的URL,该命
令是:open,如果单机网页上的链接或者按钮, 则该命令为:click
Target:指定必须在其上执行操作的web元素以及locator属性
Value:可选字段,可在需要发送一些实际参数时使用,例如:在文本框中输入用户名或者密码
Command:
open:使用URL打开一个页面
click:执行单击操作,并可选地等待新页面加载
type:输入内容
sendKeys:键盘输入
verifyTitle/assertTitle:检查当前页面标题title,区别:(使用断言还是验证 Assertion
or Verification?)
verifyTitle:用于检查当前页面标题是否等于期望值,当前步骤失败,脚本会继续执行
assertTitle:用于检查当前页面标题是否等于期望值,如果不满足,当前脚本失败,脚本不会继续执
行
verifyTextPresent:验证指定文本是否存在
verifyElementPresent:验证指定的UI元素存在,当必须测试特定UI元素的存在,而不是其内容
时,请使用此命令,此验证不检查文件,只检查HTML标记,一个常用的方法就是检查图像是否存在
verifText:验证指定文本及其相应的HTML标记在页面上,必须测试文本和它的UI元素
verifyTable:验证一个表格的预期内容

在这里插入图片描述

2.7 日志和引用窗口

在这里插入图片描述

3.元素定位

3.1 通过id进行元素定位

driver.find_element(By.ID, 'kw').send_keys('Selenium')

3.2 通过name进行元素定位

driver.find_element(By.NAME, 'wd').send_keys('Selenium')

3.3 通过class name进行元素定位

driver.find_element(By.CLASS_NAME, 's_ipt').send_keys('Selenium')

3.4 通过tag name进行元素定位

driver.find_element(By.TAG_NAME, 'input').send_keys('Selenium')

3.5 通过css进行元素定位

#表示id属性:#kw;.表示class属性:.s_ipt
driver.find_element(By.CSS_SELECTOR, '#kw').send_keys('Selenium')

3.6 通过link_text进行元素定位

# 超链接
driver.find_element(By.LINK_TEXT, '新闻').send_keys('Selenium')

3.7 通过partial_link_text进行元素定位

# 超链接部分内容
driver.find_element(By.PARTIAL_LINK_TEXT, '闻').send_keys('Selenium')

3.8 通过xpath进行元素定位

3.8.1 xpath+绝对路径

driver.find_element(By.XPATH, '/html/body/div/div/div/div/form/div[1]/div/div/div[1]/div/input').send_keys('Selenium')

3.8.2 xpath+相对路径+索引定位

driver.find_element(By.XPATH, '//form/div[1]/div[1]/div[1]/div[1]/div[1]/input').send_keys('Selenium')

3.8.3 xpath+相对路径+属性定位

driver.find_element(By.XPATH, '//input[@placeholder="用户名"]').send_keys('Selenium')

3.8.4 xpath+相对路径+通配符定位

driver.find_element(By.XPATH, '//input[@*="用户名"]').send_keys('Selenium')

3.8.5 xpath+相对路径+部分属性值定位

# 以开头
driver.find_element(By.XPATH, '//*[starts-with(@placeholder, "用")]').send_keys('Selenium')
# 以结尾
driver.find_element(By.XPATH, '//*[contains(@placeholder, "名")]').send_keys('Selenium')
# 包含
driver.find_element(By.XPATH, '//*[substring(@placeholder, 2)="户名"]').send_keys('Selenium')

3.8.6 xpath+相对路径+文本定位

driver.find_element(By.XPATH, '//span[text()="登 录"]').send_keys('Selenium')

4.脚本优化

# 类方法优化
def setup_method(self, method):self.driver = webdriver.Chrome()self.vars = {}
# 优化为
def setup_method(self, method):# self.driver = webdriver.Chrome()# Chrome添加参数browser_options = webdriver.ChromeOptions()# 解决SSL证书问题browser_options.add_argument("--ignore-certificate-errors")# 解决控制台输出报错信息browser_options.add_experimental_option("excludeSwitches", ["enablelogging"])# 去掉 chrome正受到自动测试软件的控制提示browser_options.add_experimental_option("excludeSwitches", ["enableautomation"])self.driver = webdriver.Chrome(options=browser_options)# 智能等待时长self.driver.implicitly_wait(20)self.vars = {}# 添加入口函数,可以单独用例在PyCharm中执行if __name__ == '__main__':pytest.main(["-s", "-v", "test_test001login.py"])

5.查看测试报告

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/197282.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于SSM的焦作旅游协会管理系统设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:采用JSP技术开发 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目&#x…

QMI8658A Datasheet Rev A-勘误表

QMI8658A Datasheet Rev A-勘误表 1. Reset Register2. CTRL9 Command List3. Temp Sensor Output 1. Reset Register 在5.9章节 和 7.4 章节对复位操作的写入数据,有笔误 正确的数据是: 0xB0 2. CTRL9 Command List 在 5.10.2 章节 Table 28. List…

DDD落地:从美团抽奖平台,看DDD在大厂如何落地?

尼恩说在前面 在40岁老架构师 尼恩的读者社区(50)中,最近有小伙伴拿到了一线互联网企业如阿里、滴滴、极兔、有赞、希音、百度、网易、美团的面试资格,遇到很多很重要的面试题: 谈谈你的DDD落地经验? 谈谈你对DDD的理解&#xff…

1688阿里巴巴官方开放平台API接口获取商品详情、商品规格信息列表、价格、宝贝详情数据调用示例说明

商品详情API接口在电商平台和购物应用中的作用非常重要。它提供了获取商品详细信息的能力,帮助用户了解和选择合适的商品,同时也支持开发者进行竞品分析、市场研究和推广营销等工作,以提高用户体验和促进销售增长。 1688.item_get-获得1688商…

vue-admin-template改变接口地址

修改登录接口 1.f12查看请求接口 模仿返回数据写接口 修改方式1 1.在env.devolopment修改 修改方式2 vue.config.js 改成本地接口地址 配置转发 后端创建相应接口,使用map返回相同的数据 修改前端请求路径 修改前端返回状态码 utils里面的request.js

德思特分享丨一文带你了解ADC测试参数有哪些?

来源:德思特测量测试 德思特分享丨一文带你了解ADC测试参数有哪些? 一文带你了解ADC测试参数有哪些 模数转换器(ADC)是数字电子系统中重要组成部分,用于捕获外部世界的模拟信号,如声音、图像、温度、压力…

没收到Win11 23H2正式版的推送怎么升级到23H2

没收到Win11 23H2正式版的推送怎么升级到23H2?用户反映自己没有收到Win11 23H2正式版的更新推送,又想升级为23H2版本。接下来小编给大家详细介绍不同的升级方法,帮助更多的用户完成Win11 23H2系统的更新,升级后就能体验到Win11 23…

简单好用的轻量级思维导图:ClickCharts 激活for mac

ClickCharts是一款流程图和流程图绘制软件,它提供了直观的界面和丰富的工具,帮助用户轻松创建和编辑各种类型的图表和流程图。 以下是ClickCharts软件的一些主要功能和特点: 流程图绘制:ClickCharts允许用户创建各种类型的流程图…

服务器探针-serverstatus

{alert type"info"} 之前给大家介绍过一个简单的服务器监控。uptime-kuma 今天给各位带来一个酷炫的多服务器探针和多服务器监控。ServerStatus {/alert} 作者的开源项目地址如下:https://github.com/cppla/ServerStatus 作者的项目体验地址如下 https://…

亚马逊、shein新品如何快速获得页面流量?自养号技术防关联解决要点及好处

在当今电子商务时代,亚马逊已经崭露头角,成为全球最大的在线零售商之一。数以亿计的消费者在亚马逊上购物为新产品提供了机会,但要在激烈的竞争中脱颖而出并快速获得页面流量并不是一件容易的事情。本文将详细探讨亚马逊新品如何快速获取页面…

红黑树你需要了解一下

红黑树介绍 红黑树(Red Black Tree)是一种自平衡二叉查找树,也是计算机科学中用到的一种数据结构。红黑树的特点是在进行插入和删除操作时,通过特定操作保持二叉查找树的平衡,从而获得较高的查找性能。 红黑树最早由…

Windows通过ssh连接远程服务器并进入docker容器

Windows操作系统可以使用vscode通过ssh远程连接ubuntu服务器: 首先下载安装vscode,然后安装插件Remote-SSH: 通过ctlshiftP可以打开Remote-SSH:connect to host; 输入ssh Userhostname -p port host和hostname对应的是…