使用 FakerLibrary 在机器人框架中生成 DOB

问题描述

我的目标是为 webservice 编写测试用例,其中还验证了用户的年龄输入(服务资格)。我有一个请求 XML,我按如下方式填写出生日期;

${updatedXml}=  Set Element Text    ${root}    ${randomdob}               xpath=.//birthdate

现在,为了填充出生日期(randomdob),我使用了 Get Current Date 函数,并带有增量:

${birthdate}=   Get Current Date    result_format=%Y-%m-%d    increment=-6391day

然而,这并不能使它“真正”随机。我宁愿这样使用 FakerLibrary.date_of_birth :

${randomdob}=    FakerLibrary.date_of_birth     minimum_age=14  maximum_age=17

现在,fakerlibrary 的这个函数输出似乎是 python datetime.date(通过评估验证),但我不知何故无法使用它来填充我的 xml 元素中的变量:

TypeError: cannot serialize datetime.date(2004,3,27) (type date)

当我将它登录到控制台时,我得到:

2004-03-27

如何将输出转换为普通字符串,以便用它填充 XML 元素? 我试过“转换为字符串”,但这似乎不起作用。

解决方法

使用 Convert Date 将其转换为具有所需格式的字符串:

${randomDob}=    Convert Date    ${randomDob}    result_format=%Y-%m-%d

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...