2016-05-16 8 views
0

こんにちは、私はちょっと分かりにくいですが、ファイルを作成したり変更することができないことを知りました。 : テストケースを手書きで書くことは可能ですか?例えば、 のようなテキストファイルにロジックが失敗します。コードは正しくありませんが、私はjasmine-reporterとxmlファイルの出力について知っていますが、分度器に.txtエラー出力ファイルを作成するとコンソールエラーではなく手動で作成される

exports.config = { 
    framework: 'jasmine', 
    seleniumAddress: 'http://localhost:4444/wd/hub', 
    specs: ['spec.js'] 
} 
:私はかなり基本的なもの

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ファイルliekカスタムであるものをしたいです

私は単に瞬時に指定されたタイトルを確認したいと思っています。期待されているタイトルと異なる場合は、出力ファイルにURLを保存します。テストが終了したら、起こったかった。私はナンセンスを話していないことを願っています

+0

そして、私はbrowser.getCurrentUrl()を知っています。現在のURLではなく、何か他のことを考えることができなかったという約束を返す。私はexpect()で実現できることも知っている。この方法が可能かどうかだけ知りたい – Damjan

答えて

0

protractorはNode.js環境で動作します。したがって、Node.jsにはすべてのものが用意されています。例えば、"fs" module。したがって、毎回手動でファイルを保存することも、(より良いオプションとして)custom Jasmine reporterと書くこともできます。あなたのレポーターは、カスタムエラーを登録してテスト実行後にファイルに書き込むために、変数または関数をグローバル名前空間に公開します。

0

私はここに私の質問への答えは私のサンプルコードでは、私はモジュールFS-余分ないくつかのファイルやドキュメントを作成および編集することができたと私が管理し、私は

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-extra https://github.com/jprichardson/node-fs-extra#mkdirsdir-callbackへのリンクです。歓声が必要な場合に備えて

関連する問題