2015-06-10 16 views
0

如何設置兩個不同的測試消息,用於失敗並傳遞測試用例,以及運行所有測試用例後,如何獲取所有失敗和傳遞消息的列表,我可以在日誌文件或xml文件中打印這些消息。如何設置測試用例失敗並在Casper js中傳遞消息?

什麼是更好的方式來存儲所有消息,並獲得正確的格式。

這是我品嚐自制page.js

HomePage = function() { 

    var PageTestParams = TestParams.Modules.HomePage, 
     PageLangText = Lang.Modules.HomePage; 

    SearchResult = function(test){ 

    }, 
    SearchTextField = function(test){ 
     test.assertExists(PageTestParams.SearchFormSelector, PageLangText.SuccessMsg["SearchForm"]); 
     SearchResult(test); 
    }, 
    NavigationCount = function(test){ 
     test.assertElementCount(PageTestParams.NavigationSelector, PageTestParams.NavigationCount,PageLangText.SuccessMsg["NavigationCount"]); 
     SearchTextField(test); 
    }, 
    CheckTitle = function(test){ 
     test.assertTitle(PageTestParams.Title, PageLangText.SuccessMsg["TitleText"]); 
     casper.test.pass("main fail ho gaya"); 
     NavigationCount(test); 
    }, 
    this.init = function(test){ 
     CheckTitle(test); 
    } 
}; 

我傳遞這個JS測試斷言,如果任何測試用例失敗或通過是越來越打印爲相同的情況下相同的消息。我已經搜索並得到了下面的語法,但它打印了我在測試斷言中設置的相同消息。

     casper.test.on("fail", function(failure) { 
          casper.echo("FAIL " + failure.message); 
         }); 

回答

0

使用單個測試時得到兩個不同的消息是我個人還沒有遇到的東西。如果你想辦法解決它,你可以這樣做:

var x=4; 
if(x>2){ 
casper.test.pass("PASS Message."); 
}else{ 
casper.test.fail("FAIL Message."); 
} 

你可以操縱的if語句有一個布爾值或任何其他你可能喜歡,但是這似乎是最明顯的方法,我會做它。至於獲取所有通過和失敗消息的列表,我知道的程度是有getFailures();和一個getPasses();方法,這些可能或可能不是你想要的,但也許他們可以幫助你開始!祝你好運!

0

你可以做這樣的事情(相同的邏輯成功或失敗): -

var successes = []; 

casper.test.on("success", function(success) { 
    successes.push(success); 
}); 

然後在casper.run你可以做兩件事情: -

1)要查看所有成功的完全轉儲(你可以看到所有的屬性),你可以這樣做: -

casper.run(function() { 
    test.done(); 
    require('utils').dump(successes); 
}); 

2)輸出的成就一一(這樣你就可以格式化輸出),你可以做的數組: -

casper.run(function() { 
    test.done(); 

    successes.forEach(function(item){ 
     casper.echo(item.standard); 
    }); 
}); 

3)我假設你知道你也可以輸出全測試斷言通過傳遞--xunit=output.xml

到的xUnit
相關問題