声明:本笔记都只是自己根据大牛虫师的robot系列文档学习记录的,学习的话还请移步虫师博客:https://www.cnblogs.com/fnng/
非常感谢大牛的分享,带小白一步一步入门
 
F5:弹出帮助文档。search term:搜索关键字; source:选择相关库
测试项目与测试套件关系:
用例(test case)只能创建在file类型的测试套件(test suite)中
 

一、常用关键字:

1、“Set variable”:用它来定义变量
2、“Catenate”:连接多个对象,加上“SEPARATOR=”可以对多个连接的信息进行分割。
3、“Creat list”:定义列表 ,如果通过“@{}”去定义列表的话,可以通过“log many”关键字进行打印
4、“get time”“:获取当前时间 “sleep”:休眠时间
5、“run keyword if”:编写if分支语句
6、":FOR":定义for循环 "IN RANGE":用于指定循环的范围
遍历列表,通过":FOR"循环来遍历@{abc},“@{}”用来存放列表
 
"ExitFor Loop If":通过这个关键字进行for循环内的判断,满足ExitFor Loop If条件后,循环结束
7、“Evaluate”:通过它可以使用Python语言中提供的方法。比如:生成随机数,调用random模块下的randint()方法。
8、导入库:“Import Library”等于Python语言中的“import”,导入标准和第三方模块或框架
9、要定义数据类型可使用“Evaluate”,如下图:将4和5定义为int型
10、注释:“Comment”关键字用于设置脚本中的注释,也可以使用“#”号来注释

二、库介绍:

1、Screenshot库:是Robot Framework的标准库,但默认不会加载,需手动加载这个库
2、屏幕截图关键字:“Take Screenshot”
3、Collections库:也是Robot Framework的标准库,提供的关键字主要用于列表、索引、字典的处理,也是需要手动加载
4、创建字典关键字:“Create Dictionary”,字典的存放方式是key:value成对存放的
 
“Get Dictionary Keys”:获取字典中的key值
"Get Dictionary Items":获取字典中的索引key和value值
"Get Dictionary Values":获取字典中的value值
"Get From Dictionary":获取字典中指定的key对应的value值

三、RIDE面板介绍

1、Edit:导入库、导入外部资源、定义变量(公共)、定义列表变量、定义字典等
2、Test Edit:文本文档,查看Edit中的信息展示
3、Run:
  • 1、Execution Profile:运行方式,默认使用pybot来运行;custom script是自定义脚本;jybot需要安装Jython的支持
  • 2、Autosave:自动保存
  • 3、Arguments:pybot的参数(或者jybot)
  • 4、only run Tests with these tags:只运行这些标记的测试案例 ;skip...:跳过
4、setting-Documentation:用于描述用例的一个文本
TimeOut:设置用例超时时间
Template:指定模板使用的关键字
Tags:给用例打标签
5、用户关键字(User Keyword):在测试套件下创建的用户关键字与用例平级,可以直接使用,多个变量之间用“|”隔开
6、创建资源(resource):资源文件中存放通用性的用户关键字,在测试项目下创建的资源给测试套件中使用的时候需要先导入

四、扩展库Selenium2Library

selenium是非常流行的开源web自动化测试工具,用于web应用程序的自动化测试,支持所有基于web的管理任务自动化
1、Selenium2Library 库安装:pip install robotframework-selenium2library,安装完导入即可
如图:
备注:当一个关键字在两个库中都存在时,使用的时候带着库名就不会报错;蓝色表示该关键字存在,后面红色框表示参数必填;选中关键字点“Ctrl”可查看该关键字使用方法;不填浏览器类型的话默认是firefox
2、元素定位:
  • id和name定位:这两种方法简单实用,id和name要使用需在当前页面该属性唯一
  • Input Text是用于输入框的关键字;click button是点击按钮的关键字,如下图:
  • xpath定位:通过html的层级关系找到元素,xpath的定位方法网上有很多
  • CSS定位:使用的选择器为页面元素绑定属性,可灵活选择控件的任意属性。
3、Selenium2Library关键字:
  • 1、Open Browser:打开浏览器;需要装相应浏览器驱动,驱动应与自己浏览器版本对应
  • 2、Close Browser:关闭浏览器 ;Close All Browser:关闭所有浏览器
  • 3、Maximize Browser Window:浏览器最大化
  • 4、Set Window Size:设置浏览器宽和高; Get Window Size:获取浏览器宽和高
  • 5、Click Element:点击页面上的元素,如按钮、文字、图片、链接、复选框、下拉框等
  • 6、Wait Until Page Contains Element:等待页面上的元素显示出来
  • 7、Get Title:获取标题
  • 8、Get Text:获取元素的文本信息
  • 9、Get Element Attribute:获取元素的属性值;如 id=kw@name 表示id=kw这个元素的属性
  • 10、cookiec处理:
  • 11、should contain:验证如果 item1 不包含 item2 一次或多次,那么失败
  • 12、Select Frame:进入表单,后面跟要进入的表单定位;Unselect Frame:退出表单
  • 13、Unselect From List By Value:下拉框选择,后面跟下拉框定位和下拉框中的属性值
  • 14、Execute Javascript:用于调用JavaScript代码
如下图:自己用了几个关键字来执行:
 

robot framework学习笔记2的更多相关文章

  1. Robot Framework学习笔记(十一)------ 分层设计

    以百度搜索为例,如果我们需要写5个不同关键字搜索的用例.如果没有分层的思想,那么我们需要写5个用例,并且每个用例都需要重复写打开浏览器.输入关键字.点击按钮.关闭浏览器的步骤.如果使用Robot Fr ...

  2. Robot Framework学习笔记(十)------Selenium2Library库

    一.安装selenium2library库 如果已经安装了pip,则使用管理员模式打开windows命令行,输入pip install robotframework-selenium2library, ...

  3. Robot Framework学习笔记(八)------ride标签使用

    一.edit标签使用 1.导入库 点击 Edit 标签页右侧的"Library"按钮,来添加库.在添加库之前,首先库已经在 Python 下进行了安装.如,添加"Sele ...

  4. Robot Framework学习笔记(六)------RIDE界面说明

    RIDE是一款专门用来编辑Robot Framework用例的软件,用Python编写并且开源. 1.测试项目.测试套件Edit 标签 测试项目和测试套件所提供的 Edit 标签的功能是一样的. 在 ...

  5. Robot Framework学习笔记(五)------Collections 库

    Collections 库同样为 Robot Framework 标准类库,它所提供的关键字主要用于列表.索引.字典的处理. 1.添加类 在使用之前需要在测试套件(项目)中添加 2.创建字典 字典也是 ...

  6. Robot Framework学习笔记(四)------Screenshot 库屏幕截图

    Scrennshot 同样为 Robot Framework 标准类库,我们只将它提供的其它中一个关键字"TakeScreenshot",它用于截取到当前窗口. 1.导入Scren ...

  7. Robot Framework学习笔记(三)------常用关键字介绍

    下面关键字全部由 Builtin 库提供,Builtin 为 Robot Framework 标准类库.Builtin库提供常用的关键字 1.log log 关键字就是编程语言里的"prin ...

  8. Robot Framework 学习笔记(二)-------第一个脚本

    robot Framework环境搭建好之后先来一个简单的脚本跑一下 一.新建项目 二.新建测试套件  三.创建测试用例 四.导入Selenium2Library库 因为RF框架编写基于web 的测试 ...

  9. Robot Framework学习笔记(一)------环境搭建

    Robot Framework是一款python编写的功能自动化测试框架.具备良好的可扩展性,支持关键字驱动,可以同时测试多种类型的客户端或者接口,可以进行分布式测试执行. 所需环境 一.安装pyth ...

随机推荐

  1. PHP多进程处理并行处理任务实例(转,备用)

    本文目的本文通过例子讲解linux环境下,使用php进行并发任务处理,以及如何通过pipe用于进程间的数据同步.PHP多进程通过pcntl_XXX系列函数使用多进程功能.注意:pcntl_XXX只能运 ...

  2. maven parent工程.pom修改后未自动更新

    前两周,因为框架parent工程的pom文件做了一点变更,然后在测试服务器进行maven install的时候,死都找不到新的依赖,都把nexus翻了个遍,确定是最新的了,就是download不下来, ...

  3. nw.exe开发DEMO下载

    参考的原文链接:http://www.jianshu.com/p/7c66ee28ce51 最后,开发者怕你怀疑nw.js的强大,又提供了几个Demo和许多成功的案例来打消我们的顾虑.

  4. 20145331魏澍琛《网络对抗》Exp2 后门原理与实践

    20145331魏澍琛<网络对抗>Exp2 后门原理与实践 基础问题回答 (1)例举你能想到的一个后门进入到你系统中的可能方式? 上网时候弹出一个广告说你中奖了,或者你可以贷款10万元之类 ...

  5. NOIP 华容道

    描述 小 B 最近迷上了华容道,可是他总是要花很长的时间才能完成一次.于是,他想到用编程来完成华容道:给定一种局面,华容道是否根本就无法完成,如果能完成,最少需要多少时间. 小 B 玩的华容道与经典的 ...

  6. 不是最强大的vimrc

    一直都是使用vim作为我的主要编辑器,它大大提高了我的代码编辑效率.vim的配置高度灵活.插件丰富,恐怕100个人就有99种配置方法,网上关于vim配置的所谓“最强大的vimrc”之类的文章不少,博人 ...

  7. Linux 安装 mysql 转 http://www.cnblogs.com/fnlingnzb-learner/p/5830622.html

    到mysql官网下载mysql编译好的二进制安装包,在下载页面Select Platform:选项选择linux-generic,然后把页面拉到底部,64位系统下载Linux - Generic (g ...

  8. 论文笔记——MobileNets(Efficient Convolutional Neural Networks for Mobile Vision Applications)

    论文地址:MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications MobileNet由Go ...

  9. Java8的新特性,二进制序列转十进制数字

    package kata_007_二进制序列转十进制int; /** * java8 Lambda表达式转换binary序列->十进制数 */ import java.util.ArrayLis ...

  10. 04_Windows平台Spark开发环境构建

    Spark的开发环境,可以基于IDEA+Scala插件,最终将打包得到的jar文件放入Linux服务器上的Spark上运行 如果是Python的小伙伴,可以在Windows上部署spark+hadoo ...