zoukankan      html  css  js  c++  java
  • 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-凯莉 每天努力一点点,幸运就多一点点
  • 相关阅读:
    【译】用 Chart.js 做漂亮的响应式表单
    【译】快速高效学习Java编程在线资源Top 20
    【译】理解Spring MVC Model Attribute 和 Session Attribute
    Github 恶搞教程(一起『玩坏』自己的 Github 吧)
    Effective Java 读书笔记(一):使用静态工厂方法代替构造器
    JavaScript 中 onload 事件绑定多个方法的优化建议
    【译】常见 Java 异常解释(恶搞版)
    Java 重写 equals 与 hashCode 的注意事项
    【译】Java语言速览:StackOverflow
    【译】StackOverflow——Java 中的 finally 代码块是否总会被执行?
  • 原文地址:https://www.cnblogs.com/kelly11/p/12688310.html
Copyright © 2011-2022 走看看