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

原文地址:http://www.cnblogs.com/yoyoketang/tag/robotframework/

前言

RF系列主要以案例为主,关键字不会的可以多按按F5,里面都有很详细的介绍,要是纯翻译的话,就没太大意义了,因为小编本来英语就很差哦!

前面selenium第八篇介绍过定位一组搜索结果,是拿百度搜索案例,RF也可以实现同样的功能,本篇以部落论坛搜索为例。获取搜索的返回结果,随机取一个结果打开。selenium(java+python)QQ交流群:232607095

一、模拟回车键:Press Key

1.打开论坛页面:http://www.hordehome.com

2.点搜索按钮

3.在输入框输入关键字:selenium

4.由于此输入框没有搜索按键,这里只能通过"回车键"提交,RF提供了Press Key的方法模拟键盘输入

5.对应脚本如下

 

二、定位返回结果

1.这里可以定位一组返回结果,前面selenium篇讲过方法

2.可以看到返回结果都有相同属性,通过css定位:css=.topic-title>span

 
 
三、Get Webelements

1.RF通过了两个方法Get Webelement和Get Webelements,这两个有什么区别呢?

2.Get Webelement返回的是list中取第一个对象

3.Get Webelements返回的是整个list对象

 

四、点击搜索结果

1.将list对象返回给${s}

2.从list中取第二个:${s[2]}然后点击,这里list索引跟python是一样的,从0算起

 

五、随机函数

1.在selenium第八篇中可以随机点击一个返回结果,这里同样也是可以的。由于random不是RF库里面的,这里需要先导入

2.用Evaluate导入random模块,相当于python里面import

3.于是可以对点击的结果参数化,随机点其中一个

 

六、Text Edit

最终代码如下:

test008

open browser    http://www.hordehome.com

Set Browser Implicit Wait    10

Click Element    css=.fa.fa-search

input text    id=search-term    selenium

Press Key    id=search-term    `3

${t}    Evaluate    random.randint(0,9)    random

${s}    Get Webelements    css=.topic-title>span

Click Element    ${s[t]}

至于后面断言怎么写,小伙伴们可以自由发挥啊

这一篇主要是学习定位一组元素的方法,Evaluate的强大功能后续会详细讲解。

RobotFramework自动化3-搜索案例【转载】的更多相关文章

  1. RobotFramework自动化3-搜索案例

    前言 RF系列主要以案例为主,关键字不会的可以多按按F5,里面都有很详细的介绍,要是纯翻译的话,就没太大意义了,因为小编本来英语就很差哦! 前面selenium第八篇介绍过定位一组搜索结果,是拿百度搜 ...

  2. 从零学习基于Python的RobotFramework自动化

    从零学习基于Python的RobotFramework自动化 一.        Python基础 1)      版本差异 版本 编码 语法 其他 2.X ASCII try: raise Type ...

  3. robotframework自动化系列:随机下拉框

    robotframework自动化系列:随机下拉框 随着项目自动化不断推进,在下拉框定位的时候出现些问题,每次下拉框选择都是相同的下拉选项,如果想每次选择的选项不一样,该如何实现呢,查找了很多资料,没 ...

  4. solr简单搜索案例

    solr简单搜索案例 使用Solr实现电商网站中商品信息搜索功能,可以根据关键字搜索商品信息,根据商品分类.价格过滤搜索结果,也可以根据价格进行排序,实现分页. 架构分为: 1. solr服务器 2. ...

  5. JAVAEE——Solr:安装及配置、后台管理索引库、 使用SolrJ管理索引库、仿京东的电商搜索案例实现

    1 学习回顾 1. Lucene  是Apache开源的全文检索的工具包 创建索引 查询索引 2. 遇到问题? 文件名 及文件内容  顺序扫描法  全文检索 3. 什么是全文检索? 这种先创建索引 再 ...

  6. RobotFramework自动化4-批量操作案例【转载】

    本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/robotframework/ 前言 有时候一个页面上有多个对象需要操作,如果一个个去定 ...

  7. RobotFramework自动化1-环境搭建【转载】

    本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/robotframework/ 前言 Robot Framework是一款python编 ...

  8. Selenium2+python自动化10-登录案例【转载】

    前言 前面几篇都是讲一些基础的定位方法,没具体的案例,小伙伴看起来比较枯燥,有不少小伙伴给小编提建议以后多出一些具体的案例.本篇就是拿部落论坛作为测试项目,写一个简单的登录测试脚本. 在写登录脚本的时 ...

  9. RobotFramework自动化2-自定义关键字【转载】

    本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/robotframework/ 前言 有时候一个页面上有多个对象需要操作,如果一个个去定 ...

随机推荐

  1. Centos7 查看Mysql配置文件

    my.cnf是mysql启动时加载的配置文件,一般会放在mysql的安装目录中,用户也可以放在其他目录加载. 安装mysql后,系统中会有多个my.cnf文件,有些是用于测试的. 使用locate m ...

  2. samba server on Mac OS X Lion Server

    一般Mac共享通过配置wins,smb即可实现.注意在同一个工作组! 参考:http://computers.tutsplus.com/tutorials/how-to-set-up-an-smb-s ...

  3. equals和toString

    Object的equals方法默认比较地址值.所以当需要比较两个对象的内容时需要重写equals方法.

  4. 发送广播重新挂载SD卡,使图库可以及时显示自己保存的图片(无需手机重启)

    我们或许经常会遇到这种情况,明明保存了图片,但是当你打开图片时,却没有找到这张图片,手机重启之后才能看到.这是因为SD卡并没有重新挂载,图库也无法把这张图片加载进去,解决这个问题非常简单,只需要我们模 ...

  5. 剑指Offer - 九度1390 - 矩形覆盖

    剑指Offer - 九度1390 - 矩形覆盖2014-02-05 23:27 题目描述: 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形.请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形 ...

  6. 《Cracking the Coding Interview》——第2章:链表——题目2

    2014-03-18 02:24 题目:给定一个单链表,找出倒数第K个节点. 解法:让一个指针先走K步,然后俩指针一起走到尽头.当然也可以先走到尽头数出链表的长度,然后第二次少走K步.其实耗费的工夫是 ...

  7. BeanShell中Sring变量引用

    问题现象:BeanShell中,一个String类型的字符串存在多个变量,通过${}引用变量后,发送到服务器的还是${} 解决方法:String类型数据中存在多个变量时,使用"+变量+&qu ...

  8. rabbitmq之rpc

    环境:windows或者Linux,python3.6,rabbitmq3.5要求: 可以对指定机器异步的执行多个命令 例子: >>:run "df -h" --hos ...

  9. python学习总结----时间模块 and 虚拟环境(了解)

    time - sleep:休眠指定的秒数(可以是小数) - time:获取时间戳 # 获取时间戳(从1970-01-01 00:00:00到此刻的秒数) t = time.time() print(t ...

  10. Android详细目录结构

    Android 2.1 |-- Makefile |-- bionic (bionic C库) |-- bootable (启动引导相关代码) |-- build (存放系统编译规则及generic等 ...