robot framework
robot framework是笔者公司使用的自动化测试框架,其以简洁和易用性著称,eg:只要懂点基础的编程知识:变量、选择、循环、函数等就可以使用起来,当然其还有一个重要的特点:就是可以调用python,所以它的可拓展空间非常的广阔。它里面运行是一用例为单位,所以一般只要给用例设置好tag,就可以执行指定的用例,用例里面调用的是关键字,说白了就是函数,然后执行完了,其自带的报告,可以在报告文档中
robot framework是笔者公司使用的自动化测试框架,其以简洁和易用性著称,eg:只要懂点基础的编程知识:变量、选择、循环、函数等就可以使用起来,当然其还有一个重要的特点:就是可以调用python,所以它的可拓展空间非常的广阔。
它里面运行是以用例为单位,所以一般只要给用例设置好tag,就可以执行指定的用例,用例里面调用的是关键字,说白了就是函数,然后执行完了,其自带的报告,可以在报告文档中查看用例的执行情况,当然也可以合并多个报告,方便最终的整体查看,然后最重要的是其还带有录屏的功能,只需要安装对应的模块(pip install robotframework-autorecorder)
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
Library AutoRecorder
*** Test Cases ***
测试用例
${变量1} Set Variable 1.5
${变量2} Set Variable 9.3
${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
#不往后执行了,直接返回
Pass Execution 123
Log *************
*** Keywords ***
func
Log 我是关键字(也就是接口[函数])
*** Variables ***
import os
def safe_convert(s):
try:
return int(s)
except ValueError:
try:
return float(s)
except ValueError:
return "无效数字"
def add_numbers(a, b):
return safe_convert(a) + safe_convert(b)
最后看下其运行的效果

总体来说:十分简单,就是写关键字传流程了,这种适合多业务的。
然后说下其中的library,这些即开头写的那些,见名知其意,每个模块都有基本的功能,然后其它的可以仿照引入视频模块那样可以安装。

其实没事了可以看下其官方文档(里面一应俱全):
https://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#evaluation-namespace

当然如果英文有困难的同学也可以参考其中文版文档:
Robot Framework用户手册 — robotframework-userguide-cn 3.0.0 文档

后续笔者会结合该框架做一个客户端程序(c/s架构)和web自动化的测试示例。
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)