繁体   English   中英

如何使用Selenium WebDriver通过断点调试Node.js上的javascript测试?

[英]How to debug javascript tests on Node.js with Selenium WebDriver by breakpoints?

我使用WebStorm编写我的javascript测试。 我已经包含了Selenium WebDriver(+ chromedriver)来在浏览器中运行我的测试。 作为一个测试运行器框架,我使用Mocha。

问题是:当我尝试调试我的测试并将断点设置为代码时,调试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 - 一个可以运行的chrome控制台。 但它只是在没有停顿的情况下运行所有​​测试。命令:

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

在C#+ Selenium WebDriver上我没有逐步调试的问题,但现在我需要在JavaScript + Selenium WebDriver上做到这一点。

请给个建议?

您可以在node-inspector的帮助下调试Mocha测试,就像任何Node.js脚本一样:

  • 安装并运行node-inspector:

    npm install -g node-inspector node-inspector

  • 使用break选项运行测试: mocha [options] --debug-brk

  • 在网址http://127.0.0.1:8080/?port=5858打开Chrome中的调试程序

您可以设置断点并享受Chrome Dev Tools的调试!

来源: 如何使用Chrome调试Mocha测试

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM