• 03:robotframework 认识测试库


     

     

     

    image.png

     

    Tips:

    关键字大小写不敏感

    测试库搜索路径和python程序一致,sys.path

     

    01:python创建关键字,在RF中导入

    python文件(mylib3.py)

     

    import os,sys
    
    def  opencalc():
        os.system('calc')
    
    def openmaspaint():
        os.system('mspaint')
    
    def printarg(*args,**kwargs):
        if len(args)==0:
            print('NO args')
        else:
            print('args are')
            for one in args:
                print(repr(one))
        print('----')
    
    def returnlist():
        return [1,2,3,4]
    def returndict():
        return {
            'ele1':'male',
            'ele2':'female'
        }
    def testloop():
        list1=[1,2,3]
        for i in range(9):
            print(i)
    
    if __name__ == '__main__':
        openmaspaint()

    在RF使用python关键字(同一个目录下)

     

    *** Settings ***
    Library  mylib3
    
    *** Test Cases ***
    测试1
          opencalc

    此时报错:

    image.png

    在path路径下找导入的模块,此时没有mylib3

    手动添加path命令:

    image.png

    把当前模块加入到搜索路径中,. 表示当前目录

     

    02:python创建的关键字,带有参数, 传入RF中

     

    *** Settings ***
    Library  mylib3
    
    *** Test Cases ***
    测试1
          printarg   hello
          printarg   123     #结果显示‘123’

    报告结果

    image.png

    怎样显示整数类型呢

     

    *** Settings ***
    Library  mylib3
    
    *** Test Cases ***
    测试1
          printarg   hello
        ①#借助关键字返回整数
          ${var}  convert to integer  123
          printarg   ${var}
        ②#括号内部会根据python语法进行计算
        ${var}  convert to integer  123
         printarg  ${123}
          结果 123
       ③或者 printarg  ${123+123}
        结果246
        
        返回列表
        ${list}  returnlist
        printarg   ${list}
        结果 [1,2,3,4]
        #列表取值
        {list}  returnlist
        printarg   ${list[0]}
         结果 1 
                     
         返回字典-取值
          ${dict} returndict
           printarg ${dict['elel']}

    结果

    image.png

    03:传入list和dict类型

     

    #用list类型进行传参--将列表内部的元素展开进行传递,传递的是多个
    printarg @{list}
    #传值
    printarg @{list}[0]

    结果:

    image.png

     

    #用dict类型进行传参--将字典内部的键值对展开进行传递,传递的是多个
    printarg &{list}
    #取值
    printarg &{list}[elel]--不加引号

    结果:
    image.png

     

    总结

    04:循环

    RF用  :FOR来实现循环

    遍历list变量

    IN RANGE 的用法

     

          ${list}    create list         FOR    ${animal}  IN   @{list}
               log to console  ${animal}
               log to console  testloop
          END  #循环体结束标志
          log to console  循环外面
    #循环多次
          FOR    ${animal}  IN RANGE   10

     

    05:放在不同目录下

    image.png

     

     

     

     

     

    我是kelly-凯莉 每天努力一点点,幸运就多一点点
  • 相关阅读:
    java io 学习笔记(一)
    Centos中查看系统信息的常用命令
    arcgis影像批量裁剪代码
    VS2010中VC++目录和C/C++之间的区别。VC++ Directories和C/C++的区别。
    VS中为什么不同的项目类型属性查看和设置的界面不一样
    C++函数中返回引用和返回值的区别
    java中HashMap的keySet()和values()
    repoquery详解——linux查看包依赖关系的神器
    linux学习笔记
    log4j的AppenderLayout格式符
  • 原文地址:https://www.cnblogs.com/kelly11/p/12688310.html
Copyright © 2020-2023  润新知