robotframework框架中ride的安装及使用

环境

pycharm中安装intellibot插件、安装robotframework-ride、wxpython、robotframework-selenium2library、robotframework(3.1.2)版本
RIDE图形界面:
进入到scripts目录:cd C:\Users\Administrator\AppData\Roaming\Python\Python37\Scripts
执行命令:python ride.py
RF框架:
robotframework,基于python开发的,自动化测试框架
支持自动化内容:web自动化,接口自动化,APP自动化

RF项目

RF是基于关键字驱动的测试框架
关键字驱动脚本是较复杂的数据驱动技术的逻辑扩展,封装了各种基本操作,每个操作由相应的函数实现,用一系列关键字指定执行的任务。

RF数据结构:
*** Test Cases ***
second
    ######    #####    #####
    ${x}=    set variable    123
    ${y}=    set variable    123
    ${z}    evaluate    ${x}+${y}
    log to console    ${z}

robotframework框架中ride的安装及使用_第1张图片

数组:有序的元素序列,用于区分数组的各个元素的数字编号
@{list}=create list 1 2
${list[0]}
应用:调用接口传参数的时候,可以用数组
列表:一个数据序列
下标:下标从零开始的位置

*** Test Cases ***
third
    #####    #####    #####    #####    #####
    @{list}=    create list    11    22    33    44
    log to console    ${list[0]}

robotframework框架中ride的安装及使用_第2张图片

字典:可以根据键得到值,也可以更新键的值

*** Test Cases ***
four
    #####    #####    #####    #####
    &{map}    create dictionary    x=1    y=2    z=3
    log to console    ${map['x']}

robotframework框架中ride的安装及使用_第3张图片

关键字设置

four1
    ${z}    testkey    1    2
    log to console    ${z}

*** Keywords ***
testkey
    [Arguments]    ${arg1}    ${arg2}
    #####    #####    #####    #####
    ${z}=    evaluate    ${arg1}+${arg2}
    [Return]    ${z}

robotframework框架中ride的安装及使用_第4张图片
robotframework框架中ride的安装及使用_第5张图片

分支与循环:选择满足条件的去执行

*** Test Cases ***
five
    #####    #####    #####    #####    #####
    ${x}=    set variable    1
    ${y}=    set variable    2
    Run Keyword If    ${x}<${y}    log to console    xiaoyu
    ...    ELSE    log to console     dayu

robotframework框架中ride的安装及使用_第6张图片

线性结构
需要在library中添加collections
在列表中添加元素:Append To List

five1
    #####    #####    #####    #####
    @{list}=    Create List    1    2    3
    #添加元素到列表Append to List
    Append To List    ${list}    4    5
    log to console    ${list}

robotframework框架中ride的安装及使用_第7张图片

在列表中删除元素:remove from list(通过下标删除元素)、remove values from list(直接通过值删除元素)。
统计数组中的元素个数:
计算列表中元素的值

five1
    #####    #####    #####    #####
    @{list}=    Create List    1    2    3
    #添加元素到列表Append to List
    Append To List    ${list}    4    5
    log to console    ${list}
    ${s}=    set variable    0
    FOR    ${i}    IN    @{list}
        ${s}=    evaluate    ${s}+${i}
    END
    log to console    ${s}

robotframework框架中ride的安装及使用_第8张图片

键值对结构
添加元素到map中:Set To Dictionary

five2
    #####    #####    #####
    &{map}    Create Dictionary    a=aa    b=bb    c=cc
    log to console    ${map}
    Set To Dictionary    ${map}    d=dd
    log to console    ${map}

删除元素:Remove From Dictionary(通过键的形式删除值
求字典中所有键对应的值的和:先获取字典中的所有键,通过遍历键获取值,字典的键往往是字符串形式,取的时候需要将其通过单引号的形式引用起来进行获取

five3
    Comment    Comment    #####    #####    #####    #####    #####
    &{map}    Create Dictionary    a=1    b=2    c=3    d=4
    #获取字典所有关键字列表
    @{keys}=    Get Dictionary Keys    ${map}
    log to console    ${keys}
    ${s}    set variable    0
    FOR    ${i}    IN    @{keys}
        ${s}=    evaluate    ${s}+${map['${i}']}
    END
    log to console    ${s}

robotframework框架中ride的安装及使用_第9张图片

字符串拼接:Catenate

five4
    ${str1}    set variable    is not
    log to console    Will ${str1} home

robotframework框架中ride的安装及使用_第10张图片

字符串判断:run keyword if
字符串进行比较时,需要将其用引号引起来

five4
    ${str1}    set variable    hello
    ${str2}    set variable    will
    run keyword if    '${str1}'=='${str2}'    log to console    yes
    ...    ELSE    log to console    no

robotframework框架中ride的安装及使用_第11张图片

包含关系:should contain 
five4
    ${str1}    set variable    hello
    ${str2}    set variable    will
    run keyword if    '${str1}'=='${str2}'    log to console    yes
    ...    ELSE    log to console    no
    should contain    ${str1}    ${str2}    msg='YES'
    log to console    good

robotframework框架中ride的安装及使用_第12张图片

利用RF做web自动化
web自动化测试:把手工测试网页的操作用脚本或者工具来实现
web自动化关键:能打开浏览器并对网站进行操作
导入库:Selenium2Library
ff参数为火狐浏览器,gc为Google浏览器。需要下载geckodriver.exe、chromedriver.exe放入python中的scripts文件夹下

你可能感兴趣的:(python,软件测试)