声明:本笔记都只是自己根据大牛虫师的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. quartz-job实现实时或定时发送短信任务

    存放调度器(Job 和 Trigger)信息的xml配置文件: 这是某个指定的要实现的定时任务: <!-- 每天给项目经理发送短信避免短信服务挂了 定时每天08:30执行--> <j ...

  2. 04: python常用模块

    目录: 1.1 时间模块time() 与 datetime() 1.2 random()模块 1.3 os模块 1.4 sys模块 1.5 tarfile用于将文件夹归档成 .tar的文件 1.6 s ...

  3. 05: api认证

    1.1 api认证原理介绍 1.api认证原理:客户端生成秘钥 1) 客户端与服务器端有一个相同的字符串作为auth_key 2) 客户端使用encryption="auth_key|tim ...

  4. 20145304 网络对抗技术 逆向与Bof基础

    20145304 网络对抗技术 逆向与Bof基础 实践目标 学习以下两种方法,运行正常情况下不会被运行的代码: 手工修改可执行文件,改变程序执行流程,直接跳转到getShell函数. 利用foo函数的 ...

  5. 20145335郝昊《网络攻防》Exp5 MS08_067漏洞测试

    20145335郝昊<网络攻防>Exp5 MS08_067漏洞测试 实验内容 了解掌握metasploit平台的一些基本操作,能学会利用已知信息完成简单的渗透操作. 漏洞MS08_067: ...

  6. FSMC(STM32)

    (一)FSMC:Flexible Static Memory Controller,可变(灵活)静态存储控制器 小容量产品是指闪存存储器容量在1 6K至32K 字节之间的STM32F101xx.STM ...

  7. Git 同时与多个远程库互相同步

    情形:有两个git服务器,比如github,gitosc,有个项目同时在两个服务器上,要互相同步 其实命令还是比较简单的,比如一个现有的git项目,在github,gitosc中分别创建好对应的项目. ...

  8. Jackson 使用和注意项

    依赖maven: <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId ...

  9. HDU1540 Tunnel Warfare(线段树区间维护&求最长连续区间)题解

    Tunnel Warfare Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)To ...

  10. hibernate与mybatis的区别和应用场景

    mybatis 与 hibernate 的区别和应用场景(转) 1    Hibernate : 标准的ORM(对象关系映射) 框架: 不要用写sql, sql 自动语句生成: 使用Hibernate ...