robot ride edit 页面不显示_【框架】robot-framework预研

隔壁组在使用robot framework进行自动化测试,这玩意之前我没接触过,决定来预研一下这个auto test框架。

背景

一个好的框架,背后少不了一个牛逼的团队或组织(金主爸爸),也是判断是否值得投入时间学习的一个参考因素(虽然强如塞班系统也有淘汰的一天)。
Robot Framework官网对它的定位是一个通用的开源的auotomation framework,托管在github上。既然是开源的,那么应该有类似基金会的组织来维护,没错,确实是一个叫做 Robot Framework Foundation的基金会(https://robotframework.org/foundation/)。
这个基金会的成员我看了下,在众多公司logo中我只认出了Nokia...,不过我查了一下其它也都是欧美知名企业,所以实力还是不容小觑。然后我发现,原来这个框架最初是Nokia公司开发的,不过在2008年将它开源了。

基本认知

那么来了解下这个框架的一些基本知识。
1.Robot Framework的core是使用Python语言实现的,所以要使用Robot Framework,得在本地安装Python环境才行。
2.Robot Framework可以运行在Python(c语言写的解释器)或者Jython(Home)或者IronPython上。
Python语言是解释执行的,那就得有对应的解释器了,一般使用的是c语言写的解释器,然而还有其他解释器比如Jython,就是用java语言实现的Python解释器(使用哪种下文阐述)。
3.Robot Framework的调用机制,见下图(http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html).

07fdd5c42d12128b104393344c435799.png
robot framework 架构图(详情见官网user guide 1.1.2)

set up环境

  • 安装python
Robot Framework是使用Python实现的框架,所以肯定得安装Python环境。(1)这里涉及到使用哪一种Python解释器的问题,c语言写的Python解释器?Jython?...官网的解释是这取决你所需的test libraries和test environment,毕竟有的test libraries
只能运行在Jython上。当然,也有一些libraries和tools可以很好的运行在所有解释器上。比如,如果你
要测试的系统是有ui界面的,那么你可能就得需要a这个test libaries,而a库又是python写的;或者你
要测试数据库,需要用到b库,b库是java写的...
如果没有特殊需求,官网提倡安装的是Python(c语言写的解释器),因为这个相比其它是最成熟的实现。(2)那安装Python2还是3呢?
这个就取决于你安装的Robot Framework版本了,官网原话如下:
Robot Framework 3.0 supports Python 2.6, 2.7, 3.3 and newer, but the plan is to 
drop Python 2.6 and 3.3 support in RF 3.1. If you need to use older versions, 
Robot Framework 2.5-2.8 support Python 2.5 
and Robot Framework 2.0-2.1 support Python 2.3 and 2.4.所以看着办就行。记得配置环境变量。
  • 安装Robot Framework
(1)pip方式
(2)source方式
(3)jar方式
(4)手动定制化方式官网推荐的是pip的安装方式。
  • 安装wxPython
这是Python实现的一个GUI库,由于RIDE编辑器是使用该python库实现的,所以需要安装。既然是python库,那么肯定可以通过pip安装。或者上官网(http://www.wxpython.org/download.php)
下载安装。
  • 安装RIDE
   这个一个图形化的编辑器,使用该编辑器可以简化写robot framework测试case,提升效率,
类似IDE的功能,除非你想完完全全一行一行的敲代码,类似你不使用IDE去写java程序那样,
否则就得安装这个。
同样可以通过pip方式或者官网(https://pypi.python.org/pypi/robotframework-ride)下载安装。安装完后本质是执行ride.py启动。
  • 验证安装
使用:
robot --version会输出相关版本信息,比如我在mac下:
Robot Framework 3.0 (Python 2.7.16 on darwin)windows同理:
Robot Framework 3.0.4 (Python 2.7.16 on win32)
  • tips
安装过程中出现最多的问题就是软件版本之间兼容的问题,所以出现问题可以往这方面着手。
  • 一些概念
1.关键字驱动robot framework是关键字驱动的,比如 log xxx, 这里的log就是关键字。
也经常说到test libraries,那他们是什么关系呢?其实这些关键字都定义在test libraries里。
test libraries有三种来
源。
一种就是built-in的,robot framework事先内部定义好的,比如log这个关键字就是built-in库定义的。
一种是第三方开发的test libraries.
还有一种就是自定义的test libraries(没有第三方轮子可以用只能自己搞了).这个其实就和java一样,这个是通性的东西。(编程思想果然一脉相承)。有哪些关键字可以用以及关键字的具体用法,这个可以借助ride界面的Tools->Search Keywords工具搜索。2.什么是test suite测试领域中经常会碰到的概念就是test case和test suite.
其实test suite就是对test case的一个逻辑上的一个分组分类。对于robot framework来说,物理上test file是test case的直接载体,官网推荐的是
一个test file中一般定义的test case不要超过10个。test suite的物理形式可以很多了,
一个 test file是最小单元的test suite,一个
test directory也是一个test suite。在test directory下可以直接挂test file
或者test directory...
所以test suite存在分层级的概念的。实际中最外层的test directory就是最顶层的test suite。

Hello world

mac os系统下为例子。
  • step 1
终端下输入ride.py打开ide。
  • step 2
File->New Project。
弹出对话框。这里Type为了方便,直接就File类型了。(实际中根据需要决定)Format这里选择ROBOT.

1590a5594af198405c850d43b9676ad1.png
对话框
  • step 3
编写测试用例。选中test file右键选择new test case。选择生成的test case,在test case右边的test table写该测试用例。

a978e52429c7c6e1a15d0aee94e62c0a.png
hello world
  • step 4
运行该测试用例。标签页中选择Run,运行测试用例。

8a9b27298cc8224b91867fda27ef8202.png
运行测试用例

预研后感

1.对于国内互联网公司来说,robot framework的使用貌似并不常见。在之前,我觉得单元测试框架
例如JUnit,testNG已经能够满足coder测试的需求。
2.robot framework主要还是用作功能测试,集成测试,黑盒子测试。如果一个项目或者产品生命周期很长,
那么长远来看,还是值得的,但是前期需要投入时间和人力。
而JUnit等单元测试更偏向于是白盒测试。

reference:

1.https://robotframework.org/#examples
2.官方user guide:
http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html

觉得本文对你有帮助,不妨点个赞和关注!!!

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

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

相关文章

php 任意字符串_php 生成任意长度字符串的类(只含有数字 只含有字母 混合数字和字母)...

[php]代码库/** 生成随机字符串的类,默认只包含数字、大小写字母*/class randomString {/** 生成的字符串包含的字符设置*/const NUMERIC_ONLY 1; //只含有数字const LETTER_ONLY 2; //只含有字母const MIXED 3; //混合数字和字母/** 用户传入变量,分…

explode php 报错,ecshop在php5.4下报错怎么办

ecshop在php5.4下报错的解决办法:1、打开“cls_template”文件,并修改“$tag_selarray_shift(explode( ,$tag));”;2、修改“static”;3、修改cls_captcha文件。本教程操作环境:windows7系统、PHP5.4版、Dell G3电脑。…

sql 相加_SQL经典题型

SQL内容及常见面试题如下:以下为具体的面试题内容和答案一、简单查询题目查询姓“猴”的学生名单查询姓名中最后一个字是“猴”的学生名单查询姓名中带“猴”的学生名单查询姓“孟”老师的个数二、汇总分析题目查询课程号为“0002”的总成绩查询选了课程的学生人数查…

基于stm32f429的手写识别_关注智能手机老年用户:百度输入法手写模型迎来重磅升级...

智能手机的快速普及让很多人都已经习惯于任何事情都用手机办理,不仅外出买东西、乘坐公共交通可以使用智能手机支付,同时一些与工作、政务相关的事情也可以在智能手机端完成,而社交工具更是让人们几乎已经不再使用短信、电话功能,…

Html页面上输出不了PHP,在页面上直接输出未经解析的HTML源码

摘要&#xff1a;<?php $str6$我在\php中文网\学习 PHP 和 HTML &#xff0c;目前我还是&小白&。;echo $str6,;//\, 、$str6$我在\php中文网\学习 PHP 和 HTML &#xff0c;目前我还是&小白&。;echo $str6,;//\, 、标签、&等均被解析输出echo htmlspec…

vue created 调用方法_vue 基础-生命周期 lifecycle 的执行顺序和作用

前言《vue 基础》系列是再次回炉 vue 记的笔记&#xff0c;除了官网那部分知识点外&#xff0c;还会加入自己的一些理解。(里面会有部分和官网相同的文案&#xff0c;有经验的同学择感兴趣的阅读)平时开发中&#xff0c;我真的不太使用生命周期相关的方法。但必须明确的是&…

vba 提取 json某个值_Excel中提取不重复值的方法汇总(5种基础+VBA+1个自定义函数)...

各位朋友&#xff0c;你们好&#xff0c;今天和你们分享Excel中提取不重复值的几种方法&#xff0c;着重介绍【5种】基础操作方法&#xff0c;另外附送一个VBA去重代码&#xff0c;拿去就可以直接使用。一、基础操作方法1、数据工具直接去重(见下图)数据工具去重2、高级筛选(见…

tomcat temp 大量 upload 文件_原创 | 浅谈URI中的任意文件下载

点击上方蓝字 关注我吧引言文件下载是比较常见的业务。常见的接口格式为/download?fileNamexxx.png,整个过程若没过滤目录穿越符号…/或者未对下载的路径进行处理限制。当传入的filename参数为../../etc/passwd即可穿越路径达到任意文件下载的效果。有些接口在尝试获取某一文件…

win10虚拟内存怎么设置最好_淘宝直通车时间段怎么设置?哪个时间段开最好?...

大家好&#xff0c;我是西瓜电商培训的子木。淘宝直通车一直都是商家们最受关注的一款推广工具&#xff0c;开过直通车的商家应该都知道在开直通车的时候是可以通过自己设定时间和金额的&#xff0c;所以很多商家可能会根据每天店铺的流量时间段来分析开车投入&#xff0c;商家…

笔记本屏幕出现横条纹_笔记本支架+拓展坞+立式无线充:给你的桌面一个简单的品质升级...

一、写在前面如果每个女孩都想拥有一个自己的衣帽间的话&#xff0c;每个喜欢科技的男孩&#xff0c;都想拥有一个属于自己的书房或者说游戏间&#xff0c;而这其中书桌是陪伴我们最多的地方&#xff0c;怎么打造一个舒适好用的桌面&#xff0c;让桌面简单而有品质呢&#xff0…

excel 公式 单引号 concat_从Excel的数据类型说Python

转自&#xff1a;可乐的数据分析之路写在前面这节内容是python基础知识中的数据类型和运算符&#xff0c;可以回顾一下前两篇文章来复习一下&#xff1a;利用Excel学习Python&#xff1a;变量利用Excel学习Python&#xff1a;准备篇本来想分开写的&#xff0c;但发现好像分不开…

xx是一个类型 这在给定的上下文_BERT, ELMo, amp; GPT-2: 这些上下文相关的表示到底有多上下文化?...

作者&#xff1a;Kawin Ethayarajh编译&#xff1a;ronghuaiyang &#xff08;AI公园&#xff09;具有上下文信息的词表示到底有多大程度的上下文化&#xff1f;这里给出了定量的分析。将上下文信息放到词嵌入中 — 就像BERT&#xff0c;ELMo和GPT-2 — 已经证明了是NLP的一个分…

不是有效的win32应用程序_杀毒软件有坑!三分之二的安卓杀毒软件的“主业”并不是杀毒...

更多全球网络安全资讯尽在E安全官网www.easyaq.com小编来报&#xff1a;奥地利杀毒测试机构AV-Comparatives研究发现&#xff0c;大约三分之二的安卓杀毒软件并没有合格的杀毒功能&#xff0c;它们都是披着羊皮的狼&#xff01;据外媒报道&#xff0c;奥地利杀毒测试机构AV-Com…

phpfpm内存越来越高_硬件集成度越来越高 未来DIY玩法方向已定?

【PConline 杂谈】前一阵子&#xff0c;英特尔发布了他们家的黑科技处理器&#xff0c;代号为Lakefield。能称得上黑科技那肯定是有点东西的&#xff0c;这款处理器采用了3D封装工艺&#xff0c;将内存颗粒也封装进处理器里面。这样的话处理器、内存和显卡这些大件都集成在一块…

苹果6可以分屏吗_榨苹果汁可以加蜂蜜水吗?蜂蜜苹果汁的作用

榨苹果汁可以加蜂蜜水吗?蜂蜜苹果汁的功效鲜榨果汁是很多人都喜欢的饮品&#xff0c;现在生活水平都比较好了&#xff0c;大家也可以在家中自己榨果汁喝&#xff0c;苹果汁是很多人的第一选择&#xff0c;那榨苹果汁可以加蜂蜜水吗?榨苹果汁可以加蜂蜜水&#xff0c;苹果营养…

mysql5.5索引,MySQL--5索引选择原则

大家好我是安小生&#xff0c;这篇文章讲述索引的选择原则。1.explain分析语句。explain&#xff1a;通常是用于sql语句性能分析。举个栗子&#xff1a;explain select * from user where name "张三"我们来看一下explain 查询出来的字段都是什么&#xff1f;id:sel…

winform 鼠标 静止时间_赢得电竞的奥秘,你需要一块好鼠标垫

如今&#xff0c;电竞游戏成为很多PC用户喜爱的娱乐“运动”&#xff0c;这使得相关PC电竞外设流行起来&#xff0c;耳机、音箱、鼠标、鼠标垫都成为电竞用户追求的产品。然而对于职业选手、电竞玩家而言&#xff0c;除了一款性能出色的鼠标外&#xff0c;搭配一款合适的鼠标垫…

IAR在写结构体时不提示_智能物流装车系统的结构优化与改进

文&#xff5c;滇西应用技术大学管理学院鄢良国、姚敏、孙荷琴、杨晓滇西应用技术大学基础实验实训中心朱丹智能物流装车系统主要用于烟草生产基地和物流配送中心之间往返运输的自动化装车业务中。本文针对智能物流装车系统会损坏外层箱体的现象&#xff0c;对结构进行了具体分…

python模块管理工具,Python的包管理工具

Python的包管理工具python包管理工具python包管理工具简介distribute是setuptools的取代&#xff0c;pip是easy_install的取代。Distribute是对标准库disutils模块的增强&#xff0c;我们知道disutils主要是用来更加容易的打包和分发包&#xff0c;特别是对其他的包有依赖的包。…

循环机换变速箱油教程_水箱内全是油, 变速箱内全是水!看师傅怎么修...

点击↑汽修案例关注置顶&#xff0c;获得正时大全识别添加汽配大师微信车主到店说变速箱顿挫太厉害了&#xff0c;像这种行驶8万多公里的车&#xff0c;变速箱油是主要检查对象&#xff0c;先放掉变速箱油&#xff0c;结果放出的油已经看不出油原来的样子&#xff0c;水和油的混…