网站首页 > 开源技术 正文
就在2021年3月11日下午,笔者正在投入到if/else 这种复杂逻辑的代码编写时,一封邮件引起了我的注意,本以为又是某xx银行的信用卡催命账单、或者诸如兰博基尼2W元代金卷这种广告邮件时。我定睛一看! 居然是 RobotFramework正式发布了4.0版本!!! 点进去一看,发现带来了贼多 **新特性** 和 ***功能增强*** 以及 ***BUG修复***,详细Release Note见:
https://github.com/robotframework/robotframework/blob/master/doc/releasenotes/rf-4.0.rst
使用以下命令更新到
```sh
pip install robotframework==4.0
```
# 新特性1 - 支持 Skip 跳过状态
内置关键字多了 `Skip` 和 `Skip if` 用来跳过用例

在报告中也会有体现

再也不用傻傻用`Pass If`了 ,或者使用 `-e` 通过tag跳过用例了
**通过`Skip` 跳过的用例会在报告里面体现** 而 `-e` 不会
# 新特性2 - 原生IF/ELSE语法支持
这个必须好评,较复杂逻辑再也不用在用例里面写僵硬的`Run Keyword If` 了,直接上代码
原来:
```python
Run Keyword If "${userName}"=="${EMPTY}" and "${ip}"=="${EMPTY}" Log xxx
... ELSE IF "${userName}"=="${EMPTY}" and "${ip}"!="${EMPTY}" Log yyy
... ELSE IF "${userName}"!="${EMPTY}" and "${ip}"=="${EMPTY}" Log zzz
```
现在:
```python
Example3
IF "${direction}" == "STRAIGHT"
Log Going straight
ELSE IF "${direction}" == "LEFT"
Log Turning left
ELSE IF "${direction}" == "RIGHT"
Log Turning right
ELSE
Fail Unrecognized direction: ${direction}
END
```
以前不可能直接嵌套FOR循环。实现这一点的唯一方法是使用关键字包含另一个循环的循环。这个可以了,FOR循环以及新的IF/ELSE结构可以自由嵌套,示例:
```python
FOR ${row} IN @{rows}
FOR ${cell} IN @{row}
IF "${cell}" != "IGNORE"
Process Cell ${cell}
END
END
END
```
# 新特性3 - 移除了`Criticality`
这个在笔者平常写脚本过程中使用很少、具体可以看相关文档、而且还提供了由`Criticality`迁移到使用`Skip`的方案
#新特性4 - 列表@{list} 和字典&{dict}的访问得到了增强
机翻一波
+ @{var}[item]和&{var}[item]首先进行常规变量项查找,与使用${var}[item]时完全相同。
+ 也支持像@{var}[item1][item2]这样的嵌套访问,以及像@{var}[1:]这样的列表使用切片表示法。
+ 使用@{var}[item]语法时,找到的项必须是列表或类似列表的。它的展开方式与@{var}的展开方式完全相同。
+ 使用&{var}[item]语法时,找到的项必须是映射。它的展开方式与&{var}的展开方式完全相同。
#新特性5 - `:FOR`循环不被支持了
在3.1版本使用`:FOR` 会产生警告 推荐使用新的`FOR` `END` 语法
但是在4.0版本 `:FOR`已经不再被支持了、使用应该会直接报错。
不要使用:
```python
:FOR ${animal} IN cat dog cow
\ Keyword ${animal}
\ Another keyword
```
使用:
```python
FOR ${animal} IN cat dog cow
Keyword ${animal}
Another keyword
END
```
# 最后
其实还有很多新特性 和 bug的完善、笔者没有时间一一去解读(最近在写bug)
如果希望更加进一步了解的可以 去看最新的 [更新日志](https://github.com/robotframework/robotframework/blob/master/doc/releasenotes/rf-4.0.rst)
可见现在RF已经在慢慢的完善、改进,变得更灵活和易用。我已经在期待5.0版本了 !!! 你呢 ?
猜你喜欢
- 2024-09-16 Robotframework-RED-mysql数据库的自动化测试
- 2024-09-16 Robot Framework实现多平台自动化测试框架搭建
- 2024-09-16 RobotFramework环境配置:项目预置条件配置
- 2024-09-16 robotframework-appiumLibrary 应用 - 实现 app 自动化
- 2024-09-16 RobotFramework+Pycharm2021都不会装?来,我教你
- 2024-09-16 Robot framework(RF)数据驱动之Template模板
- 2024-09-16 Robotframework-RED-oracle数据库的自动化测试
- 2024-09-16 RobotFramework之使用DatabaseLibrary库操作mysql数据库(十一)
- 2024-09-16 Robot Framework环境搭建技巧之Python2.7
- 2024-09-16 RobotFramework 4.0 自动化测试系列教程 (一) 环境搭建
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)