我使用selenium web驱动程序自动化了一个网页,并将测试结果输出到xml文件中。这是文件:
<Log>
<Tests>
<ModuleName>Login</ModuleName>
<TestName>Welcome Label</TestName>
<DateAndTime>2014-59-02 03:59:31</DateAndTime>
<Result>Passed</Result>
</Tests>
<Tests>
<ModuleName>Login</ModuleName>
<TestName>Username Label</TestName>
<DateAndTime>2014-59-02 03:59:32</DateAndTime>
<Result>Failed</Result>
</Tests>
<Tests>
<ModuleName>Login</ModuleName>
<TestName>Password Label</TestName>
<DateAndTime>2014-59-02 03:59:32</DateAndTime>
<Result>Passed</Result>
</Tests>
<Tests>
<ModuleName>Login</ModuleName>
<TestName>Login Button Label</TestName>
<DateAndTime>2014-59-02 03:59:32</DateAndTime>
<Result>Failed</Result>
</Tests>
</Log>
现在,结果标记显示测试是“通过”还是“失败”。我想读取这个xml文件并输出到excel文件中,该文件将为“通过”测试用例着色为绿色,为“失败”测试用例为“红色”。显然,列名将根据指定的标签(此处它将是模块名称,测试名称,日期和时间,结果顺序)。我该怎么做到这一点?
答案 0 :(得分:0)
您可以使用java中的POI APi将xml转换为Excel。
供参考点击下面的链接
您必须使用此代码段...才能在Excel中结果列
HSSFCellStyle style = wb.createCellStyle();
style.setFillForegroundColor(HSSFColor.LIME.index);
style.setFillPattern(HSSFCellStyle.SOLID_FOREGROUND);
HSSFFont font = wb.createFont();
String result=((Element) (nodeList.item(0))) //getting result tag value from xml
.getElementsByTagName("generaladmin").item(0)
.getFirstChild().getNodeValue();
if(result.equalsIgnoreCase("Passed"))//set the color to cell based on result string value
font.setColor(HSSFColor.GREEN.index);
else if(result.equalsIgnoreCase("Red"))
font.setColor(HSSFColor.RED.index);
style.setFont(font);
cell.setCellStyle(style);
cell.setCellValue(result);