RobotFramework之DateTime

这篇博客介绍了RobotFramework的DateTime库,用于处理日期和时间。内容包括获取当前日期、时间转换、日期相减、时间加减等操作,并通过示例代码详细解释了每个功能的使用方法和参数含义。

背景

继续学习RobotFramework框架,这次看的是DateTime库。

DateTime库是RobotFramework操作时间的一个库,可以进行很多时间方面的操作。

DateTime is a Robot Framework standard library that supports creating and converting date and time values (e.g. Get Current Date, Convert Time), as well as doing simple calculations with them (e.g. Subtract Time From Date, Add Time To Time). It supports dates and times in various formats, and can also be used by other libraries programmatically.

Get Current Date

示例代码

*** Settings ***
Library     DateTime

*** Test Cases ***
test1
    ${tm}       get_current_date
    l
RobotFramework常⽤库简介 常⽤库简介 标准库 Robot Framework可以直接导⼊使⽤的库,包括:    BuiltIn :包含经常需要的关键字。⾃动导⼊⽆需import,因此总是可⽤的    Dialogs :提供了暂停测试执⾏和从⽤户的输⼊⽅式。    Collections:提供⼀组关键词处理Python列表和字典。    OperatingSystem:允许执⾏各种操作系统相关的任务。允许执⾏各种操作系统相关的任务,使各种操作系统相关的任务在 robotframework正在运⾏的系统中执⾏。    Remote:远程库接⼝的⼀部分。没有⾃⼰的任何关键字,作为robotframework和测试库之间的代理的特殊库。实际测试库可以在不同的 机器上运⾏,可以使⽤任何编程语⾔⽀持XML-RPC协议的实现。    Screenshot:提供关键字来捕获和存储桌⾯的截图。    String:⽤于处理字符串并验证它们的内容的库,⽤于⽣成、修改和验证字符串    Telnet:⽀持连接到Telnet服务器上打开的连接执⾏命令。    XML:⽤于⽣成、修改和验证XML⽂件的库。    Process:系统中运⾏过程的库。    DateTime:⽇期和时间转换的库,⽀持创建和验证⽇期和时间值以及它们之间的计算 扩展库 Robot Framework需要下载安装后才能使⽤的库,包括:    Android library:所有android⾃动化需要的测试库,内部使⽤的是Calabash Android    iOS library:所有iOS⾃动化需要的测试库,内部使⽤Calabash iOS服务    appiumlibrary:Android和iOS测试库,内部使⽤的是appium    HTTP library (livetest):内部使⽤LiveTest⼯具的HTTP测试的库。    HTTP library (Requests):内部使⽤request⼯具的HTTP测试的库。    MongoDB library:使⽤pymongo和MongoDB交互的库。(MongoDB是⼀个基于分布式⽂件存储的数据库)    Database Library (Java):基于Java的数据库测试库。也可使⽤Jython和Maven central.    Database Library (Python):基于Python数据库测试库。⽀持任何Python解释器,包括Jython。    watir-robot:使⽤Watir的⼯具的Web测试库。    seleniumlibrary:Web测试库,内部使⽤⽐较流⾏的selenium⼯具。利⽤早期的selenium1.0和本⾝已经过时。    selenium2library:使⽤selenium2的Web测试库。替换了⼤部分⽼的seleniumlibrary。    selenium2library java:selenium2library的java接⼝    Django Library:为Django的库,⼀个Python Web框架。    sudslibrary:⼀种基于泡沫基于SOAP的Web服务的功能测试库,动态的SOAP 1.1的客户端。    Archive library:处理.zip和.tar压缩包的库。    Diff Library:⽐较两个⽂件的库。    FTP library:Robot Framework上测试和使⽤FTP服务的库。    SSHLibrary:通过SSH连接的在远程机器上执⾏命令。还⽀持使⽤SFTP进⾏⽂件传输    rammbock:通⽤的⽹络协议测试库;提供简单的⽅法来指定⽹络数据包,并检查发送和接收数据包的结果。    imagehorizonlibrary:跨平台、基于图像识别的GUI⾃动化纯Python库。    autoitlibrary:Windows的GUI测试库,使⽤AutoIt的免费⼯具作为驱动。    Eclipse Library:使⽤SWT窗⼝⼩部件测试Eclipse RCP应⽤程序的库。    robotframework-faker:⼀个服务faker的库,faker的测试数据⽣成器。    swinglibrary:⽤Swing GUI测试java应⽤程序库    remoteswinglibrary:使⽤swinglibrary库测试和连接⼀个java进程,尤其是java web start的应⽤。(Java Web Start 是基于 Java 技术的应⽤程序的⼀种部署解决⽅案,它是连接计算机和 Internet 的便捷通道,允许⽤户在完全脱离 Web 的情况下运⾏和管
### Robot Framework 关键字概述 Robot Framework 是一种基于关键字的自动化测试工具,支持通过多种方式扩展其功能。关键字可以分为内置关键字和用户自定义关键字两种类型。 #### 内置关键字 Robot Framework 提供了大量的内置库来满足不同的需求。这些库中的函数可以直接作为关键字调用。例如 `BuiltIn` 库提供了通用的操作方法;而像 `Collections`, `String`, `DateTime` 这样的标准库则专注于特定的数据处理任务[^1]。 ```robotframework *** Settings *** Library BuiltIn Library Collections *** Variables *** ${list} Create List apple banana orange *** Test Cases *** Example With Built-in Keywords Log To Console Hello, this is a test. Length Should Be ${list} 3 ``` #### 自定义关键字 为了提高代码重用性和可读性,通常会创建自己的关键字集合。这可以通过 Python 或 Java 编写外部库实现,也可以利用 RF 的内嵌资源文件机制直接在 `.robot` 文件内部定义关键字[^2]。 下面是一个简单的例子展示如何封装 HTTP POST 请求为一个新的关键字: ```python from robot.api.deco import keyword import requests class MyCustomLib(object): @keyword('Send Post Request') def send_post_request(self, url, data=None, json=None, **kwargs): response = requests.post(url=url, data=data, json=json, **kwargs) return response.status_code, response.text ``` 对应的机器人脚本里就可以这样使用这个新加入的关键字了: ```robotframework *** Settings *** Library ./path/to/MyCustomLib.py *** Test Cases *** Test Sending A Post Request Send Post Request http://example.com/api/v1/resource {"key": "value"} ``` 对于开发环境的选择方面,虽然官方自带了一个叫做 RIDE (Robot IDE) 的图形界面编辑器,但是很多开发者更倾向于使用 PyCharm 等集成开发环境中工作,并借助专门针对RF设计的支持插件获得更好的体验,比如语法高亮等功能[^3]. 最后给出一段综合性的实例片段用于说明多个不同来源的关键字是如何在一个实际项目中协同工作的[^4]: ```robotframework *** Settings *** Library RequestsLibrary Resource 接口测试.robot *** Variables *** ${base_url}= https://api.example.com/ *** Test Cases *** DemoCase10-weather [Template] 天气预报接口测试 # 查询的天气预报时间 # 预期结果城市 # 预期结果温度 2020-01-10 天津市 高温 5℃ 2020-01-08 天津市 高温 6℃ ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

点点寒彬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值