本篇转自博客:上海-悠悠

原文地址: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

最新文章

  1. 使用 Jquery-UI 实现一次拖拽多个选中的元素操作
  2. 在vs中char类型的实参与LPCWSTR类型的形参类型不兼容怎么解决?
  3. js 事件冒泡是什么如何用jquery阻止事件冒泡
  4. Android属性动画完全解析(下)
  5. 一个好用的Log管理类
  6. Yii 操作提示框实现
  7. 授权给adfs读取ad 在ad服务器上运行 - setspn 命令 -摘自网络
  8. SQL中Merge的用法
  9. html中显示xml
  10. 不要伤害指针(1)--运算符&和*
  11. libevent入门
  12. ios内存管理2-对象之间的内存管理
  13. .Net Core配置文件介绍
  14. JDK记录-JVM原理与调优(转载)
  15. Codeforces 786 A. Berzerk
  16. 并发编程—— LinkedTransferQueue
  17. Intelli系列代理部分报错:You have JVM property https.proxyHost set..
  18. CCCC 排座位 图着色问题
  19. weex 知识点
  20. leetcode501

热门文章

  1. 4.Mongodb数据查询2
  2. javascript md5 二次加密 和 java md5 二次加密结果不同
  3. 【Support Vector Regression】林轩田机器学习技法
  4. dynamic基元类型与隐式类型的局部变量var
  5. canda 常用命令
  6. (原)UE4.20 自定义编辑器 - 基础(一)创建编辑器模块
  7. Ubuntu16.04安装openCV的问题集合
  8. How to solve SyntaxError on autogenerated manage.py?
  9. HDU 4107 Gangster(线段树 特殊懒惰标记)
  10. HDU 4681 String 胡搞