我正在编写一个自动化测试,我首先调用一个方法从数据库中检索日期值,然后调用一个方法来驱动Selenium从UI获取日期值,然后断言它们以确保它们匹配。我实际上将这些日期值与其他一些值连接成一个字符串值,并断言添加另一个要记住的值。
在我的数据库方法中,日期以原始形式拉出,看起来像2018-06-30 00:00:00.000
,这是日期数据类型。
然后我将此Date转换为字符串,重新格式化如下:
SimpleDateFormat formatter = new SimpleDateFormat("d MMMM yyyy");
String strPolicyExpiry = formatter.format(strPolicyExpiryUnformatted);
然后使日期看起来像30 June 2018
。
但是我的UI元素会拉回一串30th June 2018
,这反过来又失败了assertEquals,因为UI有'th'那里'
我尝试使用正则表达式从UI字符串中删除'st,nd,rd,th',但这看起来并不容易。所以现在我正在尝试更改数据库端以添加'st,nd,rd,th'但是这一切似乎都有点混乱和冗长的啰嗦。
我希望有一个简单的方法,因为它必须是自动化测试人员的常见问题。有什么想法吗?