声明:本笔记都只是自己根据大牛虫师的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. 【转】编程思想之多线程与多进程(3)——Java中的多线程

    <编程思想之多线程与多进程(1)——以操作系统的角度述说线程与进程>一文详细讲述了线程.进程的关系及在操作系统中的表现,这是多线程学习必须了解的基础.本文将接着讲一下Java中多线程程序的 ...

  2. Android实践项目汇报总结(下)

    微博客户端的设计与实现(下) 第四章 系统详细功能实现 本应用实现了如下主要模块:程序启动模块.登录授权模块.主界面显示模块撰写发表微博模块.用户发布信息模块.软件设置模块. 4.1程序启动模块实现 ...

  3. Python3基础 str 循环输出list中每个单词及其长度

             Python : 3.7.0          OS : Ubuntu 18.04.1 LTS         IDE : PyCharm 2018.2.4       Conda ...

  4. Django框架(四) Django之视图层

    视图函数 一个视图函数,简称视图,是一个简单的Python 函数,它接受Web请求并且返回Web响应.响应可以是一张网页的HTML内容,一个重定向,一个404错误,一个XML文档,或者一张图片. . ...

  5. mongodb 有一个坑 报错 no mongos proxies found in seed list

    mongoose 的报当我从 mongoose@4.5.2 升级到 mongoose@4.6.5的时候,出现了一个问题: Unhandled rejection MongoError: no mong ...

  6. windows下的gvim和emmet 下载和安装 + "omnifunc is not set" solution?

    注意几个地方: 引导键是ctrl-y, 其他就是实际的操作键了, 如: n下一个插入点, N是上一个插入点(不是p), ctrl-y + i是自动为图片添加宽度和高度尺寸, 要点是要把光标移动到 im ...

  7. Wireshark 捕捉本地数据 --WinPcap切换NPcap

    Wireshark默认匹配安装的是WinPcap,但是WinPcap有个缺点,不能抓取本地回环数据 NPcap是在WinPcap的基础上进行优化开发的,可以抓取本地数据 如果已安装WinPcap的请卸 ...

  8. LightOJ 1229 Treblecross(SG函数打表 + 遍历)题解

    题意:给你一串含“.”和“X”的字串,每次一个玩家可以把‘."变成“X”,谁先弄到三个XXX就赢.假如先手必赢,输出所有能必赢的第一步,否则输出0. 思路:显然如果一个X周围两格有X那么肯定 ...

  9. ACM-ICPC 2018 徐州赛区网络预赛A Hard to prepare(DP)题解

    题目链接 题意:有n个格子拉成一个环,给你k,你能使用任意个数的0 ~ 2^k - 1,规定操作 i XNOR j 为~(i  ^  j),要求相邻的格子的元素的XNOR为正数,问你有几种排法,答案取 ...

  10. IntelliJ-IDEA和Git、GitHub、Gitlab的使用

    一.基本入门 1.IntelliJ-IDEA预装的版本控制介绍 我们来看IntelliJ-IDEA的版本控制设置区域 打开File>Settings>Version Control  可以 ...