robotframework自动化测试环境搭建
环境说明
- win10
- python版本:3.8.3rc1
安装清单

安装配置
selenium安装
首先检查pip命令是否安装:
C:\Users\name>pipUsage:pip <command> [options]Commands:install Install packages.download Download packages.uninstall Uninstall packages.freeze Output installed packages in requirements format.list List installed packages.show Show information about installed packages.check Verify installed packages have compatible dependencies.
……
确保pip命令可用,如果提示“pip不是内部或外部命令”,需要将将pip的安装目录(如:C:\Python36\Scripts)添加到环境变量PATH下面。
接下来通过pip命令安装Selenium:
C:\Users\name>pip install selenium
Collecting seleniumDownloading selenium-3.4.3-py2.py3-none-any.whl (931kB)26% |████████ | 245kB 576kB/s eta 0:00:02 27% |█████████ | 256kB 570kB/s eta 0:00:02 28% |██████████ | 266kB 536kB/s eta 0:00:0 29% |███████████ | 276kB 530kB/s eta 0:00:0 30% |████████████ | 286kB 586kB/s eta 0:00:0
……
SeleniumLibrary安装

具体参见官网:https://github.com/robotframework/SeleniumLibrary
根据python版本,这里安装的是SeleniumLibrary 4.3,具体可以根据实际情况安装。
安装命令:
pip install robotframework-seleniumlibrary==4.2.0
robotframework安装配置
直接使用pip命令进行安装
pip install robotframework
ride安装
这里安装了最新的ride,安装参考官网给出的最新方法进行安装
pip install -U https://github.com/robotframework/RIDE/archive/master.zip
参考官网 https://github.com/robotframework/RIDE
AutoitLibrary安装
首先从官网下载autoit-v3-setup.exe根据提示安装即可,然后进行robotframework-autoitlibrary 1.2.5的安装,仍旧使用pip命令操作,如下
pip install robotframework-autoitlibrary
安装过程如下:
C:\Windows\system32>pip install robotframework-autoitlibrary
Looking in indexes: https://pypi.tuna.tsinghua.edu.cn/simple
Collecting robotframework-autoitlibraryDownloading https://pypi.tuna.tsinghua.edu.cn/packages/c4/4f/7d4d4c6232b7bb4f5c78fee4e46691087adc7b248ffed71cc3dafcc0a507/robotframework-autoitlibrary-1.2.5.tar.gz (696 kB)|████████████████████████████████| 696 kB 930 kB/s
Requirement already satisfied: pywin32 in c:\users\admin\appdata\local\programs\python\python38\lib\site-packages (from robotframework-autoitlibrary) (227)
Requirement already satisfied: pillow in c:\users\admin\appdata\local\programs\python\python38\lib\site-packages (from robotframework-autoitlibrary) (7.1.2)
Using legacy setup.py install for robotframework-autoitlibrary, since package 'wheel' is not installed.
Installing collected packages: robotframework-autoitlibraryRunning setup.py install for robotframework-autoitlibrary ... done
Successfully installed robotframework-autoitlibrary-1.2.5
安装完成之后,可以查看一下本机安装的软件信息,如下
C:\Windows\system32>pip list
Package Version
------------------------------ -----------
numpy 1.255 173)">18.4
Pillow 7.1.2
pip 255 173)">20.1.1
Pygments 2.6.1
Pypubsub 4.0.3
pywin32 227
robotframework 3.2.1
robotframework-autoitlibrary 1.2.5
robotframework-ride 2.0b1.dev1
robotframework-seleniumlibrary 4.2.0
selenium 3.255 173)">141.0
setuptools 46.4.0
six 1.255 173)">14.0
urllib3 1.25.9
wxPython 4.0.7.post2C:\Windows\system32>
安装autoit主要是为了进行文件上传的操作。
Autoit使用
安装完成Autoit之后,这里主要使用的是AutoItWindow Info(x64)、SciTE Script(x64)和Compile Script to .exe(x64)这三个工具。(因为本机是64位的,所有这里使用的都是64位)
首先打开AutoItWindow Info(x64),点击"Finder Tool"拖拽到上传文件选择页面,如图

可以看到AotuIt显示的信息,接下来就是使用SciTE Script(x64)进行编码操作,具体代码如下
$path = "C:\Users\admin\Postman\files\发票模块说明文档.doc"
ControlFocus("打开","","Edit1")
WinWait("[CLASS:#32770]","",10)
ControlSetText("打开","","Edit1",$path)
sleep(2000)
ControlClick("打开","","Button1")
保存为au3的格式,然后再次使用Compile Script to .exe转换为exe格式。接下来就是robotframework中使用run关键字操作。
Allure报告集成jenkins
在编写robotframework脚本进行运行,可以集成到jenkins进行运行测试;使用jenkins运行生成比较完整的报告信息。有两种生成报告的方法,一种是使用robotframework自带的报告集成到jenkins查看报告信息,还有一种是使用allure生成的报告界面相对漂亮很多。
Robot Framework Plugin插件
使用Robot Framework Plugin插件来生成robotframework报告,首先需要在jenkins中安装这个查看,然后在项目中配置使用:如图

说明:
Thresholds for build result 这里根据测试用例执行的实际情况设置范围
Allure插件
另外一种是使用allure插件生成报告,首先安装allure插件,然后在项目中修改配置信息。
Allure库安装
pip install allure-robotframework
jenkins插件安装和配置
安装allure插件这里就不在说明,有疑问可以百度;接下来是Global Tool Configuration,如图

然后就是具体的项目配置信息,可以按照下面的操作一步步来进行:
第一步:设置自定义工作空间
这里因为jenkins的安装目录和本机运行的test测试用例目录不是同一个,所以针对项目设置自定义工作项目空间,如图

说明
- C:\Users\admin\AppData\Local\Programs\Python\Python38\Scripts是python的安装目录
- %WORKSPACE%默认取的是jenkins的工作路径,这里自定义设置的是项目的工作目录,即上图中设置的E:\Robot_Workspace
- robot --listener allure_robotframework,是RF和allure结合的固定命令,用户生成符合allure格式的日志文件。(网上很多都是pytest框架对应的命令,此处已经不要搞错,否则后面生成不了报告)
- %WORKSPACE%\allure-results,指定的allure格式的日志文件的存储路径
- E:\Robot_Workspace\rcm_beta\是要执行的测试用例的路径
第三步:构建后allure报告
选择"Allure Report",在path路径中设置存放allure相关日志文件的路径,此路径必须是“构建”命令中%WORKSPACE%后面的路径值,这里是allure-results ,如图

引用:https://www.jianshu.com/p/a0b58f02f4b5
这里有几个点必须注意,不然生成的报告显示的数据为空:
如果项目test的工作路径和jenkins的工作路径不一致,则必须在jenkins中自定义工作空间(或者把项目复制到jenkins的工作空间也是可行的~)
想要生成符合allure格式的报告,使用的命令robot --listener allure_robotframework
需要指定allure报告路径,即%WORKSPACE%\allure-results
配置完成之后,点击"立即构建",构建完成可以看到报告如下图所示

安装问题
日志乱码
安装完成后,第一次运行ride时,使用cmd正常显示中文,使用RIDE执行用例时控制台和日志均乱码:

具体解决:Lib\site-packages\robotide\contrib\testrunnertestrunnerplugin.py
将SYSTEM改成OUTPUT

来自 https://github.com/robotframework/RIDE/issues/1747
jenkins运行提示不是内部或外部命令
集成到jenkins执行robotframework时,提示pybot不是内部或外部命令
执行的命令:
call pybot.bat -d E:\outputdir E:\Robot_Workspace\rcm_beta
exit 0
第一步:首先在jenkins系统配置-全局属性中添加pybot命令的环境变量,如图
键:pybot
值:C:\Users\admin\AppData\Local\Programs\Python\Python38\Scripts
配置本地安装的python的安装路径。
第二步:需要切换要执行的命令到安装python的路径中,修改如下:
c:
cd C:\Users\admin\AppData\Local\Programs\Python\Python38\Scripts
call pybot.bat -d E:\outputdir E:\Robot_Workspace\rcm_beta
exit 0
再次运行就正常了。
最后:下方这份完整的【软件测试】视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】


相关文章:
robotframework自动化测试环境搭建
环境说明 win10 python版本:3.8.3rc1 安装清单 安装配置 selenium安装 首先检查pip命令是否安装: C:\Users\name>pipUsage:pip <command> [options]Commands:install Install packages.download Do…...
尚硅谷《Redis7》(小白篇)
尚硅谷《Redis7 》(小白篇) 02 redis 是什么 官方网站: https://redis.io/ 作者 Git Hub https://github.com/antirez 03 04 05 能做什么 06 去哪下 Download https://redis.io/download/ redis中文文档 https://www.redis.com.cn/docu…...
并非从0开始的c++ day6
并非从0开始的c day6二级指针练习-文件读写位运算位逻辑运算符按位取反 ~位于(AND):&位或(OR): |位异或: ^移位运算符左移<<右移>>多维数组一维数组数组名一维数组名传入到函数参数中数组指…...
PMP考前冲刺2.22 | 2023新征程,一举拿证
承载2023新一年的好运让我们迈向PMP终点一起冲刺!一起拿证!每日5道PMP习题助大家上岸PMP!!!题目1-2:1.在新产品开发过程中,项目经理关注到行业排名第一的公司刚刚发布同类型的产品。相比竞品&am…...
RxJava的订阅过程
要使用Rxjava首先要导入两个包,其中rxandroid是rxjava在android中的扩展 implementation io.reactivex:rxandroid:1.2.1implementation io.reactivex:rxjava:1.2.0首先从最基本的Observable的创建到订阅开始分析 Observable.create(new Observable.OnSubscribe<S…...
【2.22】MySQL、Redis、动态规划
认识Redis Redis是一种基于内存的数据库,对数据的读写操作都是在内存中完成的,因此读写速度非常快,常用于缓存,消息队列,分布式锁等场景。 Redis提供了多种数据类型来支持不同的业务场景,比如String(字符串…...
2年手动测试,裸辞后找不到工作怎么办?
我们可以从以下几个方面来具体分析下,想通了,理解透了,才能更好的利用资源提升自己。一、我会什么?先说第一个我会什么?第一反应:我只会功能测试,在之前的4年的中我只做了功能测试。内心存在一种…...
Leetcode6. N字形变换
一、题目描述: 将一个给定字符串 s 根据给定的行数 numRows ,以从上往下、从左到右进行 Z 字形排列。 比如输入字符串为 “PAYPALISHIRING” 行数为 3 时,排列如下: 之后,你的输出需要从左往右逐行读取,产…...
将Nginx 核心知识点扒了个底朝天(十)
ngx_http_upstream_module的作用是什么? ngx_http_upstream_module用于定义可通过fastcgi传递、proxy传递、uwsgi传递、memcached传递和scgi传递指令来引用的服务器组。 什么是C10K问题? C10K问题是指无法同时处理大量客户端(10,000)的网络套接字。 Nginx是否支持将请求压…...
GPU显卡环境配置安装
前言 最近公司购买了一张RTX3090的显卡和一台新的服务器,然后对机器的GPU环境进行了安装和配置,然后简单记录一下 环境版本 操作系统:Centos7.8 显卡型号:RTX3090 Python版本:3.7.6 Tensorflow版本:2…...
CIMCAI super unmanned intelligent gate container damage detect
世界港航人工智能领军者企业CIMCAI中集飞瞳打造全球最先进超级智能闸口无人闸口ceaspectusG™视频流动态感知集装箱箱况残损检测箱况残损识别率99%以上,箱信息识别率99.95%以上World port shipping AI leader CIMCAIThe worlds most advanced super intelligent gat…...
web概念概述
软件架构:1. C/S: Client/Server 客户端/服务器端* 在用户本地有一个客户端程序,在远程有一个服务器端程序* 如:QQ,迅雷...* 优点:1. 用户体验好* 缺点:1. 开发、安装,部署,维护 麻烦…...
编译原理笔记(1)绪论
文章目录1.什么是编译2.编译系统的结构3.词法分析概述4.语法分析概述5.语义分析概述6.中间代码生成和后端概述1.什么是编译 编译的定义:将高级语言翻译成汇编语言或机器语言的过程。前者称为源语言,后者称为目标语言。 高级语言源程序的处理过程&#…...
MySQL(八)
服务器参数设置 general datadir/var/lib/mysql 数据文件存放的目录socket/var/lib/mysql/mysql.sock mysql.socket表示server和client在同一台服务器,并且使用localhost进行连接,就会使用socket进行连接pid_file/var/lib/mysql/mysql.pid 存储mysql的p…...
steam搬砖项目,小投入高回报,可放大操作,(内附教学资料)
我必须要说,steam搬砖项目就是全网门槛最低的副业,有手就行! 本人90后底层员工一枚,新入csgo搬砖项目,轻松翻身 什么做抖音、海外问卷、直播卖货,电商等等对比我这个都是小钱。我这个方法是利用了大部分人…...
华为OD机试真题Python实现【最多提取子串数目】真题+解题思路+代码(20222023)
最多提取子串数目 题目 给定由 [a-z] 26 个英文小写字母组成的字符串 A 和 B,其中 A 中可能存在重复字母,B 中不会存在重复字母 现从字符串 A 中按规则挑选一些字母,可以组成字符串 B。 挑选规则如下: 1) 同一个位置的字母只能被挑选一次 2) 被挑选字母的相对先后顺序不…...
day32 多线程(上)
文章目录相关概念codeThreadTest01ThreadTest02 编写一个类,直接继承java.lang.Thread,重写run方法ThreadTest03 实现线程的第二种方法ThreadTest04 采用匿名内部类的方式ThreadTest05 获取线程名字ThreadTest06 sleep方法sleep面试题ThreadTest08 终止线…...
【flink】 各种join类型对比
表定义 动态表(dynamic table):动态表是流的另一种表达方式,动态表作为一个逻辑的抽象概念,使我们更容易理解flink中将streaming发展到table这个层次的设计,本质都是对无边界、持续变更数据的表示形式,所以动态表与流之…...
常用正则表达式
一、校验数字的表达式 数字:^[0-9]*$ n位的数字:^\d{n}$ 至少n位的数字:^\d{n,}$ m-n位的数字:^\d{m,n}$ 零和非零开头的数字:^(0|[1-9][0-9]*)$ 非零开头的最多带两位小数的数字:^([1-9][0-9]*)(.[0…...
PMP考试有没有什么技巧可以介绍一下么?
一、试题形式 ——中英文对照 即每道题都是一遍英文,一遍翻译的中文,在审题的时候有一些小的技巧需要注意。首先如果你的英文水平足够好,建议直接阅读原文。PMP试题毕竟是美国人出的,语言的组织、思想的表达,肯定更符…...
【Linux】C语言执行shell指令
在C语言中执行Shell指令 在C语言中,有几种方法可以执行Shell指令: 1. 使用system()函数 这是最简单的方法,包含在stdlib.h头文件中: #include <stdlib.h>int main() {system("ls -l"); // 执行ls -l命令retu…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...
[Java恶补day16] 238.除自身以外数组的乘积
给你一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O(n) 时间复杂度…...
SAP学习笔记 - 开发26 - 前端Fiori开发 OData V2 和 V4 的差异 (Deepseek整理)
上一章用到了V2 的概念,其实 Fiori当中还有 V4,咱们这一章来总结一下 V2 和 V4。 SAP学习笔记 - 开发25 - 前端Fiori开发 Remote OData Service(使用远端Odata服务),代理中间件(ui5-middleware-simpleproxy)-CSDN博客…...
Kafka入门-生产者
生产者 生产者发送流程: 延迟时间为0ms时,也就意味着每当有数据就会直接发送 异步发送API 异步发送和同步发送的不同在于:异步发送不需要等待结果,同步发送必须等待结果才能进行下一步发送。 普通异步发送 首先导入所需的k…...
免费数学几何作图web平台
光锐软件免费数学工具,maths,数学制图,数学作图,几何作图,几何,AR开发,AR教育,增强现实,软件公司,XR,MR,VR,虚拟仿真,虚拟现实,混合现实,教育科技产品,职业模拟培训,高保真VR场景,结构互动课件,元宇宙http://xaglare.c…...
如何在Windows本机安装Python并确保与Python.NET兼容
✅作者简介:2022年博客新星 第八。热爱国学的Java后端开发者,修心和技术同步精进。 🍎个人主页:Java Fans的博客 🍊个人信条:不迁怒,不贰过。小知识,大智慧。 💞当前专栏…...
Android屏幕刷新率与FPS(Frames Per Second) 120hz
Android屏幕刷新率与FPS(Frames Per Second) 120hz 屏幕刷新率是屏幕每秒钟刷新显示内容的次数,单位是赫兹(Hz)。 60Hz 屏幕:每秒刷新 60 次,每次刷新间隔约 16.67ms 90Hz 屏幕:每秒刷新 90 次,…...
02-性能方案设计
需求分析与测试设计 根据具体的性能测试需求,确定测试类型,以及压测的模块(web/mysql/redis/系统整体)前期要与相关人员充分沟通,初步确定压测方案及具体的性能指标QA完成性能测试设计后,需产出测试方案文档发送邮件到项目组&…...
