2016-05-16 40 views
0

你好傢伙我有點新來js和量角器,我只是發現它不能創建和修改文件,所以我想問的問題是: 是否有可能手動編寫測試用例邏輯失敗的文本文件,例如: 我知道代碼是不正確的,但你會得到我知道的關於茉莉花記者和XML文件輸出的想法,但它只是打印控制檯錯誤我想一個是定製liek一個低於在量角器中創建一個.txt錯誤輸出文件手動而不是控制檯錯誤

describe('File output test', function() { 
    it('should have a title', function() { 
    browser.ignoreSynchronization=true; 
    browser.get('https://www.google.com');  

    }); 

    it('Tests output file',function(){  
     var searchText = $('#lst-ib'); 
     searchText.sendKeys('Testt') 
     searchText.sendKeys(protractor.Key.ENTER); 
     browser.sleep(3000); 
     if(browser.getTitle() != 'Test') 
     { 
      var txtFile = "C:\Users\y\Desktop\test.txt"; 
      var file = new File(txtFile); 
      var url = browser.getCurrentUrl(); 
      file.open("w");   

      file.writeln("Error at " + url); 
      file.close(); 
     } 



    }); 
}); 

的conf文件很簡單:

exports.config = { 
    framework: 'jasmine', 
    seleniumAddress: 'http://localhost:4444/wd/hub', 
    specs: ['spec.js'] 
} 

所以我只是想檢查給定的標題在這一刻,如果它與預期的不同,我想將url保存在輸出文件中,所以當測試結束時,我可以檢查後來究竟做了些什麼,我沒有想要發生。我希望我不是在說廢話

+0

而且我知道browser.getCurrentUrl();返回一個承諾,而不是當前的url只是想不到其他的東西,我也知道它可以實現與expect()我只是想知道如果這種方式是可能的 – Damjan

回答

0

量角器在Node.js環境中運行。因此,Node.js所提供的一切都可以爲您提供。如"fs" module。所以你可以每次手動保存文件,或者(作爲一個更好的選擇),寫custom Jasmine reporter。您的記者會在全局命名空間中公開一些變量或函數來註冊自定義錯誤,並在測試執行後將它們寫入文件。

0

沒關係我找到了答案,我的問題在這裏是我的示例代碼我用來測試它

var fs = require('fs-extra') 
var file = 'C:/Users/y/Desktop/test/New folder/output.txt' 
var counter = 1; 
describe('File output test', function() { 
    it('should have a title', function() { 
    browser.ignoreSynchronization=true; 
    browser.get('https://www.facebook.com'); 


    }); 

    it('Tests output file',function(){  
     email = '[email protected]'; 
     pass = 'test123' 
     var enterMail = $('#email'); 

     enterMail.sendKeys(email); 
     var enterPass = $('#pass'); 

     enterPass.sendKeys(pass); 

     enterPass.sendKeys(protractor.Key.ENTER); 

     browser.sleep(3000); 

     if(browser.getTitle() != 'Facebook'){ 




     fs.appendFile(file,counter +'. ' + 'Error at login using: ('+email +') as email and ('+pass+') as password.' + "\n" , function (err) { 

     console.log(err) // => null 




     }) 
     counter+=1; 
     } 








    }); 
}); 

我發現了一個模塊FS-額外它允許創建和編輯一些文件或文件,我設法創建並寫入我的手動輸出文件這裏是鏈接fs-extra https://github.com/jprichardson/node-fs-extra#mkdirsdir-callback萬一有人需要它歡呼