RobotFramework自动化测试框架系列学习-----(一)简介、搭建、运行

news2024/11/28 7:46:42

一、简介

基于Python的关键字驱动的自动化框架。
1.基于Python:就是由python语言开发的这个框架。
2.关键字驱动:关键字驱动测试又称为表格驱动测试,是自动化测试的一种方法,是数据测试的一种改进方法。关键字驱动主要包括测试步骤、测试步骤中的对象,测试对象执行的动作,测试对象需要的数据
3.自动化框架:是应用于自动化测试,框架提供可重用的基础自动化测试平台,提供自动化测试执行和管理功能的组织架构。

二、特点

编写用例更方便,可以以robot,txt,html等格式
自动生成htm格式的测试报告(unittest:htmltestrunner,pytest:allure) 自带很多类库,支持很多扩展库
可以根据我们业务逻辑的需要自定义关键字(登录,下订单,上次下载数据进行判断比较)
支持非GUI方式运行,还可以和Jenkins持续集成,协同打包回验证BUG

三、搭建RF测试环境

1.保证python已经安装好
2.安装依赖库

python -m pip install --upgrade pip -i https://pypi.tuna.tsinghua.edu.cn/simple(使用清华镜像, 下载更快更稳定) 
pip install robotframework==5.0 -i https://pypi.tuna.tsinghua.edu.cn/simple(建议用该版本号,新版本不稳定)
安装wxpython(ride依赖wxpython):pip install robotframework-ride==1.7.4.2 -i https://pypi.tuna.tsinghua.edu.cn/simple

ps :实际上新版本pip在安装ride时会自动安装所需依赖,也就是wxpython,如果没有list出来,需要自个手动去安装一下

4.检查是否安装完成

pip list

四、运行

RF 是通过 RIDE 编辑器进行工作的,安装成功后,进入python目录执行命令“[PythonDir]\Scripts\ride.py”,就可以打开 RIDE 编辑器,如图 所示。
打开之后就可以进行创建测试项目,创建测试用例等操作,我以通过百度搜索bilibili网站,并判断进入的网站是bilibili而不是别的阿猫阿狗为例讲解步骤。

1.创建测试项目
选择菜单栏 File —>New Project,输入项目名称,选择 Directory type,选择目录。
在这里插入图片描述
在这里插入图片描述
2.创建测试套件
在这里插入图片描述

Name:给自动化测试工程命名 Parent Directory:默认是前一次工程的目录,根据实际需要进行设置。
Type:分为文件和目录两种。如果工程层级简单,File即可;内容较多较复杂层级较深选择目录。
Format:存储格式默认ROBOT即可,也可以选择其他,看自己需要。一般建议大家使用纯文本格式的,也就是ROBOT或TXT格式。

测试套是存放测试用例的文件,可以采用目录型或文件型存储,如果选择Directory,那么创建的是目录型测试套件,还可以在它下面继续创建测试子套件。

格式可以用robot、txt、tsv和html。 可以比较一下在RIDE里新建Project和Test

Suite的区别,其实本质上是一样的,RIDE里的Project就是最顶层的Test Suite(测试套)。 (Test
Case文件可以组织到目录中,这些目录可以创建更高级别的Test Suite。从目录创建的Test Suite不能直接包含任何Test
Case,但它包含其他带有Test Case的文件型Test
Suite。然后可以将这些目录放入其他目录中,从而创建更高级别的套件。结构没有限制,因此可以根据需要组织测试用例。)

3.选择测试套件bilibiliTest,并导包
在这里插入图片描述
在这里插入图片描述

PS:导入成功后,包名字体显示黑色。如果失败,显示红色
在这里插入图片描述
4.选择测试套件,右键创建测试用例bilibiliOpen
在这里插入图片描述
5.编写用例
在这里插入图片描述
在这里插入图片描述

6.执行用例,选中所要执行的用例,键盘敲击F8执行或者点击页面上的运行按钮执行
在这里插入图片描述
7.点击 report按钮,跳转到测试报告页面
在这里插入图片描述
五、报错解决

问题1:

NoSuchDriverException: Message: Unable to obtain driver for firefox using Selenium Manager.; For documentation on this error, please visit: https://www.selenium.dev/documentation/webdriver/troubleshooting/errors/driver_location

意思大概是:selenium获取不到firefox的驱动

解决:

问题2:

FAIL : No keyword with name 'Open Browser' found.

解决:
测试suite那里没有添加Selenium2Library库
在这里插入图片描述

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

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

相关文章

利用vba处理Excel表格数据实现键值转化,适用于将编码转化成对应的文本

最近遇到了一个甲方需要提供系统登录的用户名单和对应的角色权限内容。无奈直接从数据库导出的数据对应的都是编码,没有转成中文,想着偷个懒能不能直接用Excel直接转,网上看了一下有修改单元格格式的,但需要编码是2到3个。多的就用…

HyperDock 1.8.0.10(Dock优化工具)

HyperDock 是一款为 macOS 设计的实用工具,它提供了许多方便快捷的功能,使您能够更高效地管理和操作应用程序窗口。 首先,HyperDock 提供了类似于 Windows 7 的任务栏预览功能。当您将鼠标悬停在应用程序图标上时,会显示该应用程…

C++入门基础知识总结(超详细思维导图)

开门见山 思维导图奉上 引用和指针的区别宏宏的优缺点 C中替代宏C和C的区别 !!! 详细部分参考该博客:从C快速入门C (命名空间、引用、函数重载) !!! 引用和指针的区别 ● 引用就…

cin、cin.getline()、getline()的用法【C++】

一、cin>> 用法1&#xff1a;输入一个数字或字符 #include <iostream> using namespace std; int main () {int a,b;cin>>a>>b;cout<<ab<<endl;return 0; } 用法2&#xff1a;接收一个字符串&#xff0c;遇“空格”、“TAB”、“回车”…

气导耳机有哪些品牌?市面上气传导耳机哪家好?

​随着人们对运动健康的重视&#xff0c;越来越多的人开始关注运动时佩戴的耳机。然而&#xff0c;传统的耳机在运动时往往会受到限制&#xff0c;而气传导耳机则可以避免这些问题&#xff0c;为用户带来更加舒适和便捷的使用体验。今天就来展开说说&#xff0c;市面上气传导耳…

【程序员必知必会3】ClickHouse和Hive究竟哪些区别

ClickHouse和Hive究竟哪些区别 ClickHouse和Hive都是用于大数据处理和分析的分布式存储和计算系统&#xff0c;但它们之间存在一些区别&#xff1a; 架构&#xff1a;ClickHouse采用列式存储和向量化执行引擎&#xff0c;可以实现亚秒级别的数据查询。而Hive采用基于Hadoop的数…

设置Linux CentOS7桥接模式连网

在虚拟机上安装centos7系统后&#xff0c;首要任务就是设置网络。 我们在文章《设置linux centos7连接网络》中讨论了如何设置NAT模式连网。本文讨论如何在设置好NAT模式后&#xff0c;调换为桥接模式。 仍采用图形化方式设置方法。 一、查看物理机网络 把虚拟机设置为桥接…

JDK源码解析-HashMap面试题

1. HashMap类 * HashMap底层数据结构(为什么引入红黑树、存储数据的过程、哈希碰撞相关问题)* HashMap成员变量(初始化容量是多少、负载因子、数组长度为什么是2的n次幂)* HashMap扩容机制(什么时候需要扩容&#xff1f; 怎么进行扩容&#xff1f;)* JDK7 与 Jdk8比较&#xff…

检索与毒害 —— 对抗人工智能供应链攻击

作者&#xff1a;DAVE ERICKSON 在这篇文章中&#xff0c;了解人工智能大语言模型的供应链漏洞&#xff0c;以及如何利用搜索引擎的人工智能检索技术来对抗人工智能的错误信息和故意篡改。 虽然对于人工智能研究人员来说可能是新鲜事&#xff0c;但供应链攻击对于网络安全世界…

如何批量生成并分割m3u8视频,轻松提升您的视频制作效率!

亲爱的视频制作爱好者&#xff0c;您是否曾经为如何高效地批量生成和分割m3u8视频而烦恼&#xff1f;今天&#xff0c;我们为您带来了一款神奇的软件&#xff0c;让您的视频剪辑工作变得轻松无比&#xff01; 第一步&#xff0c;进入“媒体梦工厂”在主界面中有八个板块&#…

新手如何备考PMP考试?

回头看来&#xff0c;从战略上来说&#xff1a; 备考第一重点&#xff1a;要有一个清晰的目标——我要过&#xff01; 第二重点&#xff1a;足够重视它——把它的优先级调整到仅次于工作&#xff1a;万籁俱寂&#xff0c;唯有学习。 第三重点&#xff1a;自律——有了第一点…

Python入门教程 | Python 流程控制语句

​ 程序流程控制的三种结构 1.顺序结构 计算机执行程序的步骤是从上到下依次执行 2.选择结构&#xff08;条件控制&#xff09; Python 条件语句是通过一条或多条语句的执行结果&#xff08;True 或者 False&#xff09;来决定执行的代码块。 可以通过下图来简单了解条件…

【2023集创赛】国家集创中心杯三等奖:不对称轻失配运算放大器

本文为2023年第七届全国大学生集成电路创新创业大赛&#xff08;“集创赛”&#xff09;国家集创中心杯三等奖作品分享&#xff0c;参加极术社区的【有奖征集】分享你的2023集创赛作品&#xff0c;秀出作品风采&#xff0c;分享2023集创赛作品扩大影响力&#xff0c;更有丰富电…

打工人必知:考取了HCIE后,哪些工作内容,工作岗位有哪些?

作为一个打工人&#xff0c;都很关心考到HCIE后&#xff0c;我们可以做哪些工作内容&#xff0c;就是有哪些岗位呢&#xff1f; 先给直接说答案&#xff0c;如果你现在手边有电脑&#xff0c;现在打开智联招聘&#xff0c;输入我现在所说的这些职位名称&#xff1a; 第一个&…

苹果电脑要安装杀毒软件吗?mac用什么杀毒软件好?

对于这个问题让人很是纠结&#xff0c;Mac不需要杀毒这个理论一直都深入人心&#xff0c;Mac OS X权限管理特性可以防毒的说法也一直甚嚣尘上&#xff0c;很多小伙伴如我一样搞不清楚到底要不要安装杀毒软件。&#xff0c;毕竟当前个人信息安全泄露泛滥不穷的年代&#xff0c;我…

振动智能监测解析:从数据中预测设备故障

在现代工业领域&#xff0c;设备的可靠性和稳定性对于生产效率和产品质量至关重要。设备故障可能导致生产停滞、维修成本增加以及产品质量下降&#xff0c;因此&#xff0c;采用先进的监测技术来预测和防止设备故障变得尤为重要。本文将深入探讨振动智能监测&#xff0c;这是一…

PMP是什么?项目管理专业人士资格认证介绍

PMP认证旨在评估和确认具备一定经验和知识的项目管理专业人士的能力。通过获得PMP认证&#xff0c;项目经理可以证明他们具备在各个行业中成功领导和管理项目所需的技能。这些技能包括十二原则、8大绩效等方面的知识。 以下是PMP认证的详细介绍&#xff1a; 1. 资格要求&…

基于SpringBoot+Vue架构的药物咨询平台

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 随着人们对健康和医疗…

安装python第三方模块出现Requirement already satisfied:模块名 in XX:\XXXX\XX\site-packages

安装python第三方模块出现Requirement already satisfied:模块名 in XX:\XXXX\XX\site-packages Requirement already satisfied:模块名 in XX:\XXXX\XX\site-packages Requirement already satisfied: PyQtWebEngine in d:\anaconda2021\lib\site-packages (5.12.1) 解决办…

Conformer: Local Features Coupling Global Representationsfor Visual Recognition

论文链接&#xff1a;https://arxiv.org/abs/2105.03889 代码链接&#xff1a;https://github.com/pengzhiliang/Conformer 参考博文&#xff1a;Conformer论文以及代码解析&#xff08;上&#xff09;_conformer代码_从现在开始壹并超的博客-CSDN博客 摘要 在卷积神经网络…