研究RobotFramework

RobotFramework

使用RF有一段时间了,一些问题待明确,算是稍微深入一点的研究吧,有错误的欢迎指正哦/:

1.RobotFramework是什么? (ps: 说起这个主要是曾经面试被问到过一时短路想不起来><
■ 关键字驱动的自动化测试框架(关键字可自己写)
■ 基于python,支持各类python库
■ 输入:测试用例.txt .robot格式存储
■ 输出:测试执行报告、日志(HTML格式)
■ 灵活易于扩展,适用于有不同接口的复杂软件:命令行、用户接口、web服务接口等
■ 提供远程测试执行接口,可以进行分布式测试执行(如和jenkins搭配使用)

2.关键字驱动?
■ 数据驱动:从数据文件中读取输入的测试数据,用便来给你作为测试脚本的输入--数据和测试脚本分离开;
■ 关键字驱动:从面向对象出发,相同的逻辑被分为一个类/函数,被不同的测试脚本调用,这个类/函数就是关键字;

3.在RF中,什么可以作为关键字?
■引入的library中的api,比如RF默认可调用python库,sleep即可作为一个关键字

sleep作为关键字

■自写的api可作为关键字,即使其作为库被引入(如下图,‘开始’方法的原型在source.txt中,在图2中被调用)
source.txt

图2-'开始'为自写的关键字

4.关键字驱动的测试框架组成?运行原理?
■组成:核心数据驱动引擎、成员函数库、测试表、映射表;
比如,现在要实现一个测试套,完成通过AppiumLibrary库,启动安装在Android手机上的指定apk,并检查页面元素,要如何实现?通过此实例来理解关键字驱动的框架:
//case.txt如下:

图1

//sourse.txt如下:
图2

RF的目录结构是:directory->test suit->case,图1展示的是一个case中的一条用例;

■映射表:如图,最后检查元素时,如何确定com.yoosal.kanku:id/txt_title能和页面元素匹配上呢?这里是利用AppiumLibrary来将元素id和页面元素匹配上的,故,可以理解为,映射表提供了对象识别的仓库;

■测试表:图2是一张低层的测试表,图1可理解为中层的测试表,如果在case之上还有test suit目录,那么其就是高层测试表;低层测试表指定了测试的每一步指令语句,这些指令都是直接作用在界面对象上的,是无法再细化的指令,比如‘结束’指定的指令就是Close Application,这条指令无法再细化了;中层测试表把低层表组装起来执行任务,形成测试用例;高层测试表把中层表组装起来,利用循环完成不同的中层测试,形成测试集。

■核心数据驱动引擎:对应测试表,核心数据驱动引擎相应地分成高层、中层、低层驱动器。高层驱动循环读取高层表的每条记录,遇到中间表的关键字,就把这个表传递给中层驱动器,依次类推直至到达低层表,低层驱动器来完成最后的执行。

■成员函数库:顾名思义,像是sleep、或者是自己写的一些api,一起组成了一个底部函数库,供不同对象调用。

5.每一条用例都可设置:tags,timeout,template,这些字段怎么用的?
■Tags:标记某个测试用例,在Run区中Only Run Tests with these Tags和Skip Tests with these Tags,会通过这个标志位来识别是否运行或跳过用例。
■Timeout:设置每一个测试案例的超时时间,只要超过这个时间就会失败,并停止案例运行。这是防止某些情况导致案例一直卡住不动,也不停止也不失败。
■Template:测试模版,可以指定某个关键字为这个测试套件下所有TestCase的模版,这样所有的TestCase就只需要设置这个关键字的传入参数即可。

6.RF中的变量作用域有哪些?
■变量赋值(set赋值):¥{logfile} set variable c:\log
■变量作用域(通常情况下,每个变量默认都是局部变量)
临时变量: ¥{logfile} set variable c:\log 只在当前作用域生效
1.Set Global Variable ——设定全局级变量,作用域是全局;
2.Set Suite Variable ——设定suite级变量,作用域是suite内部;
3.Set Test Variable ——设定case级变量,作用域是case内部;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容