RobotFramework自动化测试框架系列学习----(二)库与关键字

一、类库和标准库

在RIDE中,按F5可查看库和关键字

标准库 (RF自带的库,不需要额外安装)

Buitln 测试库
Collections 集合库
DateTime 时间库
Screenshot 截屏库

存放位置:Python37\Lib\site-packages\robot\libraries

扩展库(需要通过pip额外安装的库)

web自动化测试:SeleniumLibrary 或 Selenium2Library
安装:pip install robotframework-seleniumlibrary
接口自动化测试:RequestsLibrary
安装:pip install robotframework-requests
app 自动化测试:AppiumLibrary
安装:pip install robotframework-appniumlibrary

存放位置:(Python安装路径)\Lib\site-packages

二、关键字

RobotFramework自动化测试框架系列学习----(二)库与关键字_第1张图片

部分介绍

1.定义变量        ${a}  Set Variable  100
2.打印信息        Log  ${a}
3.获得系统时间    ${time}  Get Time
4.字符串拼接,默认以空格拼接    ${str}  catenate  a  b  c
5.使用特定字符拼接(如用#拼接)  ${str}  catenate  SEPARATOR=#  a  b  c
6.创建列表,得到     
${a} = ['a', 'b', 'c']
${list}  Create List  a  b  c
Log  ${list}    # 和python一样的列表格式

7.另一种列表
@{list}  Create List  a  b  c     # 适合做循环
得到@{a} = [ a | b | c ]
需要用Log Many打印
Log Many  @{list}
打印出 a  b  c  三个单独的值

8.字典关键字,得到${dict} = {'name': '张三', 'age': '24'}
${dict}  Create Dictionary  name=张三  age=24

9.直接执行python的方法,modules相当于导包
${rand}  Evaluate  random.randint(1,100)  modules=random
${time}  Evaluate  time.time()  modules=time

10.可以使用这种方法获取字典的值
${value}    Evaluate    ${dict}.values()

11.执行py文件的方法
Import Library  py文件路径
${x}  Evaluate  int(10)
${y}  Evaluate  int(20)
${result}  sum  ${x}  ${y}    # sum是py文件中的方法,实现加法运算
Log  ${result}

12.流程控制if
Run Keyword If  ${score}<60  Log  不及格
...  ELSE IF  ${score<80}  Log  一般
...  ELSE  Log  优秀

13.for循环写法1
FOR  ${a}  IN  test  python  java
Log  ${a}
END

14.for循环写法2
@{list}  Create List  test  python  java
FOR  ${a}  IN  @{list}
Log  ${a}
END

15.for循环写法3
FOR  ${a}  IN  IN RANGE  1  11     # 相当于Python的 for a in range(1,11)
Log  ${a}
Run Keyword If  ${a}==6  Exit for Loop     # 退出循环
END

16.截图,需导入Screenshot
Take Screenshot

三、常用关键字

3.1打开浏览器
Open Browser URL地址 chrome
3.2设置隐式等待
Set Browser Implicit Wait 3
3.3窗口最大化
Maximize Browser Window
3.4指定浏览器的尺寸
Set Window Size 600 800
3.5获得浏览器的宽度和高度
${width} ${height} Get Window Size
3.6回退
Go Back
3.7前进
Go To url地址
3.8刷新
Reload Page
3.9获取标题
${title} Get Title
3.10获得地址
${location} Get Location
3.11关闭浏览器
Close Browser

四、其他关键字

4.1操作元素的关键字

Open Browser    http://www.baidu.com    chrome        #打开浏览器
Maximize Browser Window        #最大化窗口
Set Browser Implicit Wait    5        #隐式等待
Input Text    id=kw    测试    #输入文本
Clear Element Text    id=kw    #清空文本
${text1}    Get Text    xpath=//a[@href="http://news.baidu.com"]    #获取文本
${text2}    Get Element Attribute    xpath=//a[@href="http://news.baidu.com"]    text    #获取文本
${shuxing}    Get Element Attribute    xpath=//a[@href="http://news.baidu.com"]    class    #获取元素class属性
Input Text    xpath=//input[@id="kw"]    鸽子    #输入文本
Click Element    css=#su    #点击元素
#下拉框选择
Select From List By Index  定位到下拉框  下标    #通过索引选择下拉选项,索引从0开始
Select From List By Label  定位到下拉框  文本    #通过文本定位下拉选项
Select From List By Value  定位到下拉框  Value属性值        #通过Value属性值定位到下拉选项

4.2.断言的关键字

系统断言
Should Be Empty  ${a}    #判断是否为空
Should Be Equal  A  a    #判断相等,区分大小写
Should Be Equal  A  a  ignore_case=True    #判断相等,忽略大小写
Should Be True    #判断是否为True
Should Contain  ceshi  es  ignore_case=True        #是否包含
Should Start With  ceshi  ce    #是否以*开头
Should End With  ceshi  i    #是否以*结尾
Length Should Be  ceshi  5    #判断长度

selenium断言
Page Should Contain  新闻        #页面是否包含文本
Page Should Contain Element  id=kw    #页面是否包含元素

4.3.元素等待的关键字

Set Browser Implicit Wait  5    #隐式等待,针对当前浏览器
Set Selenium Implicit Wait  5    #隐式等待,针对所有浏览器
Wait Until Element Contains  link=新闻  新闻  10    #等待元素包含指定的文本
Wait Until Element Enable  link=新闻  新闻  10        #等待元素可用
Wait Until Element Visible  link=新闻  新闻  10        #等待元素可见
Wait Until Page Contains  新闻  3        #等待页面包含指定文本
Wait Until Page Contains Element  id=kw  3        #等待页面包含指定元素

4.4.Frame切换

frameset框架集,frame框架,iframe子框架
当要操作的元素在其他frame中时,需要切换到对应的frame中才能进行定位和操作。frameset不用理会

#进入框架
Select Frame  name=menu-frame
#跳出框架
Unselect Frame
#跳出框架后可以进入其他框架

4.5.弹出框操作

alert 只有一个确定按钮
confirm 有确定和取消按钮
prompt 有确定、取消还可以输入文本

1、Alert Should Be Present 
这个关键字不仅仅验证是否存在包含响应arg的弹出框,同时如果存在就执行关闭操作
2、Get Alert Message
用于获取获取警告信息,通常我们会把获取到的文本传递给一个变量,然后打印结果进行查看
3、Confirm Action关闭确认框并返回确认框信息
默认点击确定按钮,如果操作取消按钮,需要在确认框弹出之前预定于“ Choose Cancel On Next Confirm action 再用Confirm Action
4、Input Text Into Prompt文本提示框输入关键字
Input Text Into Prompt  [ text ]
用于Alert 弹出文本输入框的输入,配合Confirm Action警告框实现整个文本弹出框的操作
5、Handle Alert
Handle Alert [ action=ACCEPT | timeout=None ] 默认就是点弹出框的确定
Handle Alert  action=DISMISS  点取消

4.6.切换窗口

Select Window  new    #切换到新的窗口
Select Window  main    #切换回初始窗口

@{handles}    List Windows    #获取所有窗口句柄的列表
Select Window  @{handles}[-1]    #通过句柄选择窗口
Select Window  ${title}        #通过title选择窗口

你可能感兴趣的:(学习,windows)