声明:本笔记都只是自己根据大牛虫师的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. Linux基础命令---chown

    chown 改变文件或者目录的所有者,或者所属的群组.如果只给出一个所有者(用户名或数字用户ID),则该用户将成为每个给定文件的所有者,并且文件的组不会被更改.如果所有者后面跟着冒号和组名(或数字组I ...

  2. Java高并发高性能分布式框架从无到有微服务架构设计

    微服务架构模式(Microservice Architect Pattern).近两年在服务的疯狂增长与云计算技术的进步,让微服务架构受到重点关注 微服务架构是一种架构模式,它提倡将单一应用程序划分成 ...

  3. Js中String转int

    Js中String转int 方案一代码: Number(str) 方案二代码: //parseInt 方法都有两个参数, 第一个参数就是要转换的对象, 第二个参数是进制基数, 可以是 2, 8, 10 ...

  4. 20145331魏澍琛《网络对抗》Exp8 Web基础

    20145331魏澍琛<网络对抗>Exp8 Web基础 实践内容: 1.简单的web前端页面(HTML.CSS等) 2.简单的web后台数据处理(PHP) 3.Mysql数据库 4.一个简 ...

  5. 写Java代码的一些小技巧

    写Java代码有三年多了,遇到过很多坑,也有一些小小的心得.特地分享出来供各位学习交流.这些技巧主要涉及谷歌Guava工具类的使用.Java 8新特性的使用.DSL风格开发.代码封装等技巧. 一.nu ...

  6. 「不定期更新」MacOS 编辑器使用小技巧

    Visual Studio Code Ctrl + CMD + 上下箭头:上下移动当前的代码块: Shift + Alt + 上下箭头:快速复制当前的代码块: 我最新欢的插件列表: Prettier: ...

  7. SpringBoot中使用mybatis-generator自动生产

    步骤: 1.在pom.xml中添加插件配置 <plugin> <groupId>org.mybatis.generator</groupId> <artifa ...

  8. VS2017无法启动程序 操作在当前状态中是非法的

    工具--选项--调试--常规--启用asp.net的JavaScript调试(chrome和ie)去掉勾选

  9. Tempter of the Bone(dfs+奇偶剪枝)题解

    Tempter of the Bone Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Othe ...

  10. Oracle 存储过程入门(一)

    一,基本入门介绍 公司系统需要用到oracle,可是还没在项目用过oracle,好吧,从基本学起.有问题的地方,欢迎指导啊. 看创建存储过程的基本定义.注意,带有[]的都是可选的,可有可无的.只是语法 ...