2014-03-04 28 views
0

我已經使用selenium web驅動程序自動化了一個網頁,並將測試結果輸出到一個xml文件中。這裏的文件:xml以Excel格式進行有意義的會話

<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

你可以把你的XML在Java中使用POI APi是出類拔萃..

僅供參考點擊鏈接波紋管

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);