robot framework

robot framework

(仅作为个人笔记,如有雷同,请联系删除。。)

参考:https://www.cnblogs.com/chenyuebai/p/8359577.html

1、Robot Framework是一个基于Python可扩展地关键字驱动的测试自动化框架。

  • 支持简单易用的表格型语法,使得可以用统一方式创建测试用例

  • 提供可以复用既存的关键字的功能;

  • 提供HTML的简单易读的报表和日志结果文件

  • 平台和应用相互独立;

  • 提供简单的Libary API,可以使用Ptyhon或者java进行实现;

  • 提供命令行接口和XML格式的输出文件,非常容易进行持续集成

  • 支持Selenium,Java Gui测试,Telnet,SSH等;

  • 支持创建数据驱动的测试用例

  • 变量的内建支持,尤其是不同测试环境下的测试;

  • 提供test case和test suite级别的setup和teardown

2、环境搭建:【默认已安装python,ride好像不支持python3,需要python2 ??后期确认下】

3、cmd 运行 case:

  • pybot --test test_case test_suit.robot,运行一条case
  • pybot test_suit.robot,运行指定文件
  • pybot *.robot,运行当前目录下以.robot为后缀名的测试文件
  • pybot testpath/,运行当前testpath/目录下的所有case

4、测试脚本[ .robot文件 ]的基本语法:

*** Settings ***
Library    MyLib                                          #导入自定义的库
Library    SeleniumLibrary

*** Test Cases ***
                                                            #第一行为固定格式,标识
                                                            #建议同python一致,使用tab缩进对齐(pycharm中设置tab=4空格),否则可能报执行失败,报 "Test case contains no keywords"
case 1 helloworld                                            #案例名
    log     first rfw case                        #log 相当于python的print,可在生成的log.xml中查看

case 2 log                                                  #打异常日志,支持多种级别
    log     test line 2     ERROR

case 3 varible
    ${
   myname}     Set variable      daqiang                 #定义变量
    log     my name is ${
   myname}                            #使用变量

#case 4 use varible                                         #变量作用域为其定义所在的案例(case3),否则报 "Variable '${myname}' not found."
#    log     ${myname}

case 5 Catenate
    ${
   hi1}    Catenate      hello    world                  #定义变量方式2  连接两个对象,支持自定义连接符
    log    ${
   hi1}
    ${
   hi2}    Catenate      SEPARATOR=----  hello    world
    log    ${
   hi2}

case 6 list
    @{
   mylist}       create list     a       b      c        #定义列表
    log many        @{
   mylist}                               #打印列表中的元素

case 7 get time
    ${
   currentTime}      get time                            #获取当前时间     2022-02-21 21:05:47
    log     ${
   currentTime}
    ${
   currentYear}      get time    format=year             #支持多种传参,详情看函数定义
    log     current year is ${
   currentYear}

case 8 sleep
    log     get time
    sleep   1                                               #睡眠,等同于python的time.sleep(5)
    log     get time

case 9 if
    ${
   score}    set variable    55
    run keyword if    ${
   score}>=90    log    优秀           #if小写
    ...    ELSE IF    ${
   score}>=70    log    良好           #ELSE/ELSE IF要大写
    ...    ELSE    log    很差                              

case 10 for                                                 #for循环,注意需要使用\来标识这个for循环范围
    :FOR    ${
   i}    IN RANGE    5                           #   for in in range(5):
    \   log    ${
   i}                                         #        print(i)

case 11 allround the list                                   # 列表循环
    @{
   myList}    create list  1    2    3    4 
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值