RobotFramework自动化3-搜索案例
前言
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
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的强大功能后续会详细讲解。
小编后续会专注RF的研究,也会持续发案例,喜欢的小伙伴多多支持哦QQ交流群:232607095
RobotFramework自动化3-搜索案例的更多相关文章
- RobotFramework自动化3-搜索案例【转载】
本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/robotframework/ 前言 RF系列主要以案例为主,关键字不会的可以多按按F5 ...
- 从零学习基于Python的RobotFramework自动化
从零学习基于Python的RobotFramework自动化 一. Python基础 1) 版本差异 版本 编码 语法 其他 2.X ASCII try: raise Type ...
- robotframework自动化系列:随机下拉框
robotframework自动化系列:随机下拉框 随着项目自动化不断推进,在下拉框定位的时候出现些问题,每次下拉框选择都是相同的下拉选项,如果想每次选择的选项不一样,该如何实现呢,查找了很多资料,没 ...
- solr简单搜索案例
solr简单搜索案例 使用Solr实现电商网站中商品信息搜索功能,可以根据关键字搜索商品信息,根据商品分类.价格过滤搜索结果,也可以根据价格进行排序,实现分页. 架构分为: 1. solr服务器 2. ...
- JAVAEE——Solr:安装及配置、后台管理索引库、 使用SolrJ管理索引库、仿京东的电商搜索案例实现
1 学习回顾 1. Lucene 是Apache开源的全文检索的工具包 创建索引 查询索引 2. 遇到问题? 文件名 及文件内容 顺序扫描法 全文检索 3. 什么是全文检索? 这种先创建索引 再 ...
- RobotFramework自动化4-批量操作案例【转载】
本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/robotframework/ 前言 有时候一个页面上有多个对象需要操作,如果一个个去定 ...
- RobotFramework自动化4-批量操作案例
前言 有时候一个页面上有多个对象需要操作,如果一个个去定位的话,比较繁琐,这时候就可以定位一组对象.Selenium2library提供了Get Webelements 关键字,用于定位一组元素 以百 ...
- python 3.6 + robotFramework自动化框架 环境搭建、学习笔记
################################################################# #author: 陈月白 #_blogs: http://www.c ...
- robotframework自动化系列:新增流程
刚接手项目的时候,要求所有流程在上线之前必须确保正向操作是正确的:这个时候又有新的模块需要测试,所以引入自动化测试是非常有必要的!通过对比,尝试使用RF进行自动化的回归测试. 测试中最常见的操作就是增 ...
随机推荐
- python类、类继承
yield: 简单地讲,yield 的作用就是把一个函数变成一个 generator,带有 yield 的函数不再是一个普通函数,Python 解释器会将其视为一个 generator,调用 fab( ...
- Radon变换——MATLAB
算法说明: 图像的Radon变换是每个像素的Radon变换的总和. 该算法首先将图像中的像素分成四个子像素,并分别投影每个子像素,如下图所示. 根据投影位置和箱体中心之间的距离,每个子像素的贡献按比例 ...
- 30 最小的k个数
输入n个整数,找出其最小的k个数,例如输入4,5,1,6,2,7,3,8,最小的4个数为1,2,3,4 解法一:快排思想,会改变原数组 O(n) 注意是vector<int>& ...
- PHP递归遍历数组 不破坏数据结构 替换字符
代码如下: <?php $arr = array('0'=>array("<小刚>","<小晓>","<小飞 ...
- 面试题49:把字符串转换成整数(atoi)
需要考虑的问题都已在程序中注释 bool isValid; int StrToInt(const char* str) { isValid = false; //不合法情形1:空指针 if (str ...
- MySQL 相关知识细节及解析
1,删除表中所有记录使用delete from 表名:还是用truncate table 表名 删除方式:delete 一条一条删除,不清空auto_increment记录数 truncate 直接将 ...
- Request常用方法(转)
原文地址:http://www.lihuai.net/program/python/1617.html Python Requests库:HTTP for Humans 时间: 2014/12/30 ...
- Pearls in a Row CodeForces 620C 水题
题目:http://codeforces.com/problemset/problem/620/C 文章末有一些测试数据仅供参考 题目大意 给你一个数字串,然后将分成几个部分,要求每个部分中必须有一对 ...
- python 全排列
itertools模块现成的全排列: for i in itertools.permutations('abcd',4): print ''.join(i) 相关全排列算法: def perm(l): ...
- PHP cURL中CURLOPT_CONNECTTIMEOUT和CURLOPT_TIMEOUT的区别
CURLOPT_CONNECTTIMEOUT用来告诉PHP脚本在成功连接服务器前等待多久(连接成功之后就会开始缓冲输出),这个参数是为了应对目标服务器的过载,下线,或者崩溃等可能状况: CURLOPT ...