RobotFrameWork环境搭建及使用

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的目录下即可(因为这个目录会配置环境变量)

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

下载驱动地址: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 ChromeDriverManagerdriver = 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.mzph.cn/news/586699.shtml

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

相关文章

DragonEnglish:COCA20000+单词+释义

去年的时候接触到了 COCA20000 单词,对这种给单词特定顺序的方式蛮感兴趣的。因为我当时接触的版本只有单词或者单词释义的版本,所以我直接通过各种方式给它搭配了音标例句发音,然后每100个切割成1份,分成了 202 个文件来学习&…

计算机视觉 全教程目录

1、OpenCV 图像处理框架 实战系列 总目录 OpenCV 图像处理框架 实战系列 总目录 2、现代卷积网络实战系列 总目录 现代卷积网络实战系列 总目录 3、YOLO 物体检测 系列教程 总目录 YOLO 物体检测 系列教程 总目录 4、图像分割实战-系列教程 总目录 图像分割实战-系列教程 总目录…

超维空间S2无人机使用说明书——52、初级版——使用PID算法进行基于yolo的目标跟踪

引言:在实际工程项目中,为了提高系统的响应速度和稳定性,往往需要采用一定的控制算法进行目标跟踪。这里抛砖引玉,仅采用简单的PID算法进行目标的跟随控制,目标的识别依然采用yolo。对系统要求更高的,可以对…

项目中使用Java中List.subList()的注意事项

使用介绍 在Java中&#xff0c;subList是List接口的一个方法&#xff0c;用于获取原始列表的子列表 方法的声明如下 List<E> subList(int fromIndex, int toIndex);fromIndex&#xff1a;起始索引&#xff08;包括&#xff09;toIndex&#xff1a;结束索引&#xff08…

解密垃圾邮件分类:基于SVM的数据挖掘项目

垃圾邮件&#xff08;Spam&#xff09;的泛滥成灾一直是电子邮件系统中的一个严峻问题。随着垃圾邮件技术的不断演变&#xff0c;传统的过滤方法逐渐显得力不从心。因此&#xff0c;本项目旨在利用支持向量机&#xff08;SVM&#xff09;这一强大的机器学习工具&#xff0c;实现…

git、gitee、github、gitlab 区别以及功能

请直接看原文 原文链接:git、gitee、github、gitlab 区别以及功能_agit gitee-CSDN博客 --------------------------------------------------------------------------------------------------------------------------------- Git git 是一种版本控制系统&#xff0c;是…

Activemq存储KahaDb详解

引言 ActiveMQ在不提供持久化的情况下&#xff0c;数据保存在内存中&#xff0c;一旦应用崩溃或者重启之后&#xff0c;数据都将会丢失&#xff0c;这显然在大部分情况下是我们所不希望的。对此ActiveMQ提供了两种持久化方式以供选择。 kahaDB kahaDB是一个基于文件&#xf…

WPF+Halcon 培训项目实战(10):HS组件绘制图案

文章目录 前言相关链接项目专栏运行环境匹配图片模板匹配加载模板文件运行结果 绘制十字标 WPF HS组件绘制图像绘制和生成的区别 前言 为了更好地去学习WPFHalcon&#xff0c;我决定去报个班学一下。原因无非是想换个工作。相关的教学视频来源于下方的Up主的提供的教程。这里只…

元旦特辑:Note6---选择排序

目录 前言❌ 1. 基本思想⚠️ 2. 直接选择排序&#x1f7e2; 2.1 思路分析✳️ 2.2 代码实现❎ 2.2.1 sort.h 2.2.2 sort.c 2.2.3 test.c 2.3 问题解决❇️ 2.3.1 sort.c修改 2.4 特性总结✅ 3. 堆排序&#x1f535; 3.1 代码实现&#x1f3e7; 3.2 特性总结&…

神经元科技发布AI agent—“萨蔓莎”

今天神经元科技发布AI agent—“萨蔓莎“&#xff08;Samantha &#xff09;&#xff01; 取名“萨蔓莎”&#xff0c;是来自于一部讲述AI的电影《HER》。 电影讲述的是电影讲述男子西奥多汤布里&#xff08;Theodore Twombly&#xff0c;饰&#xff09;与拟人化萨曼莎&#…

mysql2pgsql

使用pgloader进行迁移 pgloader是一个强大的数据迁移工具&#xff0c;专为将不同数据库之间的数据迁移到PostgreSQL而设计。它支持从MySQL到PostgreSQL的迁移&#xff0c;并提供了一种简单且灵活的方式来转移数据。 安装pgloader 使用pgloader迁移数据 1、命令行方式 2、脚…

【AI】注意力机制与深度学习模型

目录 一、注意力机制 二、了解发展历程 2.1 早期萌芽&#xff1a; 2.2 真正意义的注意力机制&#xff1a; 2.3 2015 年及以后&#xff1a; 2.4 自注意力与 Transformer&#xff1a; 2.5 BERT 与预训练模型&#xff1a; 三、基本框架 1. 打分函数&#xff08;Score Fun…

Vue常见面试问答

vue响应式数据 vue2 Vue2 的对象数据是通过 Object.defineProperty 对每个属性进行监听&#xff0c;当对属性进行读取的时候&#xff0c;就会触发 getter&#xff0c;对属性进行设置的时候&#xff0c;就会触发 setter。 /** * 这里的函数 defineReactive 用来对 Object.def…

如何正确使用docker搭建redis服务器,安装gcc和make以及出现错误时的解决办法

搭建redis服务器 目录 搭建redis服务器 &#xff08;1&#xff09;开启docker&#xff0c;并查看是否开启成功 &#xff08;2&#xff09;启动上面创建的ssrf容器&#xff0c;并进入ssrf容器 &#xff08;3&#xff09;进入opt&#xff0c;然后下载redis-5.0.5.tar.gz &a…

GitHub Copilot 快速入门

一简介 GitHub Copilot是一个AI编程助手&#xff0c;它能够为开发者提供代码建议和自动完成功能。Copilot使用自然语言处理技术来理解代码的语义&#xff0c;并根据上下文提供智能化的代码建议。通过使用Copilot&#xff0c;开发者可以提高编码效率&#xff0c;减少错误率&…

Apache SSI 远程命令执行漏洞

一、环境搭建 二、访问upload.php 三、写shell <!--#exec cmd"id" --> 四、访问 如图所示&#xff0c;即getshell成功&#xff01;​

Zookeeper-Zookeeper应用场景实战

1. Zookeeper Java客户端实战 ZooKeeper应用的开发主要通过Java客户端API去连接和操作ZooKeeper集群。 可供选择的Java客户端API有&#xff1a; ZooKeeper官方的Java客户端API。 第三方的Java客户端API&#xff0c;比如Curator。 ZooKeeper官方的客户端API提供了基本的操作…

宝塔部署flask添加ssl即https

在宝塔部署flask的步骤我已经写了一篇博客:宝塔部署flask项目-CSDN博客 之前说如果出现找不到application错误: spawned uWSGI http 1 (pid: 3116) --- no python application found, check your startup logs for errors --- [pid: 3114|app: -1|req: -1/1] 127.0.0.1 () {6…

java 什么是变量和字面量?

什么是变量&#xff0c;怎么理解的&#xff1f; 变量其实就是内存当中存储数据的最基本的单元。 一个存储数据的盒子&#xff0c;一个存储数据的单元。 什么是字面量&#xff0c;怎么理解&#xff1f; 整数型字面量&#xff0c;浮点型的字面量&#xff0c;布尔类型字面量&#…

sklearn学习的一个例子用pycharm jupyter

环境 运行在jupyter 进行开发。即一个WEB端的开发工具。能适时显示开发的输出。后缀用的是ipynb.pycharm也可以支持。但也要提示按装jupyter. 或直接用andcoda 这里我们用pycharm进行项目创建 pip install -i https://pypi.tuna.tsinghua.edu.cn/simple jupyterlab pip ins…