Robot Framework测试

知识点

1. 了解什么是 TDD、BDD、ATDD

2. 为什么选择Robot Framework

3. 安装 Robot Framework 以及常用模块

4. Robot Framework测试架构


TDD

Test Driven Development(测试驱动开发)有别于传统技术人员开发常常一头钻进去撰写代码,TDD 鼓励在接收到功能需求时优先思考如何测试,譬如网站登入功能必须区分用户是否曾经注册、登入失败显示的讯息、失败次数过多时(可能是攻击行为)的措施等,TDD 常常拿来跟 User Story(用户叙述)一起使用,经由整体思考测试流程后再投入程序开发,减少开发途中遗漏重要功能。

BDD

Behavior Driven Development (行为驱动开发)是一种敏捷软体开发的技术,它鼓励软体项目中的开发者、QA和非技术人员或商业参与者之间的协作。主要是从用户的需求出发,强调系统行为。BDD最初是由 Dan North 命名,它包括验收测试和客户测试驱动等的极限编程的实践,作为对测试驱动开发的回应,这篇文章是 Dan North 本人对于 BDD 提出的实例。

ATDD

Aceptance Test Driven Development (验收测试驱动开发)

TDD基本上只跟开发人员有关,如果对功能需求理解错误,还是会浪费不少时间资源,所以用户/PM、RD、QA需要坐下来一起讨论制定验收 Test Case (测试案例),ATDD的重点不在 How (如何完成功能),而是 What (要达到什么功能),更重要的是测试案例是使用者最后要验收的方式,所以使用者要看的懂,这也是本实验介绍 Robot Framework 的主因。


 Robot Framework是基于python的测试框架,基本上python能做到的事情它都能做到,既然如此为什么我们不直接使用python呢? 因为ATDD主要主角是没有技术经验的用户,怎么利用好懂的自然语言让用户可以参与到测试流程之中就是Robot Framework 的一大卖点。


安装 Robot Framework 以及常用模块


 1. sudo pip install robotframework(如果提示超时 多运行几次)

2. sudo pip instal lrequests robotframework-requests--upgrade(如果提示超时 多运行几次)

3. 产生 requirements.txt ,以后每次作实验就可以一个指令安装完所有需要的套件

 3.1 echo-e"robotframework >= 3.0.2\nrequests > 2.2.0\nrobotframework-requests > 0.4.3"> requirements.txt

3.2  sudo pip install -r requirements.txt --upgrade

4. 确认安装成功: robot --version


Robot Framework测试架构

Robot Framework 基于 python ,由 Test Libraries 提供的API测试不同的应用,基本上它可以做所有 python可以做的事,不同点是 Robot Framework 将 Library 、 Test Cases、Data 之间利用关键字的概念介接起来,发挥 ATDD 将技术跟非技术人员讨论整合的基础,由用户发起需求,工程师实作功能关键字,再交由 QA 用关键字拼凑出测试实例交付用户实施验收测试


架构图

代码架构

1. 设置(Settings)

  设置整个 Test Suite (测试套件)的相关资讯、包含库等等,也可以用Resource来引入自己写的 robot 档案,單行註解是以#開頭。

*** Settings ***

Documentation    A hello world test suite for Shiyanlou

...              Just output some message on console

Library    String

#Resource    keyword.robot

2. 变量(Variables)

  在这个区域中可以定义变量,如果在 Keywords 或是 Test Cases 就必须使用Set Variable关键字,可定义一般变量或是 Dictionary (字典)。特别要注意的是 Robot Framework 变量名称并不含大小写跟下划线,${showMessage}、${show_message}、${Show_Message}都代表相同的变量。

*** Variables ***

${ACTION}    hi

@{MESSAGES}    world    yhy

3. 关键字(Keywords)

  关键字设计是 Robot Framework 的核心,可以在关键字中再利用其他关键字组成复杂的动作,类似函数的概念,[Arguments]可带入变量,而[Return]可将变量带出关键字。

*** Keywords ***

Print Welcome Message

[Arguments]    ${act}    ${message}

Log To Console    ${act} ${message}!!

[Return]    Success

4. 测试案例(Test Cases)

  测试案例一般依照 User Story 撰写,一如验收系统功能的精神是在不知道系统的介面及实作细节的前提下,用户或 QA 一样知道系统该做什麽。因此,把系统功能步骤以自然语言的描述方式留在 test case 层级,实作细节留在 关键字 / 库,并把常用的实作细节抽出来方便重複引用。注意测试案例是循序由上执行到下,所以测试案例之间的状态跟资料会影响到测试结果。

*** Test Cases ***

Should See Welcome Message and Result

:FOR  ${message}  IN  @{MESSAGES}

\    ${result} =    Print Welcome Message    ${Action}    ${message}

\    Log To Console    Result: ${result}


库OperatingSystem读取本机的档案所以需要;

库RequestsLibrary是专门用来处理 HTTP Request 的;

Suite Setup 测试套件setup

http://www.cnblogs.com/laoqing/p/7192301.html

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

推荐阅读更多精彩内容