
自动化基本使用
冰ICE~
喜欢研究技术,如有建议和疑问欢迎留言
展开
-
三十八.robotframework自动化-adb shell 命令
简单地整理了部分adb shell的命令,参考了其他技术大牛的整理的内容,盗用一下。//输出系统状态信息至F:\test\dumpstate.txt,由于需要root权限,所以没root的过的手机输出为空adb shell dumptate >F:\test\dumpstate.txt//输出过去系统的状态,log,一般操作过程中未抓取log的时候一旦出现问题就使用这个命令来查看adb shell bugreport >F:\test\bugreport.txt//输出内核信息adb原创 2021-11-10 10:39:35 · 801 阅读 · 1 评论 -
三十六.robotframework通过javascript定位元素
常用查找元素方法document.getElementsByClassName("classname")document.getElementsByTagName("tagname")document.getElementsByClassName("classname")[0].children[0]返回某元素个数${num} Execute Javascript return document.getElementsByClassName("code")[1].getElement原创 2021-11-04 12:23:17 · 1260 阅读 · 0 评论 -
三十五.robotframework元素定位-兄弟父子级
*** Settings ***Library AppiumLibrary*** Test Cases ***test1 Open Application http://127.0.0.1:4723/wd/hub platformName=Android platformVersion=7.0 deviceName=L5030S00202841502846 app=D:\\apk\\com.bilibili.studio.apk app原创 2021-11-02 11:58:53 · 604 阅读 · 0 评论 -
三十四.robotframework模拟键盘操作send
robotframework用了AutoItLibrary后可以模拟键盘操作,执行send关键字。send关键字发送各个按键对应的描述方式参考如下:Key,ArgumentBACKSPACE,"{BACKSPACE}, {BS}, or {BKSP}"BREAK,{BREAK}CAPS LOCK,{CAPSLOCK}DEL or DELETE,{DELETE} or {DEL}DOWN ARROW,{DOWN}END,{END}ENTER,{ENTER} or ~ESC,{ESC}HE原创 2021-10-18 15:38:44 · 2303 阅读 · 0 评论 -
三十三.python脚本调用jenkins构建任务
最近针对CI/CD进行了一段时间的研究,由于工作中的实际需求,需要通过python脚本实现对jenkins中任务的调用。并通过脚本获取返回的结果。接下来分享下具体的脚本代码:1.首先创建一个demo文件夹,简单介绍下文件夹下的三个文件:(1)\demo\conf\server.properties 存放相关配置型信息,包括jenkins地址,项目名称,邮箱地址等。(2)\demo\jenkins_build_jobs.py调用jenkins构建任务接口(3)\demo\jenkins_paser_原创 2021-03-12 09:44:59 · 2274 阅读 · 0 评论 -
三十二.robotframework-Selenium2Library详解
元素定位:Selenium2Library 中的所有关键字都需要通过参数 locator 在 web 页面中进行定位。默认情况下,当一个 locator 值是有效的,它就可以匹配不同页面元素的某些特殊属性。id 和 name 属性可以适用于所有元素,比如:Click Element my_element当然,并不是说只能使用 id 和 name 属性来进行定位,在 Selenium2Library 中想去查找某个页面元素支持多种不同的方式,类型如下:超时等待:包含多种 wait …关键字。所原创 2020-07-24 16:37:37 · 2083 阅读 · 0 评论 -
三十一.python3.7安装robotframework-excellibrary
目前支持python3.7的excellibrary未更新,一直沿用的事python2.X对应的版本,由于语法上的一些不同,也导致了直接通过pip安装会报错,当提示如图所示错误时:execfile(join(dirname(file), ‘ExcelLibrary’, ‘version.py’)) NameError: name ‘execfile’ is not defined可以通过修改文件,使excellibrary适用与3.X版本。首先通过该网址https://pypi.org/projec原创 2020-05-09 11:15:09 · 739 阅读 · 4 评论 -
二十九.rbotframework执行linux命令
1.首先安装SSHLibrary类库,执行pip install robotframework-SSHLibrary安装好后默认会安装paramiko,如果不存在此文件请自行安装2.引入SSHLibrary,3.开始编写样例代码:DemoCase22-linux open connection 192.168.10.111 port=22 login ...原创 2020-04-09 09:33:01 · 739 阅读 · 1 评论 -
二十八.robotframework生成随机字符串
1.首先引入String类库,python自带模块,不需要pip下载安装2.编写样例代码:DemoCase21-randomstr ${a} generate random string 1 [NUMBERS] #生成随机0-9数字,长度1位 ${b} generate random string 5 [LOWER] #生成5位...原创 2020-04-08 11:26:08 · 1651 阅读 · 0 评论 -
二十七.robotframework时间戳数据转化-timestamp
1.robotframework可以支持自定义关键字,其实本质上是通过python代码去实现,我们经常在编写接口自动化代码的时候碰上一些数据时间戳互相转化的操作,其核心代码参考如下所示:import time__version__ = '0.1'class Publiclibrary(object): def timestamp_datetime(self,timestr): ...原创 2020-04-01 10:18:04 · 2252 阅读 · 0 评论 -
二十六.robotframework数据base64加密
1.robotframework可以支持自定义关键字,其实本质上是通过python代码去实现,我们经常在编写接口自动化代码的时候碰上一些参数base64加密和解密的操作,其核心代码参考如下所示:import base64__version__ = '0.1'class Publiclibrary(object): def base64_encode(self,str_input):...原创 2020-04-01 09:44:51 · 1055 阅读 · 6 评论 -
二十五.robotframework操作excel-保存文件提示invalid mode ('w+b')
经常在使用robotframework对excel文件进行读写保存等操作的时候遇到此类报错:IOError: [Errno 22] invalid mode (‘w+b’) or filename:…如上图所示,我打开一个excel,并且添加了一张表,执行保存的时候,报错了。原因是 ExcelLibrary.py 中的open_excel函数,on_demand=True,也就是当open ...原创 2020-03-26 16:33:33 · 1014 阅读 · 0 评论 -
二十四.robotframework自动化测试-chrome浏览器版本支持
1.通过robotframework调用chrome浏览器,需要下载对应浏览器版本的驱动| 2.其他对应版本可直接如下链接中下载http://npm.taobao.org/mirrors/chromedriver/http://chromedriver.storage.googleapis.com/index.html3.下载后解压放置python27文件夹下4.编写RF测试代码,打...原创 2020-03-26 09:00:37 · 381 阅读 · 0 评论 -
二十二.robotframework+Appium环境配置
之前章节写了部分RF相关基础操作以及接口自动化相关知识。接下去逐步深入,后续也会详细介绍B/S、C/S、手机端app自动化等等自动化测试的内容。今天先简单介绍下手机APP自动化测试的基础,APPIUM的安装。1.下载并安装Appium-windows-1.13.0.exe,直接下一步进行安装,非常简单,不详细描述。安装完毕后运行显示如图所示,appium安装成功。2.安装jdk1.8...原创 2020-03-10 11:15:31 · 196 阅读 · 0 评论 -
二十一.RobotFramework中解析中文报错UnicodeDecodeError
在解析中文的时候,robotframework可能会提示UnicodeEncodeError: ‘ascii’ codec can’t encode characters in position 0-1: ordinal not in range(128)这种报错信息例如如图所示代码,在解析“测试sz002892”的时候报错DemoCase6-yaml ${ret_result} ...原创 2020-03-07 09:39:10 · 760 阅读 · 0 评论 -
二十.robotframework数据库操作-redis
之前介绍了robotframework对关系型数据库oracle和mysql的相关使用操作,这两款也是使用比较广泛并且具有一定的代表性,其他的类似的数据库操作比如db2,informix等等基本上也是大同小异。接下去介绍一下非关系型数据库redis与robotframework的组合。这几年redis在市面上非常受欢迎,应用很广泛,是一个基于内存高性能的key-value数据库。他的应用场景:...原创 2020-03-04 08:17:55 · 1280 阅读 · 0 评论 -
十九.robotframework数据库操作-oracle
1.通过robotframework对数据库进行操作。首先执行pip install databaselibrary用pip安装databaselibrary,然后引入DatabaseLibrary,2.接下去安装cx_Oracle,可通过此命令 pip install cx-Oracle安装(我这里安装的是64位)。3.再将instantclient_12_1中的oci.dll、ora...原创 2020-02-20 10:30:19 · 735 阅读 · 0 评论 -
十八.robotframework变量应用(二)
上一章节简单介绍了变量如何在不同的案例之间重复使用。本章节主要描述对不同类型的变量的应用:原创 2020-01-21 10:09:18 · 338 阅读 · 0 评论 -
十七.robotframework变量应用(一)
在我们写案例的过程中,根据不同的实际场景会有各种变量传递需求,主要包含以下几方面:1.全局变量:在不同的测试套件中可以传递使用(也就是在不同的测试案例集中,不同的case中可以互相调用)。2.测试套件变量:在相同的测试案例集中,不同的测试案例之间可以互相调用。3.测试案例变量:只针对当前测试案例生效的变量接下去通过一段代码演示各自的区别:如图所示我在DemoCase12-var1案例中定...原创 2020-01-20 11:47:47 · 529 阅读 · 0 评论 -
十六.robotframework测试https接口提示警告信息-SNIMissingWarning: An HTTPS request has been made
如图所示为调试https类型接口时提示的警告信息:SNIMissingWarning: An HTTPS request has been made执行命令安装pip install pyopenssl ndg-httpsclient pyasn1安装完毕后重启RIDE问题解决。...原创 2020-01-15 11:45:31 · 610 阅读 · 0 评论 -
十五.robotframework与jenkins集成-跳过不需要执行的案例
通过RIDE工具,我们可以随时选择我们需要运行的案例,但是在jenkins中如何跳过我们不需要执行的案例,这样我们在跑自动化case的时候会变得更加灵活。1.首先,给我们的需要跳过的案例打标签:选中案例—>在Settings中的tags一栏中输入标签—>保存2.在jenkins任务配置中,构建一栏,修改下执行的命令,robot -e skip D:\workspace\inte...原创 2020-01-15 11:38:11 · 857 阅读 · 0 评论 -
十四.robotframework与jenkins集成-Opening Robot Framework report failed
出现此类问题有两种情况一、默认打开report报告,具体信息如图所示出现此现象可以考虑这几点:浏览器是不是版本至少在ie8;ActiveX控件是否启用:可以点击internet选项->安全->可信站点->自定义级别 启用控件确定后再打开...原创 2020-01-15 11:14:13 · 667 阅读 · 2 评论 -
十三.robotframework与jenkins集成
RF框架可以和jenkins持续集成自动化测试。1.首先创建一个jenkins构建节点(构建节点与运行代码需要在一台服务器上),点击jenkins-系统管理-节点管理:2.点击新建节点,输入节点名称,选择固定节点3.输入节点名称、并发构建数、远程工作目录、启动方式。再点击保存。通过java web启动代理选项如果不存在,请进行如下配置:4.节点保存成功后,默认未启动,点击sla...原创 2020-01-13 17:04:24 · 815 阅读 · 0 评论 -
十二.robotframework表格操作-excel
1.通过robotframework对excel表格进行操作。首先执行pip install ExcelLibrary用pip安装ExcelLibrary,然后引入ExcelLibrary,编写测试代码:DemoCase11-excel #excel写入操作 write excel ${CURDIR}/Test.xls Sheet1 0 0 ...原创 2020-01-13 14:40:20 · 1223 阅读 · 0 评论 -
十一.robotframework关键字封装及模板引用
如何写一个相对较实用的自动化案例,一个比较好的接口自动化案例应该包含以下几步:(1)输入测试的数据,以及预期的结果(2)运行自动化测试代码(3)实际返回值与预期结果进行比较,得出测试结果那在robotframework中如何编写才能符合上述三点?robotframework有个比较巨大的优势就在于它的数据驱动理念,还有就是良好的可封装性。接下去就详细介绍下如何封装关键字,通过数据驱动的...原创 2020-01-08 19:19:17 · 1481 阅读 · 0 评论 -
十.robotframework数据库操作-mysql
1.通过robotframework对数据库进行操作。首先执行pip install databaselibrary用pip安装databaselibrary,然后引入DatabaseLibrary,如果需要对mysql进行操作还需要安装pymysql,执行pip install pymysql安装完毕后,编写测试案例,代码如下:DemoCase8-mysql Connect ...原创 2020-01-08 10:18:36 · 221 阅读 · 0 评论 -
genymotion提示[INSTALL_FAILED_NO_MATCHING_ABIS]报错
我们启动模拟器后执行adb安装apk文件,提示[INSTALL_FAILED_NO_MATCHING_ABIS]报错,此问题的原因在于:Genymotion是基于X86的,它并不支持ARM架构,因为版权问题,从 2.0 版本开始 Genymotion 提供的虚拟设备都已经移除了 Google Apps 以及 ARM library support 。所以我们可以通过安装Genymotion-ARM...原创 2020-01-07 08:23:39 · 558 阅读 · 0 评论 -
九.robotframework返回报文解析-yaml
读取json或者yaml字典可以通过yamllibrary中的相关方法解析。例如如下所示json格式的报文:{ "resultCode": "000000", "resultMsg": "成功", "data": { "allStock": [ { "BuyNumber": "1", "SellVolume": "76000",...原创 2020-01-03 16:40:57 · 990 阅读 · 0 评论 -
八.robotframework接口测试-websocket
首先安装socket接口相关类库执行pip install robotframework-websocketclient安装安装完毕后引入项目中:接下去开始编写案例,代码如下:DemoCase5-websocket ${my_websocket}= WebSocketClient.Connect ws://echo.websocket.org WebSock...原创 2020-01-03 14:14:29 · 1282 阅读 · 0 评论 -
七.robotframework返回报文解析-xml(二)
上一篇简单介绍了如何解析并且获取xml的tag,text,那针对不同的xml报文,稍微复杂点的报文如何处理?例如下面的xml报文:<?xml version="1.0" encoding="UTF-8"?><service> <sys-header> <data name="HEAD"> <struct> <...原创 2020-01-03 11:49:38 · 1108 阅读 · 0 评论 -
六.robotframework返回报文解析-xml(一)
对xml格式进行解析,首先需要导入XML模块,原创 2020-01-03 08:19:05 · 1681 阅读 · 0 评论 -
五.robotframework返回报文解析-json
之前介绍了如何编写get、post接口测试的代码主体部分,自动化测试经常需要对返回报文字段进行提取和对比, 接下去介绍下如何解析各类不同格式返回报文的解析。例如json格式:我期望获取到每个BuyVolume字段的值,并且做一些断言操作,验证StockCode为sz300709的BuyVolume值为10000.可以通过如下代码实现case2 ${ret_result} s...原创 2019-12-31 16:44:43 · 1431 阅读 · 0 评论 -
四.robotframework接口测试-http
前几章简单描述了RIDE工具的使用,如何简单的创建项目,引入类库,本章介绍下如何编写接口测试案例一.get类型接口例如该阿里云网站相关接口:https://query.aliyun.com/rest/content-platform.api.deliveryGoods?id=5199093&count=6&env=com&cna=pVmMFp%2FDMX0CAbf...原创 2019-12-31 15:28:26 · 416 阅读 · 0 评论 -
三.robotframework测试库整理
上图为自己平时在做自动化测试时常见的一些测试库,开源的测试库较多,可以针对自己实际工作需要进行安装。例如:Selenium2Library的安装,可执行:pip install robotframework-Selenium2Libraryredis测试库的安装,可先执行pip install redis,再执行pip install robotframework-redislibrary...原创 2019-12-06 11:37:01 · 318 阅读 · 0 评论 -
二.RIDE工具使用说明
1.新创建robotframework项目:2.输入项目名称:3.创建测试套件,也就是测试案例集:4.输入案例集名称:5.创建测试案例:6.输入案例名称:7.引用需要的测试库如果测试库已经成功安装,正常引用,显示黑色,加载不成功,显示为红色按f5可查看对应测试库的所有可执行方法8.编写代码9.勾选案例,运行,查看结果...原创 2019-12-06 08:52:50 · 3005 阅读 · 0 评论 -
一.robotframework自动化测试工具环境搭建
RF框架是一套基于python语言编写的自动化测试框架,扩展性非常好,其常用的代码编写工具RIDE,其优点在于对于框架的编写更方便,更灵活,能提高测试开发人员编写自动化测试代码的效率。robotframework自动化测试开发环境搭建:1.安装python,目前python2.7和3.0都支持该框架,RIDE也有对应的版本可供使用,可根据自身需求选择安装版本执行python显示如图所...原创 2019-12-05 14:37:21 · 578 阅读 · 0 评论