本篇转自博客:上海-悠悠
原文地址:http://www.cnblogs.com/yoyoketang/tag/robotframework/
前言
有时候一个页面上有多个对象需要操作,如果一个个去定位的话,比较繁琐,这时候就可以定位一组对象。Selenium2library提供了Get Webelements 关键字,用于定位一组元素
以百度页面为例,先定位一组对象,然后依次打开每个链接,检测返回结果。
一、定位一组对象
1.打开百度页面,定位右上角六个链接按钮
2.定位元素共同属性class=mnav

二、Get Webelements
1.在ride中找到对应关键字Get Webelements,从关键字介绍中可以看到,返回的是一个list对象

三、操作对象
1.打开浏览器
2.设置等待时间
3.获取界面上一组对象,返回给${s}
4.打开其中一个页面,然后获取title
5.用go back返回到首页

四、设置关键字
1.将上面的操作可以分为两个步骤,第一步是打开浏览器,第二步是点击某个链接
2.打开百度关键字

五、打开链接关键字
1.可以把点击的第几个元素设置为一个变量:${i}
2.把获取到的title作为返回结果,给这个关键字一个返回值:${title}

六、批量操作
1.把需要检查的结果放到一个list里
2.用for循环,循环点击操作链接
3.Should Contain断言,检查返回结果
4.最后操作完后关闭浏览器

七、最终代码
1.最终代码如下:
test010
${result} Create List 糯米 新闻 hao123 地图 视频
... 贴吧
打开百度
:FOR ${a} in range 6
${title} 打开链接 ${a}
log ${title}
log ${result[${a}]}
Should Contain ${title} ${result[${a}]}
close all browsers
*** Keywords ***
打开链接
[Arguments] ${i}
[Timeout]
${s} Get Webelements css=.mnav
Click Element ${s[${i}]}
sleep 3
${title} Get Title
log ${title}
go back
[Teardown]
[Return] ${title}
打开百度
open browser https://www.baidu.com/
Set Browser Implicit Wait 10