2016-04-12 16 views
3

私はWebStormを使用してJavaScriptテストを作成します。ブラウザにテストを実行するためにSelenium WebDriver(+ chromedriver)が含まれています。テストランナーのフレームワークとして、私はモカを使用しています。Selenium WebDriverでNode.jsのjavascriptテストをブレークポイントでデバッグする方法は?

問題は次のとおりです。 WebDriverのデバッグ中に、テストをデバッグしてブレークポイントをコードに設定しようとすると問題が発生します。その結果、私はリアルタイムで変数を見ることができませんでした。

コード例:

// Add external libraries 
var test = require('selenium-webdriver/testing'), webdriver = require('selenium-webdriver'), By = require('selenium-webdriver').By; 
var mocha = require('./node_modules/mocha/mocha.js'), chai = require('chai'), chaiuse = require('chai-as-promised'), expect = require('chai').expect; 
var assert = require('assert'); 
// global variable for webdriver browser 
var browser; 
// Main part with test suites 
test.describe('Suite 1', function() { 
    this.timeout(5000); 
    test.beforeEach(function(){ // Executes before each test 
     browser = new webdriver.Builder().usingServer().withCapabilities({ 'browserName' : 'chrome', 'timeout' : '5000' }).build(); 
    }); 
    test.afterEach(function(){ // Executes after each test 
     browser.close(); 
    }); 
    test.it('Get Fields', function(done) { 
     browser.get('http://google.com'); 
     var btnFirst = browser.wait(webdriver.until.elementLocated(webdriver.By.name('btnK'), 30000)); 
     var btnSecond = browser.findElement(webdriver.By.name('btnI')).getAttribute("name"); 
     btnSecond.then(function(text) { 
      console.log("Name of Second button: " + text + "\n"); 
      assert.equal(text,'btnI','Button with name \'btnI\' not presented'); 
     }); 
     done(); 
    }); 
}); 

そして今、すべてのプロセスのためには、ブラックボックステストの開発のようなものです。

私はDevToolsを試しました - クロームコンソールが動作するようにしました。しかし、それだけでbreakpoints.Commandに一時停止することなく、すべてのテストを実行します。C#+セレンwebdriverをオン

devtool node_modules/mocha/bin/_mocha -qc -- ./Tests.js --break 

を私はステップのデバッグでステップで問題がないが、今ではJavaScript +セレンwebdriverを上それを行う必要があります。

お願いします。

答えて

0

あなただけノード・インスペクターの助けを借りて、任意のNode.jsのスクリプトのようなモカテストをデバッグすることができます。

  • インストールして実行ノード-インスペクタ:

    npm install -g node-inspector node-inspector

  • テストをブレークオプションで実行してください。 mocha [options] --debug-brk

  • urlを開きますhttp://127.0.0.1:8080/?port=5858

でChromeのデバッガあなたのブレークポイントを設定するとChrome開発ツールとデバッグを楽しむことができます!

出典:How to debug Mocha tests with Chrome

+0

私はまだ 'webdriverを' から要素を取得できませんでした。私は他のデバッグ方法と同じ動作に直面しています。Webdriverは、コードをデバッグした後、すべてのコマンドをグラフィカルに実行します。私はbreackpointsを入れて、私のコードを成功裡に踏んだにもかかわらず。 –

+0

@ Alex.Kデバッガにブレークさせたい行の前に 'debugger'文を追加して、それが停止しているかどうかを確認することができます – Supersharp

関連する問題