RobotFramework框架系列 – 介绍篇

2024-06-21 13:08

本文主要是介绍RobotFramework框架系列 – 介绍篇,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

RobotFramework是一个基于Python语言的,可扩展的关键字驱动的自动化测试框架,用于验收驱动的测试(ATDD)

Robotframework除了自带的库之外有很多扩展的库,这些库可以在Robotframework官网里找到http://robotframework.org/#Libraries

你也可以到github搜索,肯定有所收获。

为何使用RobotFramework

  • 表格的方式创建测试用例

  • 创建high-level的可重用的关键字

  • 强大易读的html格式的报告及log,精确到你每个步骤的时间点

  • 各平台通用,包括windows,mac,linux

  • 提供简单创建自定义库的方式,可以使用自带API,使用python或java语言实现自定义库

  • 提供命令行执行接口,和方便的xml报告输出,方便集成到CI中,比如jenkins

  • 提供丰富的扩展库,比如网页测试的Selenium,Java GUI,Ssh 。。。

  • 虽然是关键字驱动的框架,但是同样不可或缺的也要支持数据驱动的测试【Data-Driven Test】

  • 提供内置的变量,适用不同的测试环境

  • 提供强大的标签功能,来归类测试运行,在测试运行时可以选择不同的Tag或tag组合进行测试运行

  • 提供测试用例和测试套件级别的Setup和tearDown。而且可以全局,可以局部覆盖,非常方便。

  • 模块化体系结构支持创建测试,即使是具有多种不同接口的应用程序。
  • 支持乱序执行,可以多样化执行策略
  • 支持报告合并,以便让你可以多机执行,然后合并报告
  • 全局测试超时时间设置,局部可以覆盖全局的设置非常方便,不会测试卡壳

 

测试框架结构

测试用例大概就是如下这样子的

*** Settings ***

Test Setup MetaSetup

Test Teardown Close All Browsers #关闭所有浏览器

Test Timeout 6 minutes

Resource MetaPortalBusiness.robot

 

*** Test Cases ***

1. Verify Portal Login Success

[Tags] META

Open chrome browser ${WEB_HOST}

Input username ${CS_NAME}

Input password ${CS_PWD}

Login button

 

2. Verify Portal Login And Video

[Tags] META

Login normal

Wait switch to video

Verify has video

 

测试结果:

 

其他Python环境的安装方式:

Jython,用java做库的方式需要这种,首先安装Jython java -jar jython_installer-<version>.jar.,http://jython.org,安装后把jython加入PATH环境变量中

jython -m ensurepip
jython -m pip install robotframework

 

IronPython

.Net platform可以和c#或.net语言沟通的API,仅仅支持IronPython2.7

ipy -X:Frames -m ensurepip
ipy -X:Frames -m pip install robotframework

 

PyPy下安装

pypy -m ensurepip
pypy3 -m ensurepip

pypy -m pip install robotframework

pypy3 -m pip install robotframework

 

安装方式:

# Install the latest version
pip install robotframework
# Upgrade to the latest version
pip install --upgrade robotframework
# Install a specific version
pip install robotframework==2.9.2
# Install separately downloaded package (no network connection needed)
pip install robotframework-3.0.tar.gz
# Uninstall
pip uninstall robotframework
# Install 3.0 beta 1
pip install robotframework==3.0b1# Upgrade to the latest version even if it is a pre-release
pip install --pre --upgrade robotframework

验证安装

rebot --version有正确版本号输出

运行:

命令行语法格式:

robot [options] data_sources
python|jython|ipy -m robot [options] data_sources
python|jython|ipy path/to/robot/ [options] data_sources
java -jar robotframework.jar [options] data_sources

RFT3.0以前的使用pybot,jybot,ipybot来执行,执行方式类似

比如我们的测试基于

pybot --variable MUT1:XXX --include=TAGGS -d testreport_Dir TestDir

如果想执行某一些测试,可以指定文件或目录执行如下:

robot tests.robot
robot path/to/my_tests/
robot c:\robot\tests.robot

也可以同时执行多个文件或目录,也支持通配符执行

robot my_tests.robot your_tests.robot
robot --name Example path/to/tests/pattern_*.robot

这篇关于RobotFramework框架系列 – 介绍篇的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1081313

相关文章

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

基于Flask框架添加多个AI模型的API并进行交互

《基于Flask框架添加多个AI模型的API并进行交互》:本文主要介绍如何基于Flask框架开发AI模型API管理系统,允许用户添加、删除不同AI模型的API密钥,感兴趣的可以了解下... 目录1. 概述2. 后端代码说明2.1 依赖库导入2.2 应用初始化2.3 API 存储字典2.4 路由函数2.5 应

Python GUI框架中的PyQt详解

《PythonGUI框架中的PyQt详解》PyQt是Python语言中最强大且广泛应用的GUI框架之一,基于Qt库的Python绑定实现,本文将深入解析PyQt的核心模块,并通过代码示例展示其应用场... 目录一、PyQt核心模块概览二、核心模块详解与示例1. QtCore - 核心基础模块2. QtWid

MySQL中慢SQL优化的不同方式介绍

《MySQL中慢SQL优化的不同方式介绍》慢SQL的优化,主要从两个方面考虑,SQL语句本身的优化,以及数据库设计的优化,下面小编就来给大家介绍一下有哪些方式可以优化慢SQL吧... 目录避免不必要的列分页优化索引优化JOIN 的优化排序优化UNION 优化慢 SQL 的优化,主要从两个方面考虑,SQL 语

C++中函数模板与类模板的简单使用及区别介绍

《C++中函数模板与类模板的简单使用及区别介绍》这篇文章介绍了C++中的模板机制,包括函数模板和类模板的概念、语法和实际应用,函数模板通过类型参数实现泛型操作,而类模板允许创建可处理多种数据类型的类,... 目录一、函数模板定义语法真实示例二、类模板三、关键区别四、注意事项 ‌在C++中,模板是实现泛型编程

Python实现html转png的完美方案介绍

《Python实现html转png的完美方案介绍》这篇文章主要为大家详细介绍了如何使用Python实现html转png功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 1.增强稳定性与错误处理建议使用三层异常捕获结构:try: with sync_playwright(

Java使用多线程处理未知任务数的方案介绍

《Java使用多线程处理未知任务数的方案介绍》这篇文章主要为大家详细介绍了Java如何使用多线程实现处理未知任务数,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 知道任务个数,你可以定义好线程数规则,生成线程数去跑代码说明:1.虚拟线程池:使用 Executors.newVir

最新Spring Security实战教程之Spring Security安全框架指南

《最新SpringSecurity实战教程之SpringSecurity安全框架指南》SpringSecurity是Spring生态系统中的核心组件,提供认证、授权和防护机制,以保护应用免受各种安... 目录前言什么是Spring Security?同类框架对比Spring Security典型应用场景传统

JAVA SE包装类和泛型详细介绍及说明方法

《JAVASE包装类和泛型详细介绍及说明方法》:本文主要介绍JAVASE包装类和泛型的相关资料,包括基本数据类型与包装类的对应关系,以及装箱和拆箱的概念,并重点讲解了自动装箱和自动拆箱的机制,文... 目录1. 包装类1.1 基本数据类型和对应的包装类1.2 装箱和拆箱1.3 自动装箱和自动拆箱2. 泛型2

Python结合Flask框架构建一个简易的远程控制系统

《Python结合Flask框架构建一个简易的远程控制系统》这篇文章主要为大家详细介绍了如何使用Python与Flask框架构建一个简易的远程控制系统,能够远程执行操作命令(如关机、重启、锁屏等),还... 目录1.概述2.功能使用系统命令执行实时屏幕监控3. BUG修复过程1. Authorization