RobotFrameWork环境搭建及使用

news2024/11/28 0:52:46

RF环境搭建

  1. 首先安装python并且配置python环境变量
  2. pip install robotframework
  3. pip install robotframework-ride 生产桌面快捷方式 不行换豆瓣源
  4. 检查一下pip list

RF类库和扩展库

标准库

  1. 按F5快捷键查询,可以看到rf自带的库不需要额外安装
  2. 这些标准库在python的 \Lib\site-packages\robot\libraries中

扩展库(需要通过pip命令额外安装的库)

这些扩展库在python的 \Lib\site-packages中
web自动化测试:SeleniumLibrary
安装:pip install robotframework-seleniumlibrary
接口自动化测试:RequestsLibrary
安装:pip install robotframework-requests
app自动化测试:AppiumLibrary
安装:pip install robotframework-appiumlibrary

基本使用

  1. 先建项目new directory -> 再建立测试套件new suit(拓展库导入包文件) ->在建立测试用例new test
    case
  2. 关键字使用提示快捷键:shift + ctrl + 空格 或者 ctrl + alt + 空格

在这里插入图片描述

SeleniumLibrary

下载驱动

  • 谷歌浏览器

    下载驱动地址:http://npm.taobao.org/mirrors/chromedriver/,下载后解压的Chromedriver.exe放在python的目录下即可(因为这个目录会配置环境变量)

  •  谷歌浏览器的版本(浏览器【帮助】-【版本】)一定要和驱动兼容
    
  • 火狐浏览器(同上方)

下载驱动地址:https://github.com/mozilla/geckodriver/releases,下载最新版本就可以了,火狐会兼容的

  • 自动更新版本运用webdriver-manager

pip install webdriver-manager或者换豆瓣源下载

# selenium 3
from selenium import webdriver
from webdriver_manager.chrome import ChromeDriverManager
 
#driver = webdriver.Chrome(ChromeDriverManager().install())
 
#driver = webdriver.Firefox(GeckoDriverManager().install())
 
driver = webdriver.Edge(EdgeChromiumDriverManager().install())

# selenium 4
from selenium import webdriver
from selenium.webdriver.chrome.service import Service as ChromeService
from webdriver_manager.chrome import ChromeDriverManager
 
driver = webdriver.Chrome(service=ChromeService(ChromeDriverManager().install()))

分层:页面元素层(资源文件.txt),业务逻辑层(资源文件.txt),测试用例层(测试套件|数据驱动)

调用关系:业务逻辑层去调用页面元素层 -> 测试用例层去调用业务逻辑层 -> 测试用例层使用模板做数据驱动

页面元素层(资源文件.txt)

注意导包SeleniumLibrary

创建new user keywords,将每一步元素操作分开
在这里插入图片描述

数据参数化

在这里插入图片描述

业务逻辑层(资源文件.txt)

注意需要调用页面元素层
在这里插入图片描述

创建new user keywords,调用页面元素层的keywords(如下图)

页面元素层的参数化这边需要继续参数化调用

在这里插入图片描述

测试用例层(测试套件|数据驱动)

调用业务逻辑层
在这里插入图片描述

模板使用业务逻辑层的keywords

在这里插入图片描述

用例中下方设置的用例会逐个执行模板中的逻辑

RequestsLibrary

在这里插入图片描述

作为一款具有关键字驱动的软件,我们要用好这个特点,我们在设计用例的时候,尽量多的去封装一些常用的功能成关键字,例如登陆之类的功能。

和selenium库一样,测试套件下建立测试用例,测试资源txt文件下方测试关键字

在这里插入图片描述

create session 和 update session来创建session和更新session

在这里插入图片描述

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

在这里插入图片描述

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!   

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1028659.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ai智能写作软件哪个好-AI智能写作软件的类型标准

AI智能写作软件能做什么? 节省时间:手动撰写文章和内容可能会非常耗时,而AI智能写作软件可以帮助我们快速生成文字,节省大量时间和精力。 增加生产力:对于内容创作者、营销人员和企业来说,高效地生成文章…

【独家】电视盒子哪个牌子最好?老烧力荐目前性能最强的电视盒子

电视盒子是电视机的最佳拍档,仅需几百元就能让电视机升级换代,身边朋友在挑选电视盒子时不知道电视盒子哪个牌子最好会咨询我的意见,下面我将介绍发烧友们最爱的目前性能最强的电视盒子,如果你近期也想购入电视盒子,记…

sourcetree 配置 gitlab ssh及公钥私钥设置

参考链接:Mac sourcetree 配置 ssh 密钥 - 简书 1.打开sourcetree --新建--从URL克隆,复制你项目的ssh 链接添加进去,如果没有配置就会提示: 这是一个无效的源路径/URL 2.打开sourcetree的设置 3.账户--添加 4.如图输入&#xf…

poi判断excel单元格内容是否为日期

通过cell.getCellType()拿到单元格的数据类型,CellType是一个枚举类型详情如下,能够看到并没有日期类型的code,poi读取到的日期类型的单元格时会认为是NUMERIC类型,然后,poi提供了HSSFDateUtil.isCellDateFormatted(ce…

SEO方案尝试--Nuxtjs项目基础配置

Nuxtjs 最新版 Nuxt3 项目配置 安装nuxtjs 最新版 Nuxt3 参考官网安装安装插件安装ElementPlus页面怎么跳转,路由怎么实现 安装nuxtjs 最新版 Nuxt3 参考官网安装 安装插件 安装ElementPlus 安装 Element Plus 和图标库 # 首先,使用以下命令安装 Eleme…

运用贪心算法实现卡牌游戏-2023年全国青少年信息素养大赛Python复赛真题精选

[导读]:超平老师计划推出《全国青少年信息素养大赛Python编程真题解析》50讲,这是超平老师解读Python编程挑战赛真题系列的第18讲。 全国青少年信息素养大赛(原全国青少年电子信息智能创新大赛)是“世界机器人大会青少年机器人设…

Leetcode 01-算法入门与数组-③数组排序

LeetCode 01-算法入门与数组-③数组排序 一. 冒泡排序 1. 冒泡排序算法思想 冒泡排序(Bubble Sort)基本思想: 经过多次迭代,通过相邻元素之间的比较与交换,使值较小的元素逐步从后面移到前面,值较大的元素…

Spring MVC常见面试题

Spring MVC简介 Spring MVC框架是以请求为驱动,围绕Servlet设计,将请求发给控制器,然后通过模型对象,分派器来展示请求结果视图。简单来说,Spring MVC整合了前端请求的处理及响应。 Servlet 是运行在 Web 服务器或应用…

玩转Nginx

Nginx是什么 Nginx(engine x)是一款的Web服务器、反向代理服务器,能够实现前端Web应用的部署、请求反向代理及负载均衡处理等功能。 特点 轻量,占用内存少高可靠高并发、高性能可扩展性好支持热部署BSD许可证(开源、可修改再发…

药品销售数据分析报告(报告资源-干货篇)

药品分析报告包含了药品研究分析报告、药品审评分析报告、药品市场分析报告、药品专利分析报告、药品上市分析报告、药品原料药分析报告、药品立项分析报告、药品投融资分析报告......所以我们在写作药品分析报告之前一定要明确需求者目的,如此方能针对核心内容进行…

Springboot登录验证的统一拦截处理

在进行Springboot项目开发的时候如何把每次请求都要验证的用户进行提取拦截统一处理 背景 如果不进行统一的拦截处理,其实这是一个非常痛苦的一件事情,因为每次用户请求你都要去进行用户的信息(用户信息存储在session中)的验证&…

【算法练习Day2】有序数组的平方长度最小子数组螺旋矩阵II

​ ​📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:练题 🎯长路漫漫浩浩,万事皆有期待 文章目录 有序数组的平方暴力求解…

2023/9/20总结

maven maven本质是 一个项目管理工具 将项目开发 和 管理过程 抽象成 一个项目对象模型(POM) POM (Project Object Model) 项目对象模型 作用 项目构建 提供标准的自动化 项目构建 方式依赖管理 方便快捷的管理项目依赖的资源…

【SpringBoot项目】SpringBoot+MyBatis+MySQL电脑商城

在b站听了袁老师的开发课,做了一点笔记。 01-项目环境搭建_哔哩哔哩_bilibili 基于springboot框架的电脑商城项目(一)_springboot商城项目_失重外太空.的博客-CSDN博客 项目环境搭建 1.项目分析 1.项目功能:登录、注册、热销商品、用户管…

2023年8月京东户外鞋服市场(京东数据运营)

当前,户外活动的热潮使得户外鞋服市场备受青睐,带动了整个市场的高增长。 根据鲸参谋电商数据分析平台的相关数据显示,今年8月份,京东平台户外鞋服市场的销量为46万,同比增长约25%;销售额为9500万&#xf…

视觉检测系统可以检测太阳能电池片哪些方面的缺陷?

近年来,随着全球工业化进程的不断加快,能源与环境危机成为一个亟待解决的问题。为此,太阳能作为一种清洁可再生的能源,现已被广泛应用于各领域。太阳能电池片作为太阳能转换为电能的核心载体,其质量的好坏决定着电能的…

Cannot find module ‘core-js/modules/es6.regexp.constructor‘

npm run dev 之后报如下错误 解决方法:npm install core-js2 如果超时或者下载时间慢可以尝试 用cnpm install core-js2

【送书】实现可观测性平台的技术要点是什么?

文章目录 实现可观测性平台的技术要点是什么?兼容全域信号量所谓全域信号量有哪些?统一采集和上传工具统一的存储后台自由探索和综合使用数据总结 实现可观测性平台的技术要点是什么? 随着可观测性理念的深入人心,可观测性平台已经开始进入了落地阶段…

爸妈让我放弃百度,选择东软

作者:阿秀 InterviewGuide大厂面试真题网站:https://top.interviewguide.cn 这是阿秀的第「305」篇原创 小伙伴们大家好,我是阿秀。 目前已经是九月下旬了,秋招已经进入中后期了,很多公司已经开启秋招有一段时间了&…

C++实现WebSocket通信(服务端和客户端)

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…