如何在浏览器中运行测试?
我使用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);
});
});
});
提前致谢!!!
答案 0 :(得分:0)
您可以将测试用例导出为Node.JS - Selenium-WebDriver'通过file-> export(在selenium builder addon中 - 记录脚本后)并确保将其保存为' somefile.js' (javascript)。您可以将其作为节点filename.js'执行。在命令提示符下看到它的实际效果。希望它有所帮助!