robot
朝天椒的夏天
软件测试,自动化,性能
展开
-
robot通过一个元素定位另一个元素
xpath定位:xpath=//span[text()='文章评为精华']/../../../div/div/span[text()='去完成']原创 2021-08-12 22:16:58 · 360 阅读 · 0 评论 -
python3 Robot Framework-设置失败用例重试
进行UI自动化脚测试时,经常会受环境,网络影响等各方面原因导致测试用例偶发性的失败,这不仅使UI测试脚本显得很不稳定,而且每次报错时都需要花费时间去查看执行失败的真正原因,很浪费时间和经历,但是实际上RF也可以设置重试次数,如可重试3次后仍然失败才标识该用例失败。具体方法:通过改写RobotFramework源代码增加–retry选项,实现test级别的失败用例自动再执行。失败用例会重跑N次,直至成功or 耗尽重试次数,生成的报告文件中只会体现最后一次执行的结果,但日志文件会记录所有的执行步骤。如设原创 2021-07-25 09:51:17 · 1756 阅读 · 2 评论 -
无头模式运行robot ui自动化用例
场景:打开百度页面,搜索robot,验证搜索结果页面包含"机器人"关键字window下robot测试用例*** Settings ***Library SeleniumLibrary*** Test Cases ***test1 open browser https://www.baidu.com chrome Wait Until Keyword Succeeds 10 2 input text id=kw ro原创 2021-07-04 17:41:08 · 552 阅读 · 0 评论 -
Centos+Python3+Robot Framework环境搭建
1.centos和python3环境安装1.1在docker中搜索基于python3.6的centos镜像:docker search python1.2.下载镜像:docker pull centos/python-36-centos71.3.基于该镜像创建容器robottest:docker run -di --name=robottest centos/python-36-centos7 /bin/bash1.4.已root身份进入容器验证python3.6已安装,如果是.原创 2021-07-04 17:01:30 · 581 阅读 · 2 评论 -
robot ui自动化日常记录
https://www.cnblogs.com/hellogt/p/10871399.html原创 2021-06-16 23:31:57 · 230 阅读 · 0 评论 -
robot实现使用chrome模拟H5页面的UI测试
*** Test Cases ***验证h5页面元素 ${devname} Create Dictionary deviceName=iPhone X ${chromeoptions} Evaluate sys.modules['selenium.webdriver.chrome.options'].Options() sys,selenium.webdriver.chrome.options Call Method ${chromeoptio.原创 2021-05-30 22:29:09 · 291 阅读 · 0 评论 -
jenkins使用python脚本发送企业微信通知
如果只是想实现将jenkins的构建结果发送到企业微信进行通知,最简便的方式是安装Qy Wechat Notification Plugin插件,原创 2021-05-30 22:20:46 · 1846 阅读 · 11 评论 -
Pycharm安装robot framework运行插件
1.安装pycharm1.配置pycharm菜单左上角点击 File>> Settings… 进入配置界面;进入Settings后,选择Plugins,在搜索栏输入intelliBot,安装后重启3.RobotFramework的文件类型识别配置点击File>> Settings,选择Editor >> File Types ,在列表栏中找到 Robot Feature 选中,再点击右边栏上的加号,添加支持类型,分别添加 *.txt 和 *.。4.原创 2020-06-11 20:24:55 · 4225 阅读 · 2 评论 -
Python3+Robot Framework环境搭建
robot环境搭建-python3原创 2020-06-11 20:17:15 · 1003 阅读 · 1 评论 -
robotframework往富文本编辑器中输入文本之Press Keys
robotframework往富文本编辑器中输入文本原创 2020-06-11 19:37:26 · 2394 阅读 · 0 评论 -
robotframework使用Javascript操作滚动栏
robotframework操作滚动栏原创 2020-05-06 21:18:39 · 486 阅读 · 0 评论 -
robotframework打开多个页面时对指定页面的操作
robotframework打开多个页面原创 2020-05-06 21:12:17 · 1423 阅读 · 0 评论 -
robotframework等待文件上传
robotframework等待文件上传原创 2020-05-06 20:56:26 · 448 阅读 · 0 评论 -
robotframework处理windows弹窗
上图的弹窗无法使用robot进行定位,进行自动化测试时,如想操作弹窗为默认的选项,如上图中的“离开”。这种情况下,一般手动操作按键盘的enter键即可实现。自动化测试时可使用以下关键字进行确定操作。对应还有另一个关键字:Alert Should Not Be Present,有兴趣的话可以看下使用场景。...原创 2020-04-14 21:06:41 · 2424 阅读 · 1 评论 -
robotframework获取元素的属性值
html示例:<div class="feedListBox01" id="feedList"> <div class="feedBox01 js-feedItem" fid="103996642885636" uid="5914050" avatar="https://avatar.futunn.com/20181100000948b6d07b568b0.jpg/...原创 2020-04-14 20:39:14 · 7815 阅读 · 0 评论 -
robotframework定制通用定位方式
本篇介绍几种元素标签中无常用的id,name属性时如何定位1.页面包含定位内容定位方法:调用方式:2.定位元素为value属性值定位方法:调用方式:3.页面包含定位元素,但是标签为div定位方式:调用方式:...原创 2020-03-03 16:01:15 · 745 阅读 · 0 评论 -
ride1.7.4(python3.6)用例名称为中文时输出日志乱码
python版本3.6测试用例为中文名称时,ride运行的log窗口中用例名称显示为乱码命令行窗口使用pybot 用例名称 执行,可正常显示中文名称解决方法:https://blog.csdn.net/m0_37586703/article/details/103819814...转载 2020-01-08 16:12:12 · 625 阅读 · 0 评论 -
robot接口测试写入数据库中文乱码
前段时间在用robot做接口测试时,发现一个问题,如果接口入参有中文时,写入数据库的中文字符显示为乱码,首先确认是编码问题,然后我在接口的头文件中设置Content-Type=application/x-www-form-urlencoded;charset=utf-8;将中文字符转码成utf-8或gbk;设置数据库的编码格式;等等,都没有解决这个问题。我的环境是:数据库mysql,pytho...原创 2018-01-24 17:40:00 · 925 阅读 · 0 评论 -
RobotFramework 接口测试-不定参数问题
在使用rf做接口测试时,我主要是通过excel来保存测试数据,模板如下:第1列是用例名称简单说明,第2列为接口url,第3+n列是接口入参,最后二列为返回值status,和返回data中的参数固定行列值的数据我们可以很方便通过指定行列值来获取,难点是,每个接口的入参个数不固定,怎样才能获取到入参数据呢?我的思路是,先获取该sheet页中总列数n=6,则可以算出入参的下标为2至n-1...原创 2018-02-27 16:30:27 · 4538 阅读 · 0 评论 -
Appium+robotframework+python系列二:真机运行App程序示例
1.添加Library:AppiumLibrary,(前提是已经下载了AppiumLibrary库)可按F5查看该库的关键字2.打开appium,启动appium服务3.打开ride用例步骤如下:关键字Open Application:Keywords,方法,后面的全是参数。详细说明:http://localhost:4723/wd/hub手机的url,这里...原创 2017-07-17 17:54:27 · 3041 阅读 · 2 评论 -
selenium+robot+svn+jenkins自动化测试系列一:自动化环境搭建
统一版本以免出错,安装文件版本如下:python2.7.13wxPython2.8-win64-unicode-2.8.12.1-py27robotframework-2.8.7robotframework-ride-1.5.2.1robotframework-selenium2library-1.8.01.目前Python分为Python2 和Python3 两个版本。...原创 2017-06-15 15:24:59 · 2142 阅读 · 0 评论 -
解决robotframework连接mysql数据库返回中文数据显示乱码
使用自写库连接mysql数据库,返回的中文显示乱码在自写库脚本中添加charset='utf8'如下:再次运行虽然显示的是u'\u9f99这样的字符,但是已经可以成功获取到正常的中文了用例如下:...原创 2017-06-28 20:53:35 · 2544 阅读 · 0 评论 -
Robotframework之Run Keyword And Return Status,解决判断页面是否有弹窗的问题
我们测试的项目经常会遇到业务流程有多种分叉处理的场景,比如一个系统,有电话权限的用户登录成功后会提示进行电话登录,没有电话权限的用户登录后直接跳转到首页,这时自动化需要处理的测试场景就是,用户登录后先判断是否出现电话弹窗,从而进行不同的业务流程操作。操作流程图如下:解决方法:使用Run Keyword And Return Status关键字,该关键字会返回true或fal...原创 2017-12-12 20:37:54 · 10307 阅读 · 2 评论 -
robotframework获取数据库返回值“Expression must be a string ,not long”
使用ride连接mysql数据库,执行select后,返回的值为tuple类型,并且每个元素都为long类型,如下:想获取某个元素的值,其实采用数组读取元素的方式即可,$[][],如下:运行结果为:正确提取了第3个元素,不过记住要将结果转成str类型,否则运行会报错,提示如下:另外,从数据库获取查询条件的记录条数时也是一样的道理,之前我以为s原创 2017-06-27 14:55:12 · 2026 阅读 · 0 评论 -
Ride中将tuple数组类型转换为String字符串类型
测试案例:在ride中从mysql数据库的用户表获取用户ID为1的用户状态,并赋值给变量b用户表:userinfo用户表中用户ID字段:userid用户表中用户状态字段:stateSql语句:select state from userinfowhere userid='1';Ride中用例步骤如下:结果报错,提示如下:b是字符串类型,而从数据库返回的值是...原创 2017-06-09 11:42:09 · 8479 阅读 · 0 评论 -
RIDE对开启多个标签页的页面操作
测试时候会碰到这样的场景:打开浏览器标签页A,然后通过A打开标签页B,但是标签页B只是需要查看一下,还是要返回标签页A进行操作。刚开始我的思路是:关闭标签页B,然后继续在标签页A操作1.按F5通过ride的关键字查找使用close window,关闭的是标签页B使用close browser,关闭是整个浏览器---此种方法行不通2.查看chrome浏览器关闭当前标签页...原创 2017-06-10 18:10:43 · 4040 阅读 · 0 评论 -
解决robotframework引入自写库连接mysql数据库报错问题“ascii codec can’t decode byte oxd7 in position……”
因为安全问题,测试需要连接的数据库只能通过跳板机访问,使用robotframework中的DatebaseLibrary库只能访问本地数据库,所以只能用自己写的python库来连接。解决场景:数据库在服务器A上,只允许服务器B访问,我使用的是机器C,C可以通过ssh连接服务器B。为了解决在机器C上连接A这个问题,导入mysqltest.py,见《Ride连接mysql数据库》但是出现的问题...原创 2017-06-27 14:16:52 · 3960 阅读 · 0 评论 -
Robotframework 写入excel数据
自动化测试时,有时候会需要将测试结果数据写入到excel中进行记录,robot的第三方库ExcelLibrary中有如下几个关键字,但是我按照帮助中的实例进行操作,总是会报错,提示“IndexError: list index out of range”目前还未找到解决方法,如果有热心的网友刚好解决了该问题,可以给我留言哦我这里暂时只好通过自写库解决写入excel文件...原创 2017-06-19 14:47:52 · 12360 阅读 · 8 评论 -
robotFramework 读取Excel文件数据
使用robot进行自动化测试时,一般都要求数据和脚本文件分离,这样测试时仅需要对应修改测试数据即可,一般测试数据都会存放在excel文件中,测试执行时从excel中读取对应的数据。1.先下载第三方库ExcelLibrary,下载方式pipinstallrobotframework-ExcelLibrary2.在ride中按F5,在关键字的source中可以找到ExcelLibrary,...原创 2017-06-19 11:33:25 · 9684 阅读 · 0 评论 -
jquery根据指定元素获取兄弟元素
测试需求:如下图,一个table列表,需要通过第一列的id来点击对应行的编辑按键页面部分源码如下:使用jquery定位如下:Click Link jquery=tbody tr:contains('35442579') a:contains('编辑')(先通过已知的id '35442579'找到tr行,再找到tr标签下的a标签“编辑...原创 2017-06-06 18:24:45 · 2452 阅读 · 0 评论 -
命令行运行pybot提示ascii codec can’t decode byte oxd7 in position……
使用ride运行自动化测试用例正常,但是在命令行切换到指定目录后,运行测试用例报错,提示“Unexpected error:UnicodeDecodeError:ascii codec can’t decode byte oxd7 in position……” 解决方法:在 C:\Python27\Lib\site-packages目录下加一个sitecustomize.py文件,并设原创 2017-06-06 15:21:08 · 1121 阅读 · 0 评论 -
RobotFrameWork之For循环应用
关于FOR循环的语法使用,可参看以下链接,楼主讲解的很清楚,在此感谢楼主的分享。http://blog.csdn.net/mengfanbo123/article/details/9033645下面记录下我在项目中的实际应用:测试需求:从数据库获取状态为01的数据,依次对这些数据在界面进行相关操作Ride用例步骤其中使用了“查询数据库工单条数”和“操作”关键字,如下...原创 2017-07-21 11:21:46 · 6233 阅读 · 0 评论 -
robot(ride)解决存在滚动栏导致元素不可见
自动化测试时有时候会碰到界面有滚动条,会导致在滚动条下方的元素不可见以及无法定位的现象。关于解决置顶和下拉滚动条的该问题网上提供了很多方法,我这里主要讲使用发送tab按键来下拉滚动条的方式。前提:首先确认你的元素是否可以用按tab按键的方式滚动滚动栏使你的元素可见测试使用AutoItLibrary库,send关键字1.安装AutoItLibrary库先安装pywin32,pyw...原创 2017-08-07 12:53:15 · 4614 阅读 · 0 评论 -
robotframework之frame元素定位
自动化测试时你肯定遇到过明明元素id或者name正确,但是运行时却一直提示找不到元素,一般这样的问题有几种可能性:1.等待时间过短,页面元素还来不及加载出来,导致找不到元素2.该页面使用了frame控件,导致找不到元素关于第一种方式解决方法很简单,添加sleep等待时间即可第二种解决方法,查看页面源码,找到定位元素父级的frame标签,先切换到该frame中,再定位元素,如:S...原创 2017-08-31 12:46:33 · 3429 阅读 · 0 评论 -
selenium+robot接口测试:接口传参中文报错
RF中,中文默认是以unicode字符编码形式存在,入参有中文时,传递unicode字符会造成入参错误。解决方案:修改配置文件unic.py该文件,RF安装方式的不同,存在的路径也不相同,如下\Python27\Lib\site-packages\robotframework-3.0.2-py2.7.egg\robot\utils或者Python27\Lib\site-packag...原创 2017-11-24 17:12:10 · 1766 阅读 · 1 评论 -
selenium+robot接口测试:post请求
1.接口测试需要安装requests和Requestslibrary库2.接口测试常用关键字 Create Session 创建一个session,连接服务器 Get Request 通过get方式发起请求 Post Request 通过post方式发起请求 To Json 将json格式和字典的互转 Delete Al...原创 2017-11-29 10:09:33 · 2384 阅读 · 0 评论 -
selenium+robot接口测试:post返回结果取值
post请求的返回结果我们使用log ${addr.content}打印出结果,返回的结果一般为json格式的对象,需要转换为字典形式取值。如返回结果为:{"message":"登录成功!","status":"1","data":"141403007d970100f5cb7bcb6d5048e6b1c0ab19500d41b2"}方法一:${data} T...原创 2017-11-29 11:13:51 · 4194 阅读 · 0 评论 -
selenium+robot+svn+jenkins自动化测试系列二:Jenkins配置自动化持续集成构建
1.jenkins中安装Robot Framework plugin插件,路径为系统设置-插件管理2.新建一个自由风格任务,配置如下:General输入项目名称,勾选Restrict where this project can be run源码管理选择SubversionRepository URL:填写测试脚本的svn地址,路径不需要写到测试用例的txt文件,到上级文件夹目录即可...原创 2017-06-05 19:19:52 · 1955 阅读 · 0 评论 -
pyhton利用classname定位
有时候我们定位元素时,会发现该元素的属性无id,无name,这时就需要考虑其他的定位方式,比如对class属性进行定位1.class属性值中间没有空格时使用robot定位方式如下:在eclipse中python脚本如下:chrome.find_element_by_class_name('form-control').send_keys('998866')2.c...原创 2017-11-16 16:36:35 · 990 阅读 · 0 评论 -
Robotframework使用DatabaseLibrary连接mysql数据库
进行数据库操作,需要安装相应的操作库。DatabaseLibrary是常用的库之一,它能兼容MySQL、Oracle、sql server、DB2、sqlite3等等数据库。Python 操作不同的数据库,还需要安装相应的数据库驱动。一、在线安装命令 pip install robotframework-databaselibraryMySQL数据库驱动在线安装命令 ...原创 2017-11-29 18:12:27 · 8201 阅读 · 1 评论