RobotFrameWork环境搭建及使用
RF环境搭建
- 首先安装python并且配置python环境变量
- pip install robotframework
- pip install robotframework-ride 生产桌面快捷方式 不行换豆瓣源
- 检查一下pip list
RF类库和扩展库
标准库
- 按F5快捷键查询,可以看到rf自带的库不需要额外安装
- 这些标准库在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
基本使用
- 先建项目new directory -> 再建立测试套件new suit(拓展库导入包文件) ->在建立测试用例new test case
- 关键字使用提示快捷键: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
RobotFrameWork环境搭建及使用的更多相关文章
- appium+robotframework环境搭建
appium+robotframework环境搭建步骤(Windows系统的appium自动化测试,只适用于测试安卓机:ios机需要在mac搭建appium环境后测试) 搭建步骤,共分为3部分: 一. ...
- RobotFramework环境搭建
环境搭建 1. 准备条件 python-2.7.7 https://www.python.org/download/releases/2.7.7/ wxPython2.8-win32-unicode- ...
- RobotFrameWork环境搭建(基于HTTP协议的接口自动化)
1. 前言 接着上一篇<RobotFramework框架系统课程介绍>,本篇主要介绍一下在基于RobotFramework框架开展接口自动化前,前期的环境如何搭建,正所谓”工欲善其事,必先 ...
- 1、大型项目的接口自动化实践记录--robotframework环境搭建
因为人力.团队技术问题,选用robotframework来做自动化,首先说下环境搭建 齐涛道长的入门教程非常棒:http://blog.csdn.net/tulituqi/article/detail ...
- 基于Python3.7的robotframework环境搭建步骤
一.前言 Robot Framework作为公司能快速落地实现UI自动化测试的一款框架,同时也非常适合刚入门自动化测试的朋友们去快速学习自动化,笔者计划通过从搭建逐步到完成自动化测试的过程来整体描述它 ...
- 【robotframework】robotframework环境搭建
一.基于python3.6环境 在dos命令输入 pip install robotframework 在线安装robotframework在dos命令输入 pip install Pypubsub= ...
- robotframework环境搭建问题
启动的时候报错,应该是环境变量没有配置好 错误: command: pybot.bat --argumentfile c:\users\keikei\appdata\local\temp\RIDEam ...
- python2+robotframework环境搭建
目前robotframework-ride只支持python3,没办法,只能用python2.好吧 python安装不多说,太简单,下载后直接安装,然后配置两个文件路径:path:E:\mytest\ ...
- python3.6+pycharm+robotframework 环境搭建
参考文档:https://www.cnblogs.com/chenyuebai/p/8359577.html, https://www.cnblogs.com/jiyanjiao-702521/p/9 ...
- 加载selenium2Library失败---robotframework环境搭建(site-packages下无selenium2library文件夹)
加载Selenium2library失败,检查D:\Python27\Lib\site-packages 目录下是否有Selenium2Library 目录,没有该目录,事情就尴尬了. 自己安装的版本 ...
随机推荐
- 2023-03-19:使用Go语言和FFmpeg库实现pcm编码为mp3。
2023-03-19:使用Go语言和FFmpeg库实现pcm编码为mp3. 答案2023-03-19: 本文将介绍如何使用Go语言和FFmpeg库实现PCM音频文件编码为MP3格式.我们将使用moon ...
- 2021-05-07:给定一个数组arr,你可以在每个数字之前决定+或者-,但是必须所有数字都参与 ,再给定一个数target,请问最后算出target的方法数是多少?
2021-05-07:给定一个数组arr,你可以在每个数字之前决定+或者-,但是必须所有数字都参与 ,再给定一个数target,请问最后算出target的方法数是多少? 福大大 答案2021-05-0 ...
- LeetCode 周赛 346(2023/05/21)仅 68 人 AK 的最短路问题
本文已收录到 AndroidFamily,技术和职场问题,请关注公众号 [彭旭锐] 提问. LeetCode 单周赛第 345 场 · 体验一题多解的算法之美 单周赛 345 概览 T1. 删除子串后 ...
- Java配置线程池
一.Java配置线程池 1.线程池分类.其他 1.1.分类 IO密集型 和 CPU密集型 任务的特点不同,因此针对不同类型的任务,选择不同类型的线程池可以获得更好的性能表现. 1.1. IO密集型任务 ...
- SpringMVC 后台从前端获取单个参数
1.编写web.xml(模板) 2.springmvc配置文件 3.编写对应数据库字段的pojo实体类 @Data @AllArgsConstructor @NoArgsConstructor pub ...
- RabbitMQ系列-Exchange介绍
RabbitMQ系列 RabbitMQ系列-概念及安装 1. Exchange RabbitMQ系列-概念及安装提到AMQP 0-9-1协议默认支持四种exchange,分别是Direct Excha ...
- 2021-i春秋秋季赛部分misc+re wp
两道re比较简单,没有什么好说的,misc的符号执行那题还有点意思,总的来说题目不难 CTFMakesMeAngr 给出了符号执行的中间语言,对着文档把汇编逻辑逆一下,发现是个凯撒加密,位移为14,注 ...
- Java并发(九)----线程join、interrupt
1.join 方法详解 1.1 为什么需要 join? 下面的代码执行,打印 r 是什么? static int r = 0; public static void main(String[] arg ...
- 浙大Jarvisoj [XMAN]level6 Writeup
分析代码 初始化 0x0804A2EC:保存malloc(0xC10)返回的指针 malloc(0xC10) 0 1 ... ... value note 总数:256 已使用 note 数 0 一. ...
- 大家都说Java有三种创建线程的方式!并发编程中的惊天骗局!
在Java中,创建线程是一项非常重要的任务.线程是一种轻量级的子进程,可以并行执行,使得程序的执行效率得到提高.Java提供了多种方式来创建线程,但许多人都认为Java有三种创建线程的方式,它们分别是 ...