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

原文地址: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. 18,Shell编程实战

      为什么要学习Shell编程 Shell脚本语言是实现Linux/Unix系统管理及自动化运维所必须的重要工具,Linux系统的底层以及基础应用软件的核心大都涉及Shell脚本的内容. 一个合格的L ...

  2. 2 实现第一个Django网站 博客

    -1.理解上下文 render()渲染 request  url传来的reuqest x.html 制定返回的模板名称 context 上下文    数据库中 替换数据 0.大框架 1.创建模板 (1 ...

  3. android 布局preview 技巧

    最近开始看老外写的文章,博客,嗯,不能说比国人写的好,但是感觉看着很爽.真的,一手资料就是爽. 嗯,自己做得不错,第一次看外文博客,我知道自己怎么看的,一句话一句话看下来的,越看越有感觉. 下面这个 ...

  4. Python的类(一)

    类(Class): 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 类变量:类变量在整个实例化的对象中是公用的.类变量定义在类中且在函数体之外. ...

  5. 如何自己编译apue.3e中代码 & 学习写makefile

    本来是搜pthread的相关资料,看blog发现很多linux程序员都看的一本神书<APUE>,里面有系统的两章内容专门讲pthread(不过是用c语言做的代码示例,这个不碍事,还是归到原 ...

  6. selenium启动IE浏览器报错:selenium.common.exceptions.WebDriverException: Message: Unexpected error launching Internet Explorer. Protected Mode settings are not the same for all zones. Enable Protected Mode mu

    意思是浏览器的保护模式设置不一致所导致 解决方案-->修改IE设置 将所有区域的保护模式勾选去掉即可

  7. eclipse把jar包引入项目的两种方法

    方法一: build path引入jar包 方法二: 把jar包放入lib文件夹 区别: 把jar包放入lib文件夹,以后把程序发给别人,别人可以直接运行而无需再自己添加jar包 总结: 1.有时即使 ...

  8. 聊聊、Mybatis Java注解实现

    AbstractAnnotationConfigDispatcherServletInitializer public class MvcInitializer extends AbstractAnn ...

  9. 容器基础(二): 使用Namespace进行边界隔离

    Linux Namespace 容器技术可以认为是一种沙盒(sandbox), 为了实现沙盒/容器/应用间的隔离,就需要一种技术来对容器界定边界,从而让容器不至于互相干扰.当前使用的技术就是Names ...

  10. js万年历

    首先,注意: 1.延迟执行     window.setTimeout(    ,     )     里面的时间是以毫秒计算的 2.间隔执行    window.setInterval(     , ...