2017-06-13 59 views
1

我正在使用WebdriverIO/Cucumberwdio-cucumber-framework)。我想在HTML文件中獲得測試執行結果。截至目前,我正在使用Spec Reporterwdio-spec-reporter)。這有助於在控制檯窗口中打印結果。但我想要一個HTML文件中的所有執行報告。爲我的測試自動化生成WebdriverIO/Cucumber框架的HTML報告

如何在HTML文件中獲得WebdriverIO測試執行結果?

謝謝。

+0

您可以使用wdio的json記者。然後使用主想的插件,我們可以生成HTML報告。 – Murthi

+0

@Murthi - 你能告訴我主想法插件的名字嗎?可以請你分享一些參考網址,該插件 –

+0

https://github.com/damianszczepanik/cucumber-reporting但你必須利用黃瓜選項生成黃瓜JSON報告。 – Murthi

回答

5

好的,終於得到了一些時間來解決您的問題@Thangakumar D,因爲報告是我最喜歡的WebdriverIO領域之一。不幸的是,這是浩瀚的方式來解決生成報告(通常以HTML文件的形式)的所有方面,所以我會繼續前進,並開始與我最喜歡的記者:傾城

Allure Reporter:

  • [前言:確保你在你的項目的根是]
  • 安裝程序包(如果你還沒有的話):npm install wdio-allure-reporter --save-dev
  • 安裝Allure CommandLine(你會看到爲什麼後面):npm install -g allure-commandline --save-dev
  • 設置你的wdio.config.js文件,以支持傾城當記者

wdio.config.js:

reporters: ['allure', 'dot', 'spec', 'json'], 
reporterOptions: { 
    outputDir: './wdio-logs/', 
    allure: { 
     outputDir: './allure-reports/allure/' 
    } 
} 
  • 運行測試!請注意,一旦您的迴歸結束,您的/allure-results/文件夾已填充多個.json,.txt,.png(如果您有屏幕截圖錯誤)和.xml文件。這個文件夾的有效性將被Allure CommandLine使用來呈現給你HTML報告
  • 轉到您的/allure-results/文件夾,並生成通過報告:allure generate <reportsFolderPath>(做這樣的allure generate .
  • 如果你想裏面/allure-results//allure-reports/文件夾)
  • 現在進入你/allure-reports文件夾,OPE index.html到您選擇的瀏覽器(使用Firefox瀏覽器啓動)

注:生成index.html文件不會有裝上Chrome的,除非你做一些調整了所有的內容。這是由於默認的WebKit無法加載所有需要的AJAX調用。詳細瞭解它here

如果你成功完成了所有前面的步驟,它應該是這個樣子:

enter image description here

希望這有助於。乾杯!


注:我會盡力UPDATE這篇文章時,我得到一些更多的時間與其他真棒方式來產生從WebdriverIO記者日誌報告,特別是如果這個職位一起得到一些愛/ upvotes方式。

例如爲:,我喜歡使用存在另一種組合:wdio-json-reporter/wdio-junit-reporter加上一個易於使用的模板語言,Jinja2的。

+0

@ iamdanchiv-感謝您的幫助。我在全球範圍內安裝了'wdio-allure-reporter'** **一旦我執行了我的測試套件,就會得到帶有多個JSON和XML文件的./allure-reports/allure/文件夾中的結果。要在命令窗口中生成HTML報告,我導航到'allure-reports'文件夾,並鍵入下面的命令'c:\ projects \ functionalTest \ allure-reports> allure generate .'我得到的**魅力不被識別爲內部或外部命令**我們是否需要除「wdio-allure-reporter」之外的其他任何軟件包,我已經擁有全球範圍的軟件? –

+0

@ThangakumarD是否在全球安裝'allure-commandline'?就像我上面所說的,你需要它來生成你的報告。所以基本上,'npm install -g allure-commandline'('--save-dev'將它作爲依賴保存在你的項目中,如果你不想在項目中使用'allure-commandline'除了生成HTML報告)。 – iamdanchiv

+0

@ThangakumarD如果您將結果存儲在'。/ allure-reports/allure /'中,那麼您應該在同一個文件夾中運行'allure generate .'命令。順便說一句,你可以用它從'node_modules'路徑明確引用的誘惑力:'.//node_modules/.bin/allure產生.' – iamdanchiv