robot framework

robot framework是笔者公司使用的自动化测试框架,其以简洁和易用性著称,eg:只要懂点基础的编程知识:变量、选择、循环、函数等就可以使用起来,当然其还有一个重要的特点:就是可以调用python,所以它的可拓展空间非常的广阔。

它里面运行是一用例为单位,所以一般只要给用例设置好tag,就可以执行指定的用例,用例里面调用的是关键字,说白了就是函数,然后执行完了,其自带的报告,可以在报告文档中查看用例的执行情况,当然也可以合并多个报告,方便最终的整体查看。

1、安装python和robotframework。

之前说了其可以和python进行无缝连接,其本身就是python中的一个插件,安装完python后然后在命令行安装robotframework。

2、创建测试文件:test.robot(.robot是固定格式的文件后缀)【这是还不能运行,因为没有安装插件,也就是解释器】

2、在vscode中安装对应的插件:

Robotcode- Robot Framework Support(编译工具)

提升不能解析用例,需要安装另一个插件(Robot Framework Language Server):

完了有个报错:

索性把这个插件先卸载了,然后再次运行正常:

然后正常运行(点击用例前的运行按钮),将结果文件复制到浏览器打开

下面记录下简单的使用:

打印日志、变量的定义、字符串拼接、选择、循环、列表、字典、关键字,然后其的seleniumLibrary(pip install robotframework-seleniumlibrary)可以进行浏览器的自动化测试。

复制代码
*** Settings ***
Library    Collections
Library    BuiltIn
Library    DateTime
Library    OperatingSystem
Library    String
Library    add.py
Library    SeleniumLibrary

*** Test Cases ***
测试用例
    ${变量1}    Set Variable    1
    ${变量2}    Set Variable    2
    ${result}    Add Numbers    ${变量1}     ${变量2} 
    Log    调用python接口的结果:${result}
    Log    hello world

    ${name}    Set Variable    小明
    ${age}    Set Variable    18
    Log    ${name}--${age}

    ${temp}    Set Variable    1
    IF    ${temp} == 1
        Log    temp=1
    ELSE IF    ${temp} == 2
        Log    temp=2
    ELSE
        Log    temp=3
    END

    ${age}    Set Variable If    ${temp} == 20    20    10
    Log    -----------${age}
    
    FOR    ${i}    IN RANGE    10
        Exit For Loop If    ${i} == 5
        Log    ${i}
    END

    ${flag}    Set Variable    True 
    Should Be True    ${flag}    不满足条件
    func

    ${list}    Create List      a    b    c
    Log    列表的内容:${list}
    FOR    ${i}    IN    @{list}
        Log    ${i}
    END

    &{字典}    Create Dictionary    a=1    b=2    c=3
    Log    字典的内容:${字典}
    FOR    ${key}    IN     &{字典}
        Log    ${key}
    END

    SeleniumLibrary.Open Browser    http://www.baidu.com    chrome
    Sleep    5s
    SeleniumLibrary.Close Browser
    
*** Keywords ***
func
    Log    我是关键字(也就是接口[函数])

*** Variables ***

import  os

# def add_numbers(a,b):
#     return a+b

def add_numbers(a, b):
    return a + b

ps:加法得到的值不对,这个完了后面找下,补充下原因。

相关推荐
wangchunyu1145 小时前
JAVA CompletableFuture异步编程实战
java·开发语言·python
2501_944521597 小时前
Immer 跨端三方库仓颉适配全流程
python·eclipse·django
信誓旦旦的程序猿7 小时前
【Python量化实战宝典 #26】止损与回撤控制手册:移动止损、最大回撤(Python 可跑)
python·1024程序员节·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
2501_944521597 小时前
Deepmerge 跨端三方库仓颉适配全流程
java·python·eclipse·github
Patrick在香港8 小时前
同一行 strftime,两台机器跑出两种日期
python·datetime·时区·locale·日期处理
2601_967987378 小时前
用Python+OpenCV+YOLO写个游戏脚本:从自动瞄准到自动采集的保姆级教程
python·opencv·yolo·目标检测·游戏自动化
meiying88388 小时前
快递单号批量查询Python脚本:从手动到自动化的完整实现
开发语言·python·自动化
人工智能导论实践课8 小时前
【GUI桌面开发3】PyCharm配置外部工具
ide·python·pycharm
一千柯橘8 小时前
LangChain 的实时输出处理: stream_events 和 Streaming
python·langchain·agent
贾公子8 小时前
图片 AIGC 检测接入实战——URL 与 Base64 的取舍、体积校验与「你送过去的可能不是那张图」
python·aigc