一、关键字(Keyword)根据架构的区分可分为以下三层结构:

底层关键字、公共层关键字、特性关键字。

底层关键字一般与最底层的代码在关系,为上层公共关键字和特性关键字提供接口。

公共层关键字:一般是与程序具体功能关联的;

特性层关键字:一般是与具体业务关联的,也可以称做业务关键字。一般调用底层和公共层关键字。

二、 Ride 内置常用关键字

Log:  打印日志信息

Repeat Keyword:  重复执行某个关键字多少次

Run Keyword:  执行关键字

Run Keyword if:  满足条件时执行某个关键字

Run Keyword if Any Tests Failed:  测试套任务用例失败时,执行该关键字

Run Keyword if Test Failed:  测试用例失败时执行操作

Run Keyword if *:  一系例条件执行某种操作

Set Variable:  设置变量

Should Be True/Should Not Be True:  验证

Sleep:  等待时间

For:  执行循环

exit for loop/if:  推出循环。

三、手工用例转自动化

1.根据手动用例提取关键字

2.关键字优化,合并公共的关键字,定义参数和初始化条件等

3.组装关键字成用例

  • 手工测试思路:

  前置条件----->测试步骤------>结果验证

  • 自动化测试思路:

  初始化------>前置条件------->测试步骤-----(Y or N)----->结果验证--------->Finally

四、用例编写技巧总结

1.充分利用用例的setup和teardown

  • 测试套的suite setup和suite  teardown,在执行这个测试套开始和结束时的通用方法,一般可以为测试套用例的环境初始及清理操作。
  • 测试套的test setup和test teardown,该测试套中的每个用例的开始和结束操作,通常为用例级别的环境初始、清理或者恢复操作。
  • 测试用例的test setup和test teardown,为该用例的在执行的开始和结束操作,通常为用例级别的环境初始、清理或者恢复操作。

如下图所示:

2.测试用例过程中失败尽量使环境恢复,以免影响后面的用例扫行。

3.用例有可能会失败的地方,需要考虑环境恢复操作

4.如果一个测试套的初始操作基本上一致,把该操作放在测试套或者第一个用例,不必每个用例都调用该方法

Robot FrameWork基础学习(三)的更多相关文章

  1. Robot Framework基础学习(一)

    Robot Framework语法学习: 一.变量的声明.赋值与使用 1.变量标识符:每个变量都可以用  变量标识符 ${变量名} 来表示. 2.变量声明:可以在TestSuite上点右键或者在Edi ...

  2. Robot FrameWork基础学习(二)

    在Robot Framework中,测试套件(Test Suite)主要是存放测试案例,而资源文件(Resource)就是用来存放用户关键字. 内部资源:Resource 外部资源: External ...

  3. Robot Framework基础学习(六)

    网页弹窗 参考:http://blog.csdn.net/Allan_shore_ma/article/details/65629246 常见的网页弹窗,有如下几类: alert ajax ifram ...

  4. Robot Framework基础学习(五)

    Selenium2Library 常用关键字介绍 关于Selenium2Library 的关键字,我们可以参考:http://rtomac.github.io/robotframework-selen ...

  5. Robot FrameWork基础学习(四) 元素定位

    元素定位 对于web自动化测试来说,就是操作页面的各种元素,在操作元素之间需要先找到元素,换句话说就是定位元素. Selenium2Library提供了非常丰富的定位器: 虽然提供了这么多种定位方式, ...

  6. Robot Framework语法学习(一)

    Robot Framework语法学习: 一.变量的声明.赋值与使用 1.变量标识符:每个变量都可以用  变量标识符 ${变量名} 来表示. 2.变量声明:可以在TestSuite上点右键或者在Edi ...

  7. Spring Framework基础学习

    Spring Framework基础学习 Core support for dependency injection,transaction management,web applications,d ...

  8. Python入门基础学习 三

    Python入门基础学习 三 数据类型 Python区分整型和浮点型依靠的是小数点,有小数点就是浮点型. e记法:e就是10的意思,是一种科学的计数法,15000=1.5e4 布尔类型是一种特殊的整形 ...

  9. Python基础学习三

    Python基础学习三 1.列表与元组 len()函数:可以获取列表的元素个数. append()函数:用于在列表的最后添加元素. sort()函数:用于排序元素 insert()函数:用于在指定位置 ...

随机推荐

  1. 实习日记)select option 选择不同的option时, 页面发生不同的变化

    怎么在下拉框的选择不同的option时, 页面发生响应的变化 因为option是没有点击事件什么的,  只有select才有, 所以不能通过option的点击事件来完成, 所以开始的尝试都失败了(之前 ...

  2. 这6种思维,学会了你就打败了95%文案!zz

    ​本文笔者为大家讲述了文案高手写文案时最常用的六种思维,这六种思维也都是文案新手容易入的坑. 有的人做了3,5年的文案,还是小白一个.而有的人短短1,2年的时间,却可以成为文案高手. 为什么? 我总结 ...

  3. 【浅墨Unity3D Shader编程】之三 光之城堡篇:子着色器、通道与标签的写法 & 纹理混合

    本系列文章由@浅墨_毛星云 出品,转载请注明出处.   文章链接:http://hpw123.net/a/C__/kongzhitaichengxu/2014/1117/120.html 作者:毛星云 ...

  4. 数据库中表的复杂查询&分页

    一.数据库中表的复杂查询 1)连接查询 1.0连接的基本的语法格式: from TABLE1 join_type TABLE2 [on (join_condition)][where (query_c ...

  5. 解析java.math.BigInteger类——构造函数

    最早由于做作业,结识了java的BigInrger类.读着读着,越来越觉得有趣.后来作业做完,也不忍丢下它,索性把全部代码研究一遍. 开始的时候,一个上午时间最多读懂2个方法.但是还是有滋有味的坚持了 ...

  6. 两个经典的文件IO程序示例

    前言 本文分析两个经典的C++文件IO程序,提炼出其中文件IO的基本套路,留待日后查阅. 程序功能 程序一打印用户指定的所有文本文件,程序二向用户指定的所有文本文件中写入数据. 程序一代码及其注释 # ...

  7. cocos2d-x lua 中使用protobuf并对http进行处理

    cocos2d-x lua 中使用protobuf并对http进行处理 本文介绍 cocos2d-x lua 中使用http 和 基于cocos2d-x 对lua http的封装(部分ok) 本博客链 ...

  8. duplicate symbols for architeture arm64 linker command failed with code 1(use-c to see invocation)

    duplicate symbols for architeture arm64  linker command failed with code 1(use-c to see invocation) ...

  9. EasyPusher手机直播编码推送之图像旋转90度后画面重复的问题

    本文转自EasyDarwin开源团队开发Holo的博客:http://blog.csdn.net/holo_easydarwin 最初在做EasyPusher手机直播的时候遇到过一个问题:手机竖屏推送 ...

  10. Vue中data重置问题

    Object.assign() Object.assign()方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象.它将返回目标对象. 目标对象有1个,后边可以有多个源对象.注意他只会拷贝源对 ...