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

本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/robotframework/ 前言 RF系列主要以案例为主,关键字不会的可以多按按F5,里面都有很详细的介绍,要是纯翻译的话,就没太大意义了,因为小编本来英语就很差哦! 前面selenium第八篇介绍过定位一组搜索结果,是拿百度搜索案例,RF也可以实现同样的功能,本篇以部落论坛搜索为例.获取搜索的返回结果,随机取一个结果打开.selenium(java+python)QQ交流群:23…
前言 RF系列主要以案例为主,关键字不会的可以多按按F5,里面都有很详细的介绍,要是纯翻译的话,就没太大意义了,因为小编本来英语就很差哦! 前面selenium第八篇介绍过定位一组搜索结果,是拿百度搜索案例,RF也可以实现同样的功能,本篇以部落论坛搜索为例.获取搜索的返回结果,随机取一个结果打开.selenium(java+python)QQ交流群:232607095 一.模拟回车键:Press Key 1.打开论坛页面:http://www.hordehome.com 2.点搜索按钮 3.在输…
从零学习基于Python的RobotFramework自动化 一.        Python基础 1)      版本差异 版本 编码 语法 其他 2.X ASCII try: raise TypeError, 类型错误" except TypeError, err: print err.message …… 3.X UTF-8 try: raise TypeError("类型错误") except TypeError as err: print(err) 去除不等于<…
robotframework自动化系列:随机下拉框 随着项目自动化不断推进,在下拉框定位的时候出现些问题,每次下拉框选择都是相同的下拉选项,如果想每次选择的选项不一样,该如何实现呢,查找了很多资料,没有找到一个好的解决方法.... 最后看到一篇文章,想到可以用随机数尝试一下 参考 http://lebook.me/book/126586#fid_24191914 项目中的下拉框源码如图 <select class="form-control m-b" name="org…
solr简单搜索案例 使用Solr实现电商网站中商品信息搜索功能,可以根据关键字搜索商品信息,根据商品分类.价格过滤搜索结果,也可以根据价格进行排序,实现分页. 架构分为: 1. solr服务器 2. 自己的web服务器(需要开发) 3. 数据库mysql solr案例 本案例用的springmvc+solr+mysql 自己开发的应用 1. Controller 获取搜索条件,并响应搜索结果到前台页面. 2. Service 使用solrj来调用solr的服务进行索引和搜索 Service调用…
1 学习回顾 1. Lucene  是Apache开源的全文检索的工具包 创建索引 查询索引 2. 遇到问题? 文件名 及文件内容  顺序扫描法  全文检索 3. 什么是全文检索? 这种先创建索引 再对索引进行搜索的过程叫全文检索 4. 索引是什么? 非结构数据中提取一个数据.并重新组合的过程叫索引 5. Lucene实现 6. 入门程序 磁盘文件为原始文件 创建索引 第一步:获取文件 第二步:创建文档对象 第三步:创建分析器 第四步:保存索引及文档到索引库 搜索索引 第一步:用户接口(百度)…
本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/robotframework/ 前言 有时候一个页面上有多个对象需要操作,如果一个个去定位的话,比较繁琐,这时候就可以定位一组对象.Selenium2library提供了Get Webelements 关键字,用于定位一组元素 以百度页面为例,先定位一组对象,然后依次打开每个链接,检测返回结果.一.定位一组对象 1.打开百度页面,定位右上角六个链接按钮 2.定位元素共同属性class=…
前言 有时候一个页面上有多个对象需要操作,如果一个个去定位的话,比较繁琐,这时候就可以定位一组对象.Selenium2library提供了Get Webelements 关键字,用于定位一组元素 以百度页面为例,先定位一组对象,然后依次打开每个链接,检测返回结果. 一.定位一组对象 1.打开百度页面,定位右上角六个链接按钮 2.定位元素共同属性class=mnav 二.Get Webelements 1.在ride中找到对应关键字Get Webelements,从关键字介绍中可以看到,返回的是一…
################################################################# #author: 陈月白 #_blogs: http://www.cnblogs.com/chenyuebai/ ################################################################# 一.环境搭建概览:win 7+ python 3.6  + pycharm + robotframework + Inte…
刚接手项目的时候,要求所有流程在上线之前必须确保正向操作是正确的:这个时候又有新的模块需要测试,所以引入自动化测试是非常有必要的!通过对比,尝试使用RF进行自动化的回归测试. 测试中最常见的操作就是增删改查,所以对于自动化最简单的就是数据模块的增删改查人手进行操作. 这里先看一下web测试中的新增用例的测试点,如图所示 对于一个新增操作,我们这里以账号新增为例进行操作展示,账号新增页面元素显示如图所示 先说明一下,各个元素的定位方法: 输入用户名 [Arguments] ${username}…
在上一小节中,新增流程操作已经完成.那么接下来就是修改的流程操作了,对于一个页面的修改如何操作呢? 针对修改修改操作是在一个已经存在的账号直接修改还是新添加一个账号再修改呢?从用例设计健壮性出发,我们先新增一个账号,然后再修改这个账号,这样用例和用例之间的不会存在因果关系,不会因为不存在这个账号而造成此修改用例失败! 接下来就说明一下修改用例的思路: 新增一个账号信息,新增后的操作要返回此新增账号的账号id 找到修改页面的不变的url地址,把此url封装成一个变量 根据第一步返回的账号id和第二…
之前已经完成了登录.新增和修改的操作流程,这一节主要说明删除操作流程以及自动化的过程中出现的问题,算是对这个项目自动化的一个总结. 删除操作流程 对于系统账号管理中删除功能,删除的测试点主要如图所示 而账号管理的页面显示如图 在管理页面中可以看出,删除操作物理删除且没有批量操作功能.但是这里有一点需要主要,每个新注册的账号会默认监管所属机构下所有的用户,所以这里为了用例的健壮性,我们删除正常的用例的具体操作步骤如下 新增一个账号信息 取消新增账号的监管用户 定位到该新增账号页面中的删除按钮,点击…
前言 Robot Framework是一款python编写的功能自动化测试框架.具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行. Robot Framework特点: 1.开源的,不解释 2.基于Python2.7版本开发,所以支持Python2.7(暂时不支持3.x版本) 3.支持关键字驱动.数据驱动和行为驱动 4.支持变量使用,可以使用IF语句和FOR循环语句 5.有很多自带的或者第三方的开源测试库,也可以自己创建测试库 一.需安装的软件 1…
本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/robotframework/ 前言 Robot Framework是一款python编写的功能自动化测试框架.具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行. Robot Framework特点: 1.开源的,不解释 2.基于Python2.7版本开发,所以支持Python2.7(暂时不支持3.x版本) 3.支持关键字驱动.数据驱动和…
案例:吉他搜索Guitar Inventory GuitarSpec需求变化:增加吉他弦数特性原始程序需要的变化: 1.修改GuitarSpec,构造,成员,getter 2.修改Guitar,构造,因为改类直接接收吉他特性参数,构造吉对象. 3.修改Inventory,搜索方法,因为该类直接使用吉他特性来进行匹配.另一种设计: 1.修改Guitar的构造器,让其接收GuitarSpec对象,而不是具体的吉他特性参数. 2.修改Inventory的搜索方法,其中委托GuitarSpec提供的ma…
对于下拉框定位和输入,这里主要遇到有两种类型的下拉选择. 其中一个类型是select-options格式,如图 这种方式的定位可以使用select from list by value或select from list by list或select from list等格式进行选择定位,具体可以参考随机下拉框定位选择. 而这里主要说的就是这种文本框类型的下拉选择,格式如图所示 此种文本框类型的下拉选择操作方法: 鼠标定位到设备此文本类型下拉框中 文本框中输入设备的首字母这里以0为例, 输入字母后…
随着项目自动化深入和不断完善,大部分功能都已经能完成了自动化的操作:但是在设备添加的时候,遇到了难题.添加设备的时候mac必须是服务器设备管理中已经存在的mac地址,且是没有关联或绑定用户的设备信息.起初的想法是读取文本文件取得mac地址实现自动化操作,但是此方法也是行不通的!所以这个功能暂时没有自动化操作.后来想到可以读取数据库的查询结果,这样一来,每次添加设备的mac都可以确保是服务器上存在的,且是在用户使用设备表中是不存在的就可以. 那么该如何实现呢? 思路: 打开数据库 查询表中用户没有…
1.   RobotFrameWork安装配置 1.1. 安装环境 64位win10家庭中文版 网上很多这方面的教程,但是比较零散,这里是自己安装配置的一个简单的笔记. 1.2. 安装说明 由于Robot Framework框架是基于Python语言开发的,要想使用Robot FrameWork首先需要Python环境. 在学习和使用Python时,首先碰到的是版本问题,这在其他编程语言中是不存在的,目前Python分为Python2和Python3两个版本.之所以会有2个版本并存的情况,是因为…
通过python配合爬虫接口利用selenium实现自动化打开chrome浏览器,进行百度关键词搜索. 1.安装python3,访问官网选择对应的版本安装即可,最新版为3.7. 2.安装selenium库. 使用 pip install selenium 安装即可. 同时需要安装chromedriver,并放在python安装文件夹下,如下图所示. 3.获取爬虫接口链接. 注册账号,点击爬虫代理,领取每日试用. from selenium import webdriver import requ…
前言:最近在做基于RF框架的Web自动化测试,其中涉及到元素的定位,主要用到id.name.xpath.css四中定位方法,尤其后面的两种方法特别有效,可以解决大部分的定位问题. id和name定位 假设把一个元素看做是一个人的话,那么name就相当于人的姓名.id近似于人的身份证号:当然,id和name的属性值是否唯一是需要看前端工程师是怎么进行设计的. 这里我们使用大家常用的百度首页输入框和搜索按钮进行验证: html源码: 输入框: <input id="kw" name=…
一.Azure DevOps介绍 1.什么是 Azure DevOps? Azure DevOps其实是VSTS(Visual Studio Team Service)更名后的名字.而VSTS是TFS(Team Foundation Server)的在线版本.所以Azure DevOps可以理解为是放在Azure云上的TFS,当然我们既可以使用在Azure云平台托管的服务(Azure DevOps Service),它可以是弹性可伸缩的,具有很大的优势.或者说我们也可以自托管(Azure Dev…
前言: 最近领导想了个需求,想把目前组内在linux平台上执行的自动化脚本搞成可视化,如果是web站点相关日志可视化倒是简单了,ELK就是不错的选择,大部分可视化项目这种的,可以做的开起来很炫. 我们这边是自己写的脚本,测试网卡的自动化,日志的格式并不是那么符合web日志的格式. 选择方案: Reportportal 可视化项目地址: reportportal/reportportal: Main Repository. Report Portal starts here - see readm…
接触了上一篇的RF环境搭建及安装,相比大家都会觉得,哇塞,为什么要做这么多,那么复杂?装那么多干什么有什么用?写脚本会不会也很复杂? 其实首次安装的话 会觉得有点蒙,也不知道安装那么多是拿来干什么的,没关系,后续会慢慢了解到. 第一步: 创建测试项目 菜单栏file----->New Project 第三步:创建测试套件 右键点击“测试项目”选择New Suite 输入Name(用例名称) Type:File 点击OK, 第三步:创建测试用例  右键点击“测试项目”选择New Test Case…
作者:白狼 出处:http://www.manks.top/article/yii2_gridview_dateformat_search 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利. 日期格式化,我们先来看看效果图 这个我们分情况讨论 1.如果你的数据库字段created_at存的时间格式是date或者datetime,那很简单,gridview中直接输出该字段created_at即可,如上图中右侧所示 2.如果数据库…
RobotFramework是基于Python语言的工具,所以装RF之前要先安装Python: Python现在有2.7跟3.5两个版本,如果是先装了3.5的话,是装不了2.7的.只有先装2.7的 才能再去装3.5,小七这边两个都装了,这边先记录下2.7的安装 第一步:首先 安装python https://yunpan.cn/cSNpTscudyQ7Q (提取码:e840) 然后添加环境变量 ,就不多说了. 第二步:安装 setuptools https://yunpan.cn/cSNIJ3g…
前言 前面几篇都是讲一些基础的定位方法,没具体的案例,小伙伴看起来比较枯燥,有不少小伙伴给小编提建议以后多出一些具体的案例.本篇就是拿部落论坛作为测试项目,写一个简单的登录测试脚本. 在写登录脚本的时候呢,先要保证流程能跑起来,然后才是去想办法优化代码,让自己的脚本看起来更舒服,具有良好的可读性. 一.登录 1.先打开浏览器 2.打开论坛主页:"http://www.hordehome.com/" 3.查找元素之前可以先设置元素等待:implicitlywait() 4.点登录按钮,弹…
robotframework自动化系统:登录 robotframework对于编程能力比较弱的测试人员而言,真的是雪中送炭!我们可以使用robotframework根据之前完成的测试用例,一步步完善自动化测试.在整个测试过程而言,最常见的就是登陆.新增.修改.删除.查询等操作,其他的操作都是在这个基础上进行演练.这里就先简单说明一下登陆的操作. 登录 对于登录而已,我们已经非常熟悉,下面是登录的测试用例的几种情况,如图 这里首先编写的是登录成功的测试用例 针对登录测试用例,我们一般的操作步骤如下…
功能简介:利用利用selenium和Chrome浏览器,让其自动打开百度页面,并设置为每页显示50条,接着在百度的搜索框中输入selenium,进行查询.然后再打开的页面中选中“Selenium - 开源中国社区”,并打开页面 知识简介: selenium的作用: 1).最初用于网站自动化测试,近几年,用于获取精确的网站快照. 2).可以直接运行在浏览器上,让浏览器自动加载页面,获取需要的数据,还可以页面截屏,或者判断网站上某些动作是否发生. 项目步骤: 1.利用google的Chrome浏览器…
前言 前面几篇都是讲一些基础的定位方法,没具体的案例,小伙伴看起来比较枯燥,有不少小伙伴给小编提建议以后多出一些具体的案例.本篇就是拿部落论坛作为测试项目,写一个简单的登录测试脚本. 在写登录脚本的时候呢,先要保证流程能跑起来,然后才是去想办法优化代码,让自己的脚本看起来更舒服,具有良好的可读性. 一.登录 1.先打开浏览器 2.打开论坛主页:"http://www.hordehome.com/" 3.查找元素之前可以先设置元素等待:implicitlywait() 4.点登录按钮,弹…
本篇转自博客:上海-悠悠 原文地址:http://www.cnblogs.com/yoyoketang/tag/robotframework/ 前言 有时候一个页面上有多个对象需要操作,如果一个个去定位的话,比较繁琐,这时候就可以定位一组对象.Selenium2library提供了Get Webelements 关键字,用于定位一组元素 以百度页面为例,先定位一组对象,然后依次打开每个链接,检测返回结果. 一.定位一组对象 1.打开百度页面,定位右上角六个链接按钮 2.定位元素共同属性class…