web robotframework xpath元素定位

本文介绍了使用robotframework进行web自动化测试时的XPath元素定位方法,包括如何定位购买按钮,处理滚动条问题以及小数取整的Math函数应用。同时,还讲解了从数据库JSON数据中提取特定值的步骤,涉及HTTPLibrary.HTTP和Collections库的关键字。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.定位购买按钮

在这里,我写的是 //td[@class='text-center']/button[@class='ng-isolate-scope']/span[text()='购买'] ,提示找不到元素,原因是button的class值,我把他改成class='btn btn-outline ng-isolate-scope btn-xs btn-danger'就能够捕捉到了。



此外,我想通过中融经济混合A来定位购买按钮,可以通过following来写xpath,//a[text()='中融新经济混合A']/../following-sibling::td[@class='text-center']/button/span[text()='购买']这里button的class可写可不写。following是之后,preceding是之前,用法是一样的。


2.遇到界面很长,按钮在界面下方,报错为元素无法点击时,可以先用Focus进行定位,界面会自动下滑,然后进行点击或其他操作。


3.小数取整有几个方法,Math.ceil()、Math.floor()、Math.round()。

Math.ceil()是向上取整,25.1、25.2、25.9的值都为26

Math.floor()是向下取整,25.1、25.2、25.9的值都为25

Math.round()则是四舍五入。


4.获取数据库的JSON字符串中的某个值,需要先把查询到的数据进行赋值,因为数据库获取到的是一个list,不法进行处理。Parse Json是HTTPLibrary.HTTP中的关键字,可以将JSON转为Dictionary,这时就可以获取到json里的值了,GET FROM Dictionary是robotframework自带Collections库的关键字。

RequestsLibrary中的to json关键字,HttpLibrary.HTTP中的parse json关键字,json中的loads关键字这三个keyword都可以将json转换成dictionary。
1、RequestsLibrary,安装命令:pip install requests
2、HttpLibrary,安装命令:pip install robotframework-httplibrary
3、HttpLibrary.HTTP,这个库是在HttpLibrary中,HTTP是HttpLibrary的一个class
4、json,安装命令:pip install jsonpatch

把json转成字典的时候,有时候会出现错误,这时候需要注意的是,被转换的是不是json格式,是不是都是双引号,是不是出现空格,如果不是双引号,或者出现空格,则需要进行替换,否则无法进行转换。


5.遇到下图这种选择框时,选择其框里第一个元素的操作如下

6.控制滚动轮,使web界面上下滑动,使用selenium2Library的关键字Execute Javascript,后面后面越大,越往下滑,往上滑使用负数。
Execute Javascript   document.documentElement.scrollTop=10000
也可以使用 Focus 进行聚焦,个人推荐使用focus,后面接的是元素路径,更准确,但有时候有些元素无法进行focus只能用Execute Javascript了。

7.上传附件


8.创建数组
在robotframework中数组其实也就是列表,使用BuiltIn库的create list,具体如下:



9.在rf中使用sql查询中文数据,返回的是类似“\xe4\xb8\xad\xe5\x9b\xbd\xe5\x86\x9c\xe4\xb8\x9a\xe9\x93\xb6\xe8\xa1\x8c......”之类的数据时,需要将数据类型转换成utf-8,具体如下

转换后就能变成中文了。

10.导入自己写的python文件,显示红色,需要注意文件里class名要跟文件名一致,不然会报错。

11.变量保留小数点后两位,用convert to number ${a} 2 ,是内置库buildIn的关键字。

12.运行Maximize Browser Window时发生错误,是因为chromederive版本太低,更新版本后就可以了。下载的exe文件不需要安装,放在python27文件下就行,需先把原来版本删掉。其他类型问题也可以试试是否webderive版本问题。
持续更新。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值