robot framework 是一个通用型的自动测试框架javascript
- 自动测试用例的实现方式html
- 自动测试用例的开发支持 : IDE、库java
- 和用例管理系统的集成python
- 测试执行:相关测试套件和测试用例的执行规则;初始化和清除;测试报告。web
测试数据文件对应一个个的测试用例,测试数据文件里使用的功能小模块叫关键字,由测试库实现。chrome
robot framework加载测试库,并解释执行Test Data也是测试用例。api
以关键字的形式来开发测试用例:浏览器
- 标准库提供了经常使用功能cookie
- 第三方扩展库框架
- 开发者根据产品自行开发库:自动化框架、库开发者;自动化用例开发者。
测试库:
RF有自带的测试库,实现最核心、最经常使用的功能。好比:检查点判断、循环、判断逻辑、获取时间等
也有第三方开发好的库,好比:咱们要测试web应用,就有。
也有咱们本身开发的,好比:要测试web api ,若是无第三方现成的,就本身开发
robot framework加载测试库并解释执行测试用例:
特色是:
- 提供简单易懂的表格式的‘语言’来开发自动测试用例
- 它的标准库提供了经常使用功能,以关键字keyword的形式来开发测试用例
关键字是RF开发的核心,关键字就指定了测试的一个个基本动做
- 开发人员划分
- 它定义灵活且易理解的测试用例执行控制,包括执行哪些用例,如何在执行用例先后进行初始化和清除环境
- 它能够方便挑选要执行的用例和套件(名称、标签过滤)
- 它有清晰的日志和报表功能
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
安装:
RF使用python开发的框架,以python库的形式安装
首先要确保python安装好,而且可执行目录(包含python和scripts的两个目录)都在path环境变量里面
RF支持python2和python3,和python3.6之后的版本
① 由于安装包是放在pypi仓库中,因此直接:pip install robotframework
② seleniumlibrary的安装:也叫seleniumlibrary的RF扩展库 pip install --upgrade robotframework-seleniumlibrary
③ pycharm的robot 用例标记插件的安装:推荐使用pycharm插件Intellibot,可以高亮显示各类语法
怎么安装?-》file--settings--plugins进去设置 安装IntelliBo和IntelliBot@SeleniumLibrary Patched
ride不推荐安装,缘由是:ride编辑器只支持Python2
④ *注意点* :之前作selenium自动化时,selenium须要知道webdriver程序的路径。而如今咱们导入的seleniumLibrary里面是没有指定路径的,所以解决办法是:在path环境变量里添加chromedriver的地址
若是在星星用例时,报path路径错误,建议能够把chromedriver.exe放到项目的根目录下
⑤ 测试用例执行:点击Terminal ,在里面输入 robot t1.robot,执行后会有输出、日志、报告。
实例:
*** Settings ***
Library SeleniumLibrary
*** Test Cases ***
百度搜索robot framework
Open Browser http://www.baidu.com chrome
Set Selenium Implicit Wait 5
Input Text id=kw robot framework
${firstRet}= Get Text id=1
Should Contain ${firstRet} Robot Framework
解释说明:这里包含了两种表Settings表和 Test Cases表;另外还有两个表 Variables表和Keywords表。
关键字其实就是对应了python或java里面的一个函数调用,实现一个基本的功能。
Open Browser ---- 打开浏览器 Set Selenium Implicit Wait ---- 设置浏览器等待时间
Input Text ---- 向文本框输入值 Should Contain ---- 验证是否包含
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
学会看关键字文档:能够连接到robotframework.org/SeleniumLibrary/SeleniumLibrary.html
SeleniumLibrary库:第三方开发者为RF专门开发了一个库,提供RF用例里面使用的关键字,能够自动化web操做。
SeleniumLibrary库也是基于Selenium的,它封装了Selenium操做到一些关键字中。
用法:在RF测试中,使用SeleniumLibrary,首先要使用该Library设置将库导入为任何其余库,该库接受一些导入时间参数。如: Library SeleniumLibrary
RF----经常使用关键字:
关闭浏览器 close Browser 或close All Browsers
浏览器最大化 Maximize Browser Window
设置浏览器窗口 宽、高 Set Window Size 800 600
点击元素 Click Element xpath=//*[@]
点击按钮 Click Button xpath=//*[@]
等待元素出现 Wait Unit Page Contains Element xpath=//*[@] 42 error
获取title Get Title
获取文本 Get Text xpath=//*[@] xxxx
获取元素属性值 Get Element Attribute id=kw@name
cookie处理:get cookies 得到当前浏览器的全部cookie
get cookie value Key_name --------- 得到cookie值,key_name表示一堆cookie中的key的name
add cookie Key_name Value_name ---------- 添加一对cookie
delete cookie Key_name ------------ 删除key为name的cookie信息
delete all cookies ----------- 删除电气概念浏览器全部的cookie
表单嵌套:Select Frame xpath=//*[@] ---------- 进入表单
Unselect Frame ----------- 退出表单
下拉框选择:Unselect From List By Value xpath=//*[@] value
注意:xpath=//*[@] 定位下拉框;value是选中下拉框里的属性值
执行javascript:Execute JavaScript ${"tootip"}.fadeOut()