Robotframework一些关键词使用实例


这里记录下做工作做自动化遇到的一些知识点。
选择使用robot的原因:
1.可以自己封装关键字,随意调用。
2.命令比较简单,明了。(如: input textclick element
3.会自动生成日志,不需要自己去配置了。
4.可以搭配jenkis使用。


-1 robot命令指定报告位置、并执行指定测试用例

  • robot -d ../ --test CardAppoint GeneralAppoint.robot
  •   -d ../ 是把报告存储在当前位置的上一级
    
  •   --test CardAppoint GeneralAppoint.robot 执行指定测试用例(CardAppoint 用例名字)(GeneralAppoint.robot文件名)
    

一、执行javascript

1.自动滚动屏幕

  • Execute Javascript执行javascript的命令
    • document.documentElement.scrollTop=100 :javascript语句,后面的(100),是屏幕滚动100px。

2.改变输入框的readOnly属性

一些时间的输入框,使用的是日历插件选择时间。因为插件上显示的日期不是固定的,不容易点击,自动化输入比较好。因为输入框使用的readOnly属性,所以禁止输入了,这时候可以修改readOnly的属性。

  • 不可以属于的元素
<input id="noticeCreateTimeEnd" readonly="readonly" onclick="javascript:WdatePicker({dateFmt:'yyyy-MM-dd'}); name='condition.createDateEnd'">
  • 修改readOnly,Execute Javascript 是执行js脚本的关键字,后面的是js代码
Execute Javascript  document.getElementById("noticeCreateTime").readOnly=false

2.获取界面元素

(标签中不包含idnamevalueclass等)
如:<span>名称<span>,span中的值怎么去获取。
方法:

  • ①:可以通过selenium中实现phone = browser.find_element_by_xpath('').text,因为选择了robot,所以这个方法舍弃。
  • ②:robot中可以使用get text关键字进行获取,如下:。
    get text

3.连接数据库操作

连接数据库需要pymsqlDatabaseLibrary两个库的支持。

  • Connect To Database Using Custom Params 这是连接数据库的关键字
    sss
  • Query 查询关键字,后面加sql语句
  • Execute Sql Script 执行有sql语句的文件,后面放文件路径和名称
  • Execute Sql String 执行sql语句
  • Disconnect From Database 断开数据库连接的关键字

4.如何改变变量的值

  • Set Variable If 使用这个关键词
${sex2}    Set Variable If    ${sex}==0    女    男

Run Keyword If 并不适用于这个场景


5.调用关键字中的返回值

首先需要在关键字中 Return Value 添加需要返回的变量,如下图。
sss

调用的时候,在关键字的 前面 自定义一个变量来承接返回值。

  • ${sss} (空格) one 这样上一个变量中的 ${result}值会赋给${sss},此时打印出 ${sss} 的值,结果为 100

6.关于动态id或者说是动态元素定位

场景描述:

  • 因为每次打开id的值都是变化的,所以像往常的定位方式无法使用。
  • 解决办法,get element attribute关键字的使用。如下:
    获取动态元素
    这个xpath定位没有去简写,这里举个例子。通过xpath路径定位的方式定位到该位置,然后获取到变化的元素的值,如(id)值,然后进行使用。因为robot中默认是支持 id定位,直接写就可以。如果是其他元素如(class),就需要这样写://*[@class="kw"]。如果不想使用元素定位,直接使用xpath路径定位也是可以的。

7.对弹出框进行操作

对弹出框进行点击确认、取消、和对弹出框中的输入框输入信息、获取弹出框的信息。

  • Handle Alert 默认是确认
  • Handle Alert dismiss 点击取消
  • Handle Alert leave 保持弹出框一直打开
  • ${message} Handle Alert获取弹出框信息,然后点击确认
  • ${message} Handle Alert leave 获取弹出框信息,保持弹出框一直打开
  • Input Text Into Alert 对弹出框中的输入框输入信息,默认点击确认

8.双击界面元素

有些元素需要双击才能达到预期效果,此时需要双击关键词

  • Double Click Element 双击界面元素

9.robot中for循环的使用

下面举例使用for循环进行切换网页,结合使用了run keyword if关键字。
for循环使用
无论什么语言,for循环的原理都是一样的,这里从10的范围循环取值,(0-10)不包含10 ,赋值给变量${i},然后使用run keyword if 判断${i}的值是偶数还是奇数,进行切换窗口。

10.非input输入框输入内容

  • press keys

前端页面有一些输入框不是input标签,那么我们使用input text的时候,就会操作了如:unknown error: cannot focus element,此时我们可以使用press keys 关键字,用法如下:

press Keys      //html/body/p           this is a test template

模拟敲下按键。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值