Robotframework 入门教程(七)

Robotframework 入门教程(一) 最近工作中用Robot Framework框架来做自动化,所以,花时间学习了一下,网上好的文档不多,大多都是复制粘贴如何安装环境。要么就是介绍了一堆RIDE的界面,活活把这么强大的一个工具讲成了个photoshop,我目前用了1个多月,这个工具很强大,简单写两句。 ==安装== 首先其实RIDE是个好工具,但是安装起来真心费劲,当时我的MAC上安装的时候google了两天,一个 阅读详情
== Custom Library==

终于到了重点了,自定义Library。自定义Library可以用实Python模块和python或java的类来实现。简单写一个python模块实现的
新建mylib.py内含一个md5签名算法函数:
import hashlib

def gen_sign(*args):
    m = hashlib.md5()
    m.update(''.join(args))
    return m.hexdigest()
修改demo.robot如下:
*** Settings ***
Documentation     Example test cases using the keyword-driven testing approach.
Resource          pub.txt
Library           Collections
Library           mylib.py

*** Test Cases ***
First Case
    [Documentation]    variable type
    Log to console    ${var1}
    Log to console    ${list1}[0]
    Log to console    ${list1[0]}
    Log to console    ${dict1}['key1']
    Log to console    ${dict1['key1']}
    Log to console    ${dict1.key1}

Second Case
    [Documentation]    Default values with user-keywords
    Calculate and Check Equals
    Calculate and Check Equals    1+5
    Calculate and Check Equals    7-2    ${5}
    Calculate and Check Equals    expression=6+3    expected=${9}

Third Case
    [Documentation]    Varargs with user-keywords
    Varargs keyword    a    f    ${var1}
    Varargs keyword    @{list1}    ${var1}
    Kwargs keyword    key1=value1    key2=789
    Kwargs keyword    &{dict1}
    Kwargs keyword    &{dict1}    mykey=tututu    &{dict1}

Fourth Case
    [Documentation]    data-driven case
    [Template]    Calculate "${expression}" and Check Equals "${expected}"
    2+4    ${6}
    9-2    ${7}
    6*4    ${24}

Fifth Case
    [Documentation]    builtIn library
    [Template]    Calculate "${expression}" and Check Equals "${expected}"
    2+4    ${6}
    9-2    ${7}
    6*4    ${24}

Sixth Case
    [Documentation]    custome keyword
    ${sign}    gen_sign    @{list1}
    Log to console    ${sign}
传入计算1234的md5并返回打印到console,结果如下:


多个关键字有隐式联系的时候要用到基于类的关键字。新建yourLib.py:
class yourLib(object):
    def __init__(self, member=None):
        self.members = [member] if member else []

    def add_member(self, name):
        self.members.append(name)
        return self.members
修改demo.robot如下:
*** Settings ***
Documentation     Example test cases using the keyword-driven testing approach.
Resource          pub.txt
Library           Collections
Library           mylib.py
Library           yourLib.py
       ......
       ......

Sixth Case
    [Documentation]    custome keyword
    ${sign}    gen_sign    @{list1}
    Log to console    ${sign}
    ${members}    add member    ${var1}
    Log to console    ${members}
    ${members}    add member    LLisisi
    Log to console    ${members}
执行结果如下:


基于类的自定义Library,引入的时候创建了一个该类的实例,调用关键字可以改变实例的属性和状态。




【robotframework之七】框架设计之分层 一、前言 我们在设计用例时,都知道一个功能可以引申出很多的用例,如登录功能,我们设计时会考虑用户名密码为空、密码错误、密码正确等等情况,每一种情况都可以形成一条用例,如果要写一个比较精细的自动化脚本,我们也应该要把各种情况都考虑进去。 我们知道,网站不会是一成不变的,我们经常会需要进行版本迭代,这样可能会导致我们自动化脚本中的元素等发生变化,如果不进行分层,每一条用例都引... 阅读详情

相关推荐

RobotFramework使用SSHLibrary

RobotFramework使用SSHLibrary liqiang3@sugon.com 【参考文档】: 【1】 https://pypi.org/project/robotframework-sshlibrary/#introduction 【2】 https://github.com/robotframework/SSHLibrary 1. 安装加载 1.1 安装 pip install robotframework-sshlibrary 1.2 错误处理 ...

whereiwillgo的博客 3959

robotframework实现md5加密字符

接口测试中经常会遇到需要对字符加密后进行传输,或是需要采用签名加密方式; robot中可以使用的扩展库的方式来完成数据的加密。 可以自己写Python文件,然后RF可以直接调用你所写的Python文件) 1.hashlib库的介绍 Python的hashlib提供了常见的摘要算法,如MD5,SHA1等等。此次用这个库实现md5加密功能; 在python3的标准库中,已经移除了md5模块,而关于ha...

xuqide77的博客 1087

RobotFramework基础

RF接口自动化简介整体内容•    工程结构•     Project工程•     TestSuite测试套件•     TestCase测试案例•    Resource资源文件•     Settings设置项-导入加载资源•     ExternalResource外部资源•    常量和变量•    Keyword关键字•    循环&分支•    RF内置测试库 工程结构Set...

shengnan_only的博客 3838

Robot framework 生成MD5字符串

首先我们这里不使用网上很多的写个python函数来完成。RobotFramework提供了一个关键字Evaluate这个关键字,官方文档里是生成随机值。(实际操作等号是可以去掉的,后面的moudles=也是可以去掉的)${random} =Evaluaterandom.randint(0, sys.maxint)modules=random, sys有这个关键字,我们可以定义一个用户关键字。如下。...

qq_27275447的博客 1786

RobotFramework安装步骤

一、安装python 官网下载,直接双击安装,最好安装python27,会比较稳定 之后就是配置环境变量了,在环境变量中找到path,将python安装路径添加进去 主要添加如下三个:​ F:\Python27;F:\Python27\Scripts;F:\Python27\Lib\site-packages;​ 二、安装pip 在安装pip前,请确认win系统中已经安装好了pytho

yjanguan的专栏 1921

RobotFramework-元素定位

目录 一、selenium中八大定位方式 二、API高级 1、窗口跳转 2、表单跳转 三、DOS下执行RF脚本 四、RobotFramework+jenkins持续集成 1、在服务中启动Jenkins 2、在jenkins的插件中下载Robot Framework 3、创建项目 3.1、在构建中选择dos命令 3.2、在jenkins中生成RF的测试报告 3.3、在Jenkins中绑定用户邮箱信息 一、selenium中八大定位方式 id,name,xpath,css,

阿巴大大怪 2390

robotframework接口测试举例汇总

1.所有接口测试前,需要导入requests库和RequestsLibrary库 2.测试所用demo请参考:接口demo地址 1.get类型接口 1.1.普通get接口,不带参数请求 测试套件配置了请求url,常量{url}=http://xx.com 请求:{url}/xx/xx 返回数据格式: rf编写 log界面 1.2.普通get接口,带参数请求 测试套件配置了请求url,常量{u...

xuqide77的博客 1437

RobotFramework之Collections

背景继续学习RobotFramework,这次看的是Collections的源码。Collections库是RobotFramework用来处理列表和字典的库,官方文档是这么介绍的 A test library providing keywords for handling lists and dictionaries. Append To List示例代码*** Settings *** Li

点点寒彬的博客 6786

Robot Framework常用语法

Robot Framework常用语法 一:变量标识符号 a. Scalar型变量: "$"作为标识符号,例如:${var}, 这个打印log时只能用log b. List型变量: "@"作为标识符号,例如: @{lvar},这个打印log时用log many

weixin_40909954的博客 3624

RobotFramework之DateTime

背景继续学习RobotFramework框架,这次看的是DateTime库。DateTime库是RobotFramework操作时间的一个库,可以进行很多时间方面的操作。 DateTime is a Robot Framework standard library that supports creating and converting date and time values (e.g. G

点点寒彬的博客 1万+

从CAD到完美网格:HyperMesh几何清理全流程指南(2023最新版)

本文详细介绍了2023最新版HyperMesh在几何清理和网格划分方面的全流程操作指南。从CAD导入、几何修复到中面提取和网格生成,系统性地分享了实战验证的解决方案,帮助工程师高效处理复杂几何体,提升有限元模型质量。特别针对汽车和航空航天领域的常见问题,提供了智能化工具和优化技巧。

weixin_29306011的博客 226

七、robotframework封装的关键字

1.      从数据库查询结果:      数据库连接:Connect To Database Using Custom Params           用法:Connect To Database Using Custom Params   pymysql   host='${base_ip}',user='root',passwd='aaaa',db='aaaa',port=3306,c...

旅行没有终点的博客 2610

LDPC码译码原理——概率公式推导

怎么说呢,一直以来都想写一下博客。近半年多来我一直在学习LDPC码译码上的东西,主要是在FPGA实现上的,所以这次想写一些关于这方面的内容,包括译码的原理、仿真以及实现。(当然是基于准循环LDPC码上实现的)不过呢,我写这个的初衷是为了让初学者理解入门用的,而不是在大牛面前班门弄斧,有错误之处欢迎大家批评指正。不知道会不会有人一开始像我一样,为了学好LDPC码,先去好好了解其它的诸如RS码或者是卷...

stand_by_me123的博客 2万+

RobotFramework简介及使用

一:RobotFramework的简介和特点 RF是一个基于Python语言开发的,可扩展的,是以关键字驱动模式的自动化测试框架,RF最新的版本是2019 年7月份发布,7月份之前只支持python2.7,7月之后支持3.X的版本 RobotFramework的特点 1:编辑用例简单,可以以robot,txt,tsv或者html的格式编写用例 2:自动生成html格式的测试报告和日志(HtmlTestRunner.py,allure) 3:除了自带的类库外,还有很多的实用的类库 4:可以根据项目的需要

测试领头羊 3万+

【OpenClaw 实战】Ubuntu 双机 Gateway + Node 部署全流程 + 所有常见坑(2026版)

如果你只是需要浏览器自动化、截屏、简单系统查询 →Node 模式够用,别折腾 exec。如果你需要 GOLD 运行任意 shell 命令、git、npm、自定义脚本 →必须升级成 Gateway。bind lan + pairing approve + token 统一。后续想玩多 Agent 团队,优先考虑双/多 Gateway + 聊天通道互发(社区已有不少成功案例)。欢迎评论区留言你的环境和报错,一起交流!

hampeter的博客 1547

【机器人】机械臂控制入门技术栈分享

机械臂控制入门技术栈分享1.前言2.机器人控制入门技术栈2.1.空间描述和变化2.2.运动学分析2.3.动力学建模2.4.控制入门学习3.进阶部分3.1.机器人参数辨识3.2.非线性控制3.3.现代机器人描述方法:指数坐标4.总结 1.前言 今天看到优快云上有个分享个人技术栈的活动,虽然我不是一个正规的程序员,也不搞前端、后端这些,但我一直在优快云上通过写博客对我的学习进行总结,于是我突发奇想,不如我也写一下我的个人技术栈,针对机械臂控制入门的,因为我水平也不高,所以本文内容也许不够饱满,也不够准确,但

要恰饭得嘛 5858

Robotframework 入门教程(五)

==test case 风格== 前面写的几个case都是关键字驱动(keyword-driven)一步一步关键字顺序执行。RF另一种风格就是数据驱动(data-driven)修改demo.robot的Fourth Case如下: *** Settings *** [Documentation] Example test cases using the keyword-driven te

be5yond的博客 2542

具身智能的边缘计算核心构成方案

摘要: 具身智能(Embodied Intelligence)依赖物理实体与环境交互,而边缘计算(Edge Computing)通过本地化数据处理降低延迟、提升实时性。两者结合的核心方案包含五层架构:传感器层采集环境数据,边缘处理单元执行本地计算,通信模块实现低延迟传输,决策引擎运行轻量AI模型,执行器接口转化动作为物理操作。该方案以“边缘优先”为原则,满足毫秒级响应(如延迟<50ms),同时优化能效(功耗降低30%)和隐私保护。适用于机器人、自动驾驶等场景,通过分层闭环设计确保在资源受限环境中的可靠

老郑的博客 812

RobotFramework 入门教程

Robot Framework 是一个基于 Python 的通用自动化测试框架,以关键字驱动(Keyword-Driven)为核心,语法简洁易懂,适合自动化测试(Web、接口、移动端等)和任务自动化。${response} Get Request httpbin / # 发送 GET 请求(路径为 /,基于会话的 base_url)${API_URL} https://httpbin.org/get # 测试接口(GET 请求)

金玉满堂的博客 2382

Spring Boot入门(13):Mybatis-Plus之条件构造器使用手册:精通让你快速提高查询效率的技巧!

化繁为简,MP 中条件构造器的使用,极其详细.

**My Coding Family** 3万+

华为eNSP镜像包全集下载,包含CE6800、CE12800、NE系列等!

你好,这里是网络技术联盟站。昨天给大家介绍了win11、10下安装eNSP最新系列(1.3.00)并完美运行,附下载。从文章发布到发文前,一直有朋友想让瑞哥提供一下华为ENSP镜像包,今天安排!eNSP安装包、以及eNSP中所需要的镜像包(设备包)(CE、CX、NE40E、NE5000E、NE9000、USG)例如:导入一个USG设备包,eNSP中的USG5500和USG6000V都是可以启动的。如果你的报错“40”的话,那么打开Oracle VM VirtualBox这个虚拟机,删除对应报错的虚拟机,然后

网络技术联盟站 3万+

Robotframework 入门教程(六)

== resource&Library == 在Setting表里使用Resource导入文件,resource文件语法和testcase语法大部分相同只是没有Test Cases表。支持多种文件格式,为了和testcae区分开,这里就用txt。新建pub.txt如下: *** Settings *** [Documentation] demo resource **

be5yond的博客 2281

【AI智能体】Langchain 主流大模型调用与对话API使用详解

【AI大模型】Langchain 模型调用与对话API使用详解

congge_study的博客 409

Mac搭建robotframework环境

1.   安装pythonmac电脑自带的python我就没有下载了,直接使用系统自带的2.   安装pip或Setuptoolspip安装: sudoeasy_install pipSetuptools安装:1)官网下载地址:https://pypi.python.org/pypi/setuptools/2)安装方法找到刚下载的.zip文件,双击解压在命令窗口进入解压出来的目录输入sudo py...

shaoqiufeng的博客 2638

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

ROBOTFRAMEWORK-循环与中断

robotframework循环中的continue和break的使用

honeyniu的博客 1267

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

上一篇: Robotframework 入门教程(六)
下一篇: Robotframework 入门教程(八)
be5yond
博客等级 码龄10年 590粉丝 123原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值