xml以excel格式进行有意义的对话

时间:2014-03-04 08:18:25

标签: xml excel selenium xml-parsing export-to-excel

我使用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文件中,该文件将为“通过”测试用例着色为绿色,为“失败”测试用例为“红色”。显然,列名将根据指定的标签(此处它将是模块名称,测试名称,日期和时间,结果顺序)。我该怎么做到这一点?

1 个答案:

答案 0 :(得分:0)

您可以使用java中的POI APi将xml转换为Excel。

供参考点击下面的链接

xml to excel by java

您必须使用此代码段...才能在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);