在浏览器中从selenium builder运行Mocha测试

时间:2017-09-01 18:04:41

标签: javascript java node.js mocha selenium-builder

如何在浏览器中运行测试?

我使用selenium builder来记住步骤然后导出file.js并在mocha中运行它(npm test)。测试成功,但我无法调用浏览器。

如果我导出file.java并在eclipse中运行它,一切正常,但在mocha我无法调用任何浏览器。

我已将驱动程序(例如geckodriver for FF)放在给定的文件夹中,通过npm安装selenium服务器等等,file.js中有不同的设置用于浏览器,命令等。但浏览器赢了当我在摩卡中运行测试时出现。 (我正在使用Windows)。

我可以运行由selenium builder(.json)编写的测试。之前在命令行启动了selenium服务器;我可以通过SeInterpreter(没有selenium builder)运行测试(.json)。但是我怎么能打电话给浏览器并观看我之前写过的步骤?

以下是代码示例:

var assert = require('assert');
var wd = require('wd');
    chai = require('chai'),
    expect = chai.expect,
    _ = require('underscore'),
    fs = require('fs'),
    path = require('path'),
    uuid = require('uuid-js');
var VARS = {};

// This assumes that selenium is running at http://127.0.0.1:4444/wd/hub/
var noop = function() {},
    b = wd.promiseChainRemote();

describe('Selenium Test Case', function() {

  this.timeout(60000);

  it('should execute test case without errors', function(done) {

    b.chain(function(err) {
      done(err);
    })
    .init({
      browserName: 'firefox'
    })
    .get("https://google.com")
    .elementById("lst-ib", function(err, el) {
      b.next('clear', el, function(err) {
        b.next('type', el, "приветик", noop);
      });
    })
    .elementById("lst-ib", function(err, el) {
      b.next('clear', el, function(err) {
        b.next('type', el, "приветик", noop);
      });
    })
    .elementByLinkText("Картинки", function(err, el) {
      b.next('clickElement', el, noop);
    })
    .close(function(err) {
      done(err);
    });

  });
});

提前致谢!!!

1 个答案:

答案 0 :(得分:0)

您可以将测试用例导出为Node.JS - Selenium-WebDriver'通过file-> export(在selenium builder addon中 - 记录脚本后)并确保将其保存为' somefile.js' (javascript)。您可以将其作为节点filename.js'执行。在命令提示符下看到它的实际效果。希望它有所帮助!