日期时间格式自动化验证方法在实际测试中的应用
下面以我们目前开发的一个自动化测试项目 Symphony 系列产品为例来具体介绍如何自动化验证时间日期格式。图 1 给出了在 ICU 中关于时间日期的标准格式,其中 8/15/11 在 ICU 的日期格式中属于短日期格式。
图 1. ICU 中关于时间日期格式的标准
清单 5 列出了在不同语言环境下自动验证 8/15/11 的日期格式的代码。
清单 5
public void testMain(Object[] args) { // 要被测试的不同国家的语言 String []countryGroup = {"Brazil","China","Denmark","Finland","France",\ "Germany","Greece","Italy","Japan","Netherlands","Norway","Poland",\ "Portugal", "Russia", "South Korea", "Spain", "Spain(Catalan)","Sweden",\ "Taiwan(China)","Thailand", "Turkey", "United States"}; // 与系统 locale 相同的不同语言的缩写 String []localeGroup = {"pt_BR","zh_Hans_CN","da_DK","fi_FI",\ "fr_FR","de_DE","el_GR","it_IT", "ja_JP","nl_NL","no_NO",",\ "pl_PL",pt_PT","ru_RU","ko_KR","es_ES","ca_ES","sv_SE","zh_TW",\ "th_TH","tr_TR","en_US"}; int i = 0; CommonTask.login(); sleep(5); // 创建一个 Speardsheet CommonTask.newSpreadsheet(); sleep(5); info("A1 = 8/15/11"); // 在 A1 中输入日期 8/15/11 SpreadsheetTask.selectRange("A1"); sleep(3); inputKeys("8/15/11"); sleep(2); for(i=0; i<=21; i++){ // 选择要测试的语言 SpreadsheetTask.selectCountry(countryGroup[i]); sleep(2); // 读取 A1 中的内容 String Num = Element.getText("\ //div[@class='dojoxGridMasterView']/div[2]/div/div/div/div/table/tbody/tr/td[1]"); System.out.println(countryGroup[i] + ":" + Num); // 验证该语言是否符合短日期格式的要求 Verify.verifyTrue("The format 8/15/11 is Correctly", \ gvp.DataComputation.DateTimeByLocal.isValidDate(Num, DateFormat.SHORT, localeGroup[i])); inputKeys("{F5}"); sleep(8); } } |