(二)Robot Framework的使用 实操(包含常用关键字、RF的使用)

一、RF的使用

1、New Project

---> >创建项目:

输入项目名称,选择项目路径,选择Dictionary目录,项目得是文件夹类型

操作:点击File --> 选择 New Project:输入Name,type选择Directory

 

2、New Resource

---> >创建业务关键字:

只能在文件夹下面创建,并且是txt格式,它是关键字的载体

操作:点击project文件夹的名称 --> 选择New Resource:输入Name,Format选择TXT --> 在Edit中导入需要用的库

需要在DOS命令下先安装类库:

pip install robotframework-seleniumlibrary

pip install robotframework-selenium2library

扩展库的位置:C:....\Python\Python37-32\Lib\site-packages

在导包的时候一定要和文件夹的名字一致,包括大小写

 

3、New User Keywork

---> >创建用户自定义关键字:

操作:点击resource文件的右键 --> 选择New User Keyword:输入Name  -->  在edit中编写公用的方法

 

4、New Suite

--->>创建测试套件:

操作:点击project文件夹的名字 -->  选择New Suit ,输入Name,Type选择File,Format选择ROBOT

Edit 页签,主要有4个部分
Setting设置:描述
测试套件之前的准备工作
测试套件之后的扫尾工作
测试用例之后的准备工作
测试用例之后的扫尾工作
测试用例模板
测试用例超时的时间
强制标记:smoke
默认标记:product

 

5、New Test Case

---> >创建测试用例:

操作:点击Suite文件的右键 -- >  选择New Test Case ,输入Name  -- >  调用已经创建好的 自定义关键字

 

 ---> >运行结果,勾选测试用例,运行并查看结果

 

二、RF常用的类库

1、标准库:不需要安装,直接用,RF自带

Builtin[测试库]

Collection[集合库]

DataTime[时间库]

ScreenShot[截屏库]

标准库的位置:C:...Python37-32\Lib\site-packages\robot\libraries

扩展库的位置:C:....\Python\Python37-32\Lib\site-packages

 

2、扩展库:需要通过pip安装(命令行提示符下,输入DOS命令)

Web自动化测试:SeleniumLibrary

pip install robotframework-seleniumlibrary

pip install robotframework-selenium2library

API接口自动化:RequestLibrary

pip install robotframework-requests

APP自动化测试:AppiumLibrary

pip instal robotframework-appiumlibrary

 

三、RF常用的关键字

(1)快捷键:搜索关键字:F5

自动补全关键字:Ctrl+shift+空格

(2)注释

Comment

(3)打印

Log

(4)定义变量

${变量名} Set Variable 变量值

(5)获取系统时间

Get Time

(6)睡眠

sleep

(7)字符串的拼接

Catenate

Catenate orcal mysql sqlserver

Catenate SEPARATOR='#' orcal mysql sqlserver    #用‘#’来拼接

(8)创建列表

${list} Create List A B C

(9)创建字典

${dic} Create Dictionary key=value key1=value2 #创建字典

(10)执行Python里的方法

${random_number} Evaluate random.randint(1,100)

${time} Evaluate time.time()

(11)执行Python中的自定义方法

Import Library D:/test.py

${a} Evaluate int(a)
${b} Evaluate int(b)
${return_result) sum ${a}

(12)控制流程IF

${age} Set Variable 22
Run Keyword If ${age}>30 Log ..
ELSE IF 18<=${age}<=30 log ..
ELSE log ..

(13)流程控制FOR

FOR ${a} IN orcal mysql sqlserver
log ${a}
END

@{list} Create List orcal mysql sqlserver
FOR ${a} IN @{list}
Log ${a}
END

FOR ${a} IN RANGE 1 10
Log ${a}
END

FOR ${a} IN RANGE 1 10
RUN Keyword IF ${a}==5 Exit For Loop
Log ${a}
END

(14)截图

  Take Screenshot

 

*** Settings ***
Library           SeleniumLibrary
Library           Selenium2Library

*** Test Cases ***
变量
    Comment    RF的关键字
    Log    打印
    log    定义标量
    ${var}    Set Variable    标量
    log    ${var}
    log    时间
    ${time}    Get Time
    log    字符串拼接
    ${str}    catenate    robtFrame    work    test
    log    ${str}
    log    列表
    @{var_list}    create list    robotFrame    ${1}    ${2}    ${3}
    log many    @{var_list}
    log    执行Python中的方法
    ${var}    evaluate    list(@{var_list})
    LOG    ${var}[1:]
    log    字典
    &{var_dict}    create dictionary    key1="业务测试"    key2="测试开开发"    key3="技术管理"    key4="测试通用能力"
    log many    &{var_dict}
    ${var}    evaluate    dict(&{var_dict})
    log    ${var}[key1]
    log    控制流程 if
    @{var_list1}    create list    robotFrame    work    test
    @{var_list2}    create list    robotFrame    work    test
    Run Keyword IF     @{var_list1}==@{var_list2}    log     0
    ...    ELSE    log     null
    Run Keyword IF    'works' in @{var_list2}    log    1
    ...    ELSE    log    2
    log    控制流程for
    FOR    ${a}    IN    @{var_list1}
    Log     ${a}
    END

 

运行结果

 

 

 

 

posted @ 2023-07-31 23:05  羊羊的测试之路  阅读(529)  评论(0编辑  收藏  举报