我正在使用量角器,茉莉,硒,webdriver-manager测试我的AngularJS应用程序。我试图在测试结束后让浏览器保持在屏幕上,只是为了看看驱动程序是否进行了正确的点击,鼠标和键入以及我的测试是否属实。
像browser.pause()
这样的陈述似乎不起作用。它确实挂起了浏览器,但显然是在describe
块的最开始。我能做些什么来实际控制浏览器(即,在点击它时观察它,并准确地停留在我想要的地方)
我的文件跟随(所有测试都通过):
conf.js
exports.config = {
directConnect: true,
seleniumAddress: 'http://localhost:4444/wd/hub',
capabilities: {
'browserName': 'chrome'
},
baseUrl: 'http://localhost:63342/bet/',
framework: 'jasmine',
specs: ['my.spec.js'],
jasmineNodeOpts: {
defaultTimeoutInterval: 30000,
showColors: true,
isVerbose : false
}
};
my.spec.js
describe('my test suite', function () {
describe('log file menu', function () {
var logMenu = by.repeater('logfile in availableLogs');
browser.get('index.html');
it('show details', function () {
element(by.css('[show="showDetail"]')).click().then(function () {
expect($('.max-occupancy-detail').isDisplayed()).toBeTruthy();
});
});
it('should verify number of log files', function () {
element.all(logMenu).then(function(elements){
expect(elements.length).toEqual(6);
});
});
it('should verify the first option is selected', function () {
var first = element.all(logMenu).first();
expect(first.getAttribute('selected')).not.toBeNull();
});
it('should verify the second option is not selected', function () {
var second = element.all(logMenu).get(1);
expect(second.getAttribute('selected')).toBeNull();
});
it('should select the third option', function () {
var third = element.all(logMenu).get(2);
third.click().then(function () {
expect(third.getAttribute('selected')).not.toBeNull();
});
});
browser.pause();
});
});
答案 0 :(得分:1)
要在测试期间使浏览器暂停,需要将browser.pause()放入您想要暂停的测试中。
(it()
函数不直接计算,而是保存您传递的测试函数以便稍后运行。这就是为什么暂停直接发生在您的示例中。)