Robotframework 入门教程(一)

2023-11-01

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

安装命令:
       pip install robotframework
==第一个testcase==
RF的特点什么的就不多说了,网上有的是,撸起袖子就是干。
新建demo.robot文件,内容如下。
*** Test Cases ***
First Case
    Log    Hello World!    warn

Second Case
    ${res}    Evaluate    1+2+3
    Should Be Equal    ${res}    6

Third Case
    ${res}    Evaluate    'i'*3
    Length Should Be    ${res}

运行 robot demo.robot。将得到如下
上面的例子有三条case,第一条调用内置关键字Log,   第一个参数是“Hello World! ” ,第二个参数是“warn”。就是简单打印一条log,后面的是log的等级,默认输出info以上的log到console,截图中可以看到first case中打印了 Hello World!等级为WARN。
第二条case,调用内置关键字Evaluate,参数是“1+2+3”,结果赋值给变量res(RF的语法是用$和大括号代表标量变量,还有其他类型的变量以后再说)然后调用Should Be Equal校验结果是否等于6,因为默认是字符串格式,所以second case 执行结果是FAIL。
第三条case,和第二条类似,同样调用Evalutate 赋值给变量res为“iii”,校验变量长度为3,执行结果为PASS。
最后三行显示这次执行结果生成的文件,output.xml,log.html,report.html。打开log文件如下,结果报告有什么优点就不说了,自己去看。output.xml先放放以后再说。
前面说过RF中默认的都是格式是String,那么怎么给关键字传其他的类型,答案是用变量。修改second case如下:
Second Case
    ${res}    Evaluate    1+2+3
    Should Be Equal    ${res}    ${6}

再次执行robot demo.robot  这次的结果

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Robotframework 入门教程(一) 的相关文章

  • Java_.jar .war .ear区别

    jar 全称 java archive 包含 class properties文件 是文件封装的最小单元 部署文件 application client xml 级别 小 war 全称 web archive 包含 Servlet JSP页
  • es搜索引擎

    ES的优势及使用场景 ES的功能及使用简介 简介 Elaticsearch简称为ES 是一个开源的可扩展的分布式的全文检索引擎 它可以近乎实时的存储 检索数 据 本身扩展性很好 可扩展到上百台服务器 处理PB级别的数据 ES使用Java开发

随机推荐

  • switch删除用户显示无法连接服务器,switch无法连接互联网怎么办 NS无法联机联网详细解决办法...

    switch最经常碰到的问题是就是联网的问题 很多玩家会遇到无法联网以及联机对战的情况 那么遇到这样的问题该怎么办呢 下面就来为大家分享一下解决办法 可能的原因 网络NAT类型不是创建与其他用户的对等连接 Peer to Peer P2P
  • 软件测试相关试题知识点

    软件测试相关试题 1 下面不属于软件测试步骤的是 A 集成测试 B 回归测试 C 确认测试 D 单元测试 解析 B 回归测试是指修改旧代码后重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误 因此不是软件测试的步骤 2 Junit
  • MAC下jupyter的安装及使用

    一 安装 在终端输入以下命令 conda install jupyter notebook 运行结果如下 Collecting package metadata done Solving environment done Package P
  • date时间加减(linux,aix)

    需求是这样的 有一个在日志中的时间 格式化为 Y m d H M S格式的 那现在想比较这个时间与当前时间差值是否大于一天 这个应该怎么做呢 设计到日期的减法运算 首先先man date来看一下用法吧 DATE 1 User Command
  • java排序之快排

    这篇文章来谈谈快排 最近有一种感觉 只要有规律可循的代码 分解成为两部分以后效率就会提高很多 代码思想如下 这个代码写的是快排 快排最主要的思维就是寻找一个分界值 大的放在一边 小的放在一边 然后递归分别处理大的和小的 这里需要注意的是我们
  • 拓扑 排序

    拓扑排序的适用范围 有向无环图 DAG 实际上拓扑排序不止可以用来求拓扑序 在 D A G DAG DAG 中 我们即可以用 t o
  • c++11 智能指针 (std::shared_ptr)(一)

    定义于头文件
  • 有趣的数据结构算法14——二叉树的构建

    有趣的数据结构算法14 二叉树的构建 什么是树 什么是二叉树 二叉树特点 二叉树内的常用概念 二叉树的实现 整体实现代码 GITHUB下载连接 每天学习一点点 我就能变成马云哥哥的打工仔 什么是树 树状图是一种数据结构 它是由n n gt
  • 对一句话木马的初步认识

    在之前只停留在怎么使用一句话木马的层次上 但不懂原理总觉得不太踏实 今天稍微查询了一些资料 个人对一句话有了一些了解 我们分析一下最简单的一句话木马 能理解一句话木马也得益于最近刚好了解了一下php语音 P O S T
  • 面板模型在python上的实现

    背景 有一份城镇GDP相关的数据 共有9个地区分别11年 2008 2018 的数据 无缺失数据 数据中包括X1 城乡居民年末储蓄存款 X2 年末常住人口 X3 城镇化率 X4 教育支出 共4个自变量 因变量为GDP 现希望研究4个自变量对
  • js的array.some()和array.every()

    一 检测数组 ages 的所有元素是否都大于等于 18 var ages 32 33 16 40 function checkAdult age return age gt 18 function myFunction document g
  • STM32F407ZGT6实现OLED显示屏

    1 调试工具 2 OLED简介 3 硬件电路 接线 本文采用7脚 倘若采用4脚 资料代码啥的可以在江科大B站视频下载 资料下载 https pan baidu com s 1SqKyKr5Fsl 9gBJi8aVxTw 提取码 8kzh 链
  • SQL表连接中如何根据条件不同关联不同的字段

    在实际的项目开发中 对于数据库的连接条件是根据项目的需求来关联的 今天博主遇到了这样的一个问题 在数据库中的某张表中 有资产组织 所有权 使用部门三个字段 现在需要给定一个单位 根据实际的需求 需要关联这三个维度 举个例子 现在需要查找单位
  • Android Spider XX兔 Wechat Cookie 校验 注册案例(二)

    声明 此次案例只为学习交流使用 抓包内容 敏感网址 数据接口均已做脱敏处理 切勿用于其他非法用途 文章目录 声明 前言 一 资源推荐 二 任务说明 三 App抓包分析 四 还原JS加密 1 Date类 2 MD5类 3 组合调用还原 api
  • Mysql高可用高性能存储应用系列3 - mysqld_multi配置主从集群

    概述 主从复制要解决的问题 1 写操作锁表 影响读操作 影响业务 2 数据库备份 3 随着数据增加 I O操作增多 单机出现瓶颈 主从复制就是从服务器的主节点 复制到多个从节点 默认采用异步的方式 主从复制原理 从库服务器会开启两个一部的独
  • 域名解析成ip的过程

    解析过程如图 图片来自黑马程序员 当一个用户在地址栏输入网址时会经历以下过程 1 浏览器先检查自身缓存中有没有被解析过的这个域名对应的ip地址 如果有 解析结束 同时域名被缓存的时间也可通过TTL属性来设置 2 如果浏览器缓存中没有 专业点
  • Unity打包安卓Apk

    如果遇到很多坑 不顺利 知乎传送门专治各种bug https zhuanlan zhihu com p 113007406 Unity想要打包安卓应用 需要Jdk与SDK 1 配置jdk环境变量 版本1 8 系统以windows10截图为例
  • ipad pro键盘快捷键

    主屏幕 前往主屏幕 shift H 搜索 space 切换应用 tab 文稿快捷键 剪切
  • 【事件驱动】【数码管识别】(C++动态链接库的封装和调用)

    一 问题的背景 在数码管识别项目中 由于采用多个摄像头 目前又要增加一倍的摄像头数 所以图片的处理速度就不得不考虑了 目前拟才用的方案是将数码管识别过程中比较耗时的操作代码封装成动态链接库的形式 然后采用多线程方法 对多幅图像并行处理 提高
  • Robotframework 入门教程(一)

    最近工作中用Robot Framework框架来做自动化 所以 花时间学习了一下 网上好的文档不多 大多都是复制粘贴如何安装环境 要么就是介绍了一堆RIDE的界面 活活把这么强大的一个工具讲成了个photoshop 我目前用了1个多月 这个