SeleniumLibrary4.5.0 关键字详解(五)

2023-10-27

SeleniumLibrary4.5.0 关键字详解(五)

库版本:4.5.0
库范围:全局
命名参数:受支持

简介
SeleniumLibrary是Robot Framework的Web测试库。

本文档说明了如何使用SeleniumLibrary提供的关键字。 有关安装,支持等信息,请参见 python3.9.0 + robotframework + selenium3 实例体验。

有关robotframework框架的更多信息,请参见 https://blog.csdn.net/mask5726/category_10537277.html。

SeleniumLibrary在内部使用Selenium WebDriver模块来控制Web浏览器。 有关常规Selenium的更多信息,请参见http://seleniumhq.org。

内容列表
1、元素定位
2、浏览器和窗口
3、超时,等待和延迟
4、运行故障功能
5、布尔参数
6、webDriver事件
7、线程支持
8、插件
9、引入
11、关键字

关键字
6 Capture Element Screenshot
参数:

locator
filename=selenium-element-screenshot-{index}.png

说明:

从定位器标识的元素捕获屏幕截图,并将其嵌入到日志文件中。

有关文件名参数的详细信息,请参见捕获页面屏幕截图。有关定位器语法的详细信息,请参见“定位元素”部分。

返回创建的元素屏幕快照的绝对路径。

从元素捕获屏幕截图的支持在浏览器供应商中受到的支持有限。请检查浏览器供应商驱动程序文档,该浏览器是否支持捕获来自元素的屏幕截图。

SeleniumLibrary 3.3中的新功能。 SeleniumLibrary 4.2中新增了对EMBED的支持。

EMBED:

Embed 对象是 HTML5 中的新对象。

Embed 对象表示 HTML 元素。

您可以通过使用 getElementById() 来访问 元素:

var x = document.getElementById(“myEmbed”);
您可以通过使用 document.createElement() 方法来创建 元素:

var x = document.createElement(“EMBED”);
例子:

Capture Element Screenshot id:image_id
Capture Element Screenshot id:image_id ${OUTPUTDIR}/id_image_id-1.png
Capture Element Screenshot id:image_id EMBED
7 Capture Page Screenshot
参数:

filename=selenium-screenshot-{index}.png

说明:

截取当前页面的屏幕截图并将其嵌入到日志文件中。

filename参数指定将屏幕快照写入其中的文件的名称。可以在导入库时或使用“设置屏幕快照目录”关键字来设置保存屏幕快照的目录。如果未配置目录,则屏幕截图将保存到写入Robot Framework日志文件的目录中。

如果文件名等于EMBED(不区分大小写),则屏幕截图将作为Base64图像嵌入到log.html中。在这种情况下,不会在文件系统中创建文件。

从SeleniumLibrary 1.8开始,如果文件名包含标记{index},它将自动替换为唯一的运行索引,以防止文件被覆盖。索引从1开始,可以使用Python的格式字符串语法自定义它们的表示方式。

返回创建的屏幕快照文件的绝对路径,或者如果文件名等于EMBED,则返回单词EMBED。

SeleniumLibrary 4.2中新增了对EMBED的支持。

例子:

Capture Page Screenshot
File Should Exist ${OUTPUTDIR}/selenium-screenshot-1.png
${path} = Capture Page Screenshot
File Should Exist ${OUTPUTDIR}/selenium-screenshot-2.png
File Should Exist ${path}
Capture Page Screenshot custom_name.png
File Should Exist ${OUTPUTDIR}/custom_name.png
Capture Page Screenshot custom_with_index_{index}.png
File Should Exist ${OUTPUTDIR}/custom_with_index_1.png
Capture Page Screenshot formatted_index_{index:03}.png
File Should Exist ${OUTPUTDIR}/formatted_index_001.png
Capture Page Screenshot EMBED
File Should Not Exist EMBED
8 Checkbox Should Be Selected
参数:

locator

说明:

验证未选中/选中复选框定位符。

有关定位器语法的详细信息,请参见“定位元素”部分。

9 Checkbox Should Not Be Selected
参数:

locator

说明:

验证未选中/选中复选框定位符。

有关定位器语法的详细信息,请参见“定位元素”部分。

10 Choose File
参数:

locator
file_path

说明:

将file_path输入到文件输入字段定位器中。

此关键字最常用于将文件输入到上传表单中。关键字不检查file_path是执行测试的机器上可用的文件或文件夹。如果file_path指向文件,并且在使用Selenium Grid时,Selenium会神奇地将文件从执行测试的计算机传输到运行浏览器的Selenium Grid节点。然后,Selenium将把来自节点文件系统的文件路径发送到浏览器。

不检查file_path,是SeleniumLibrary 4.0中的新功能。

例子:

Choose File my_upload_field ${CURDIR}/trades.csv
11 Clear Element Text
参数:

locator

说明:

清除定位器标识的文本输入元素的值。

有关定位器语法的详细信息,请参见“定位元素”部分。

12 Click Button
参数:

locator
modifier=False

说明:

单击定位器标识的按钮。

有关定位器语法的详细信息,请参见“定位元素”部分。使用默认定位器策略时,将使用id,名称和值搜索按钮。

有关修饰符参数的详细信息,请参见Click Element关键字。

modifier参数在SeleniumLibrary 3.3中是新的。

13 Click Element
参数:

locator
modifier=False
action_chain=False

说明:

单击定位器标识的元素。

有关定位器语法的详细信息,请参见“定位元素”部分。

单击元素时,修饰符参数可用于传递Selenium键。 +可用作不同selenium键的分隔符。 CTRL在内部转换为CONTROL键。修饰符是空格,不区分大小写,例如ALT键支持格式“ alt”和“ aLt”。如果修饰符与Selenium Keys不匹配,则关键字失败。

如果action_chain参数为true,请参阅布尔参数以获取有关如何设置布尔参数的更多详细信息,然后关键字使用基于ActionChain的click代替<web_element> .click()函数。如果同时定义了action_chain和修饰符,则将使用修饰符执行单击,而action_chain将被忽略。

例子:

Click Element id:button # Would click element without any modifiers.
Click Element id:button CTRL # Would click element with CTLR key pressed down.
Click Element id:button CTRL+ALT # Would click element with CTLR and ALT keys pressed down.
Click Element id:button action_chain=True # Clicks the button using an Selenium ActionChains
SeleniumLibrary 3.2中的modifier参数是新的,SeleniumLibrary 4.1中的action_chain参数是新的。

14 Click Element At Coordinates
参数:

locator
xoffset
yoffset

说明:

单击xoffset / yoffset处的元素定位器。

移动光标,并从该点开始计算元素的中心和x / y坐标。

有关定位器语法的详细信息,请参见“定位元素”部分。

15 Click Image
参数:

locator
modifier=False

说明:

单击定位器识别的图像。

有关定位器语法的详细信息,请参见“定位元素”部分。使用默认定位器策略时,将使用id,name,src和alt搜索图像。

有关修饰符参数的详细信息,请参见Click Element关键字。

修改器参数在SeleniumLibrary 3.3中是新的。

16 Click Link
参数:

locator
modifier=False

说明:

单击定位器标识的链接。

有关定位器语法的详细信息,请参见“定位元素”部分。使用默认定位器策略时,将使用id,名称,href和链接文本搜索链接。

有关修饰符参数的详细信息,请参见Click Element关键字。

修改器参数在SeleniumLibrary 3.3中是新的。

17 Close All Browsers
说明:

关闭所有打开的浏览器并重置浏览器缓存。

使用此关键字之后,将从“打开浏览器”关键字返回的新索引重置为1。

此关键字应在测试或套件拆卸中使用,以确保关闭所有浏览器。

18 Close Browser
说明:

关闭当前的浏览器。

19 Close Window
说明:

关闭当前打开并选择的浏览器窗口/选项卡。

20 Cover Element
参数:

locator

说明:

将使用蓝色div覆盖定位器标识的元素,而不会破坏页面布局。

有关定位器语法的详细信息,请参见“定位元素”部分。

SeleniumLibrary 3.3.0的新功能。

例子: |Cover Element | css:div#container |

21 Create Webdriver
参数:

driver_name
alias=None
kwargs={}
**init_kwargs

说明:

创建Selenium WebDriver的实例。

与Open Browser类似,但是允许将参数直接传递给创建的WebDriver实例。仅当Open Browser提供的功能不足时,才应使用此关键字。

driver_name必须是WebDriver实现名称,例如Firefox,Chrome,IE,Opera,Safari,PhantomJS或Remote。

可以使用Python字典kwargs或使用关键字参数** init_kwargs来配置已初始化的WebDriver。这些参数无需任何处理即可直接传递给WebDriver。有关受支持参数的详细信息,请参见Selenium API文档。

例子:

Use proxy with Firefox

${proxy}= Evaluate selenium.webdriver.Proxy() modules=selenium, selenium.webdriver
p r o x y . h t t p p r o x y = S e t V a r i a b l e l o c a l h o s t : 8888 C r e a t e W e b d r i v e r F i r e f o x p r o x y = {proxy.http_proxy}= Set Variable localhost:8888 Create Webdriver Firefox proxy= proxy.httpproxy=SetVariablelocalhost:8888CreateWebdriverFirefoxproxy={proxy}

Use proxy with PhantomJS

s e r v i c e a r g s = C r e a t e L i s t − − p r o x y = 192.168.132.104 : 8888 C r e a t e W e b d r i v e r P h a n t o m J S s e r v i c e a r g s = {service args}= Create List --proxy=192.168.132.104:8888 Create Webdriver PhantomJS service_args= serviceargs=CreateListproxy=192.168.132.104:8888CreateWebdriverPhantomJSserviceargs={service args}
返回此浏览器实例的索引,以后可用于切换回该索引。索引从1开始,并在使用“关闭所有浏览器”关键字时重置为该索引。有关示例,请参见切换浏览器。

22 Current Frame Should Contain
参数:

text
loglevel=TRACE

说明:

验证当前框架是否包含文本。

有关loglevel参数的说明,请参见页面应包含。

在SeleniumLibrary 3.0之前,此关键字被命名为Current Frame Contains。

23 Current Frame Should Not Contain
参数:

text
loglevel=TRACE

说明:

验证当前框架不包含文本。

有关loglevel参数的说明,请参见Page Should Contain。
————————————————
版权声明:本文为CSDN博主「马克社区」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/mask5726/article/details/110467339

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SeleniumLibrary4.5.0 关键字详解(五) 的相关文章

  • Python 如何安装Selenium(推荐)

    一 Selenium的定义 Selenium 是一个 Web的自动化测试工具 最初是为网站 自动化测试而开发的 Selenium 可以直接调用浏览器 它支持所有主流的浏览器 包括PhantomJS 这些无界面的浏览器 可以接收指令 让浏览器
  • 【性能测试入门】:压力测试概念!

    压力测试可以验证软件应用程序的稳定性和可靠性 压力测试的目标是评估软件在极端负载条件下的鲁棒性和错误处理能力 并确保软件在紧急情况下不会崩溃 它甚至可以进行超出软件正常工作条件的测试 并评估软件在极端条件下的工作方式 在软件工程中 压力测试
  • 使用Hypothesis生成测试数据

    Hypothesis是Python的一个高级测试库 它允许编写 测试用例 时参数化 然后生成使测试失败的简单易懂的测试数据 可以用更少的工作在代码中发现更多的bug 安装 pip install hypothesis 如何设计 测试数据 通
  • 最佳利用Mock提升测试效率的7个技巧!

    再聊这个问题之前 我们先了解一下公司技术架构的演变过程 这样我们才能真正体会到我们为什么要使用 Mock功能 单体应用 在早期 大部分公司的应用技术栈主要可以分为两大类 LAMP Linux Apache MySQL PHP 和 MVC S
  • 软件测试/测试开发/全日制/测试管理丨Redis内存数据库

    Redis是一种开源 内存中的数据结构存储系统 它提供了高性能 灵活性和丰富的数据结构 以下是Redis内存数据库的基本介绍 键值存储 Redis基于键值对的存储模型 其中每个键都与一个特定的值相关联 这种简单的数据模型使其易于使用和理解
  • Locust负载测试工具实操

    本中介绍如何使用Locust为开发的服务 网站执行负载测试 Locust 是一个开源负载测试工具 可以通过 Python 代码构造来定义用户行为 避免混乱的 UI 和臃肿的 XML 配置 步骤 设置Locust 在简单的 HTTP 服务上模
  • 基于Loadrunner的性能分析及调优经验分享

    公司某个系统的微信端计划将开放给几百上千的人员登录查询 并且登录账号为同一账号多人使用 后台服务能够支撑起多用户的并发操作以及成百上千人登录微信端对生产数据库或者登录查询的性能效率高成为交付可靠生产环境的必要条件 因此 项目组决定提交测试
  • 测试用例评审流程优化

    测试用例 评审是QA日常工作流程中的关键一环 是QA同学完善测试用例 交流测试经验的好机会 负责组内测试用例建设以来 作者对于评审流程做了一些优化工作 本文作者将整个优化过程中的心得体会做了一个总结 希望能给大家带来帮助 01 原始流程 1
  • 软件测试|使用matplotlib绘制多种折线图

    简介 在数据可视化领域 Matplotlib是一款非常强大的Python库 它可以用于绘制各种类型的图表 包括折线图 本文将介绍如何使用Matplotlib创建多种不同类型的折线图 并提供示例代码 创建模版 在绘图之前 我们可以先创建我们的
  • 软件测试|使用matplotlib绘制平行坐标系图

    简介 绘制平行坐标系图 Parallel Coordinates Plot 是一种用于可视化多维数据的强大方法 在这篇文章中 我们将介绍如何使用Matplotlib库创建平行坐标系图 以及如何解释和定制这种图表 我们将使用一个示例数据集来演
  • 软件测试|Pydantic处理时间类型数据

    简介 我们之前介绍过使用 pydantic 验证数据 比如校验数据的格式等 但是在我们的日常工作中 还有一种数据是需要我们验证的 比如时间数据 时间数据不同于字符串 列表等数据 与他们的验证不一样 本文就来为大家介绍一下 pydantic
  • 软件测试|使用Python读写yaml文件,你会了吗?

    简介 YAML YAML Ain t Markup Language 是一种可读的数据序列化格式 它常用于配置文件和数据交换 Python 提供了许多库来处理 YAML 文件 在本文中 我们将探讨如何使用 PyYAML 库来读取和写入 YA
  • 软件测试|如何使用selenium处理iframe富文本输入框

    简介 在网页开发中 富文本框是常见的元素 用于输入富文本内容 如富文本编辑器或邮件编辑器 如果我们要使用Python和Selenium进行自动化测试或操作这种富文本框 可能会遇到一些挑战 本文将详细介绍如何使用Python和Selenium
  • 跨平台UI自动化框架:Airtest,游戏开发和应用测试的利器

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 测开和测试平台是否有存在的必要?

    2024软件测试面试刷题 这个小程序 永久刷题 靠它快速找到工作了 刷题APP的天花板 CSDN博客 文章浏览阅读2 3k次 点赞85次 收藏11次 你知不知道有这么一个软件测试面试的刷题小程序 里面包含了面试常问的软件测试基础题 web自
  • 月薪2W的软件测试工程师,到底是做什么的?

    在生活中 我们常常会遇到以下几种窘迫时刻 准备骑共享单车出行 却发现扫码开锁半天 车子都没有反应 手机导航打车 却发现地图定位偏差很大 司机总是跑错地方 买个水 却遭遇自动售货机吐币 或者不找零钱 好不容易休息打个游戏 却一直出现卡顿 闪退
  • Python常用的自动化小脚本!

    一 list转json string转json 可以使用Python内置的 json 模块将列表 List 和字符串 String 转换成JSON格式 List转JSON假设我们有一个列表 List my list apple banana
  • 2024拒绝行业内卷!八年软件测试20K*16薪行业心得 想入行必看

    目前工作做软件测试工作8年 属于高级测试员那个级别吧 现在看到各行各业的人都在转行学习软件测试 想给大家一些学习建议和忠告 很多粉丝都跟我说今年行情很差 找不到工资 真的找不到工作了吗 我们常在网上看到的 程序员饱和 程序员过剩 其实一般是
  • Web自动化测试 —— capability参数配置

    一 capability概述 capability是webdriver支持的标准命令之外的扩展命令 配置信息 配置web驱动属性 如浏览器名称 浏览器平台 结合selenium gird完成分布式 兼容性测试 官网地址 https www
  • 外包干了3个月,技术退步明显。。。。。

    先说一下自己的情况 本科生 20年通过校招进入广州某软件公司 干了接近3年的 功能测试 今年年初 感觉自己不能够在这样下去了 长时间呆在一个舒适的环境会让一个人堕落 而我已经在一个企业干了3年的功能测试 已经让我变得不思进取 谈了2年的女朋

随机推荐

  • 通信算法之184: 物理层DPD/CFR/LNA/PA

  • 机器人教育在STEM课程中的设计研究

    在美国 科学 技术 工程和数学 STEM 教育被视为确保国家成功未来的重要一步 基于现实世界中的问题开发的STEM课程 可以使课程更贴近学生和教师 对于更优质的STEM教育的迫切要求主要基于以下因素的考虑 许多职业现在需要一支能够参与STE
  • 啊哈C——学习6.4陶陶摘苹果

    2015年2月5日22 02 03 1 陶陶家的院子里有一颗苹果树 每到秋天树上就会结出10个苹果 苹果成熟的时候 陶陶就会跑去摘苹果 陶陶有个30cm高的板凳 当她不能直接用手摘到苹果是 就会踩到板凳上再试试 现在一直10个苹果到地面的高
  • 华为OD机试 -百钱买百鸡问题(C++ & Java & JS & Python)

    描述 公元五世纪 我国古代数学家张丘建在 算经 一书中提出了 百鸡问题 鸡翁一值钱五 鸡母一值钱三 鸡雏三值钱一 百钱买百鸡 问鸡翁 鸡母 鸡雏各几何 现要求你打印出所有花一百元买一百只鸡的方式 输入描述 输入任何一个整数 即可运行程序 输
  • 树莓派4b配置OpenWrt联网

    文章目录 前言 一 下载固件 二 配置wan口 三 简单介绍 1 修改无线名称 设置密码 2 下载软件包 总结 前言 树莓派4b内置wifi模块 加一个千兆网口 好像有一种办法 通过无线wifi链接其他wifi通网 然后把这个网口作为lan
  • 登录鉴权

    注册登录鉴权 1 1 用户注册 前台需要给我们传递用户名 密码 手机号 手机验证码 验证用户前台传过来的数据是否符合规范 我们使用的Hibernate Validator框架实现的服务端表单校验 短信验证码这块 我们采用的阿里的大于短信接口
  • python 处理数据小工具_Python数据处理工具使用方法整理

    从csv文件创建DataFrame类型的数据结构 gt gt gt df pd read csv xxx csv DataFrame类型的形状和长度 gt gt gt df shape 38 39 gt gt gt len df 38 各列
  • mac的Vscode 中 Remote-SSH 连接不上服务器,但是在终端中使用SSH可以连接

    Vscode 中 Remote SSH 连接不上服务器 但是在终端中使用SSH可以连接 我试了各种办法 最后准备删除配置文件看看 结果发现没有权限 怀疑是我用了conda管理环境 可能造成base环境权限变了 总之 我在vscode的终端中
  • 解决android每次请求,后台sessionId都会变换(springboot配置web.xml)

    问题 后台生成验证码以后 存放到session缓存中 将验证码发送给指定手机 当安卓手机输入验证码调用注册接口时候 后台接口从session中无法取出放入的验证码 原因 android每次请求 后台sessionId都会变换 解决方法 1
  • Word论文书写--页眉线设置

    开始 gt 段落 gt 边框和底纹 基本设置如下 结果
  • 用Flex布局模型开发网页

    目录 一 为什么要用Flex布局 对比浮动有什么优点 二 Flex布局组成 三 如何使用Flex布局 1 基本方法 2 主轴对齐方式 3 侧轴对齐 4 改变主轴方向 5 弹性盒子换行 四 弹性盒子多场景运用 1 圣杯布局 2 如何让父盒子里
  • JBoss 系列四十四:jBPM5示例之 GateWay

    jBPM5中的GateWay如果选择AND则表示平行执行多个Task ParallelExecute示例演示jBPM5中如何平行执行多个Task ParallelExecute流程如下 上图为平行执行多个Task的流程 其中Task1 1
  • 002-从零搭建微服务-认证中心(二)

    写在最前 如果这个项目让你有所收获 记得 Star 关注哦 这对我是非常不错的鼓励与支持 源码地址 https gitee com csps mingyue 文档地址 https gitee com csps mingyue wikis 创
  • Shadow Build 读取不到配置文件

    问题 使用阴影构建后 无法读取配置文件 方法 阴影构建在单独目录中搜索 普通构建在项目目录搜索
  • MySQL的安装与配置

    免安装版的Mysql MySQL关是一种关系数据库管理系统 所使用的 SQL 语言是用于访问数据库的最常用的标准化语言 其特点为体积小 速度快 总体拥有成本低 尤其是开放源码这一特点 在 Web应用方面 MySQL 是最好RDBMS Rel
  • C语言文件操作详解

    C语言文件操作详解 一 文件指针和流 1 文件指针 2 流 二 文件的打开与关闭 1 fopen与fclose函数 2 文件打开方式 3 实例演示 三 文件的顺序读写 一 fgetc与fputc函数 1 fgetc总述 2 fgetc使用实
  • UE4-材质自发光

    1 创建材质 选择无光照 将贴图及控制自发光强度参数逻辑连接完成 使用staticswitchparameter 节点进行判断是否开启自发光 2 设置完成后 在场景中选择自发光物体 细节面板找到光照 Lightmass 使用静态光照的自发光
  • Python 数据处理之散点图--matplotlib

    import matplotlib pyplot as plt plt rcParams font sans serif SimHei 解决中文显示问题 x values 1 2 3 4 5 y values 3000 4000 6000
  • 华为od机试 最大价值的矿堆 Java

    题目 我们规定 0表示空地 1表示银矿 2表示金矿 矿堆表示由相邻的金矿或银矿连接形成的地图 银矿价值是1 金矿价值是2 你的目标是找出地图中最大价值的矿堆 并且输出该矿堆的价值 示例1 输入 22220 00000 00000 01111
  • SeleniumLibrary4.5.0 关键字详解(五)

    SeleniumLibrary4 5 0 关键字详解 五 库版本 4 5 0 库范围 全局 命名参数 受支持 简介 SeleniumLibrary是Robot Framework的Web测试库 本文档说明了如何使用SeleniumLibra