Selenium webdriver不能与jasmine一起工作
selenium webdriver does not work with jasmine
我正在尝试用Jasmine和selenium webdriver编写一个简单的UI测试。
然而,我不能使它工作。下面是我使用的环境:
- 节点v6.6.0
- jasmine@2.5.2(安装为全局模块)
- selenium-webdriver@3.0.0-beta-3(安装在node_modules中)
- ChromeDriver 2.25.426935 (in/usr/local/bin)
- 最新Google chrome (Version 54.0.2840.71(64位))
- Mac OS X 10.11.6 (埃尔卡皮坦)
代码非常简单(在typescript中):
import * as webdriver from 'selenium-webdriver';
let by = webdriver.By;
let until = webdriver.until;
describe("my suite", () => {
beforeEach(() => {
})
afterEach(() => {
})
it("should work", () => {
console.log("==========>");
let driver = new webdriver.Builder()
.forBrowser("chrome")
.build();
driver.get("https://www.google.com")
.then(s => {
return driver.getTitle();
})
.then(title => { console.log(title) })
console.log("<==========");
})
});
生成的JS代码:
"use strict";
var webdriver = require('selenium-webdriver');
var by = webdriver.By;
var until = webdriver.until;
describe("my suite", function () {
beforeEach(function () {
});
afterEach(function () {
});
it("should work", function () {
console.log("==========>");
var driver = new webdriver.Builder()
.forBrowser("chrome")
.build();
driver.get("https://www.google.com")
.then(function (s) {
return driver.getTitle();
})
.then(function (title) { console.log(title); });
console.log("<==========");
});
});
同样的代码可以运行没有任何问题作为一个独立的JS(带节点):
"use strict";
var webdriver = require('selenium-webdriver');
var by = webdriver.By;
var until = webdriver.until;
var driver = new webdriver.Builder()
.forBrowser("chrome")
.build();
driver.get("https://www.google.com").then(function (s) {
return driver.getTitle();
})
.then(function (title) { console.log(title); });
driver.quit();
我不知道茉莉花与硒一起工作是否需要任何配置。请帮助。
移动webdriver初始化到"beforeEach"没有帮助。如果我可以使代码工作,我将把它移动到"beforeEach",并退出它在"afterEach"。
我明白了。由于selenium-webdriver是异步操作,所以我需要为jasmine/mocha使用异步风味。
import * as webdriver from 'selenium-webdriver';
let by = webdriver.By;
let until = webdriver.until;
describe("my suite", () => {
beforeEach(() => {
})
afterEach(() => {
})
it("should work", (done) => {
console.log("==========>");
let driver = new webdriver.Builder()
.forBrowser("chrome")
.build();
driver.get("https://www.google.com")
.then(s => {
return driver.getTitle();
})
.then(title => { console.log(title); done(); })
console.log("<==========");
})
});
相关文章:
- 如何在php中创建一个函数,该函数与文本区域一起工作,通过输入类似[color:red]的内容来打印具有等效颜色的文本
- document.title函数可以't设置它与php一起工作
- "此网站似乎使用滚动链接定位效果.这可能不能很好地与异步平移一起工作;
- 非常简单的js测试;Don’不要和Minko一起工作
- 无法使我的文本参数与我的查询一起工作
- 为什么Angularjs验证don't与输入[type=“number”]一起工作
- 无法使vash 0.8.0与express 4.12.3一起工作
- 如何使Angular JS控制器与指令一起工作
- 无法使autocompletion与bootstrap和php代码点火器一起工作
- 注入的元素和jQuery脚本.如何让他们一起工作
- 两个独立工作的javascript函数,但不能一起工作
- 角度和砖石一起工作
- Node http-proxy-middleware 不能与本地服务器一起工作
- jQuery脚本不想一起工作
- page.js使examples/hash与hashbang:true一起工作
- javascript使jquery倒计时与UTC时间一起工作
- jQuery.not()选择器无法与类一起工作
- Rails3-可排序列表不能与wysihtml5一起工作
- 替换匹配函数给出了未定义的错误,但它与替换一起工作
- 按钮上的数据加载消息无法与ajax调用一起工作