我使用下面的conf文件设置我的量角器:
[[], [], [], [], [], [], [], [], [], []]
[[], [], [], [], [], [], [], [], [], []]
[[], [], [], [], [], [], [], [], [], []]
True
True
True
[[], [6], [], [], [], [], [], [], [], []]
[[], [6], [], [], [], [], [], [], [], []]
[[6], [6], [6], [6], [6], [6], [6], [6], [6], [6]]
True
False
False
应用程序是以角度手动引导的,我需要在应用程序通过执行exports.config = {
framework: 'mocha',
rootElement: '#container1',
specs: ['*container1_spec.js'],
capabilities: {
browserName: 'chrome',
version: '',
platform: 'ANY'
},
onPrepare: function() {
// implicit and page load timeouts
browser.manage().timeouts().pageLoadTimeout(40000);
browser.manage().timeouts().implicitlyWait(25000);
}
}
将控件转移到另一个应用程序的某些步骤后更改根元素。启动的第二个应用程序也是一个角度应用程序,它可以进行手动引导。
来自another thread in SO。我找到了我可以做的代码window.location.replace
browser.rootEl = 'div#container2';
答案 0 :(得分:1)
正如我在问题中所提到的,更改rootEl不起作用。我不得不求助于使用DOM来运行测试。
function getMessage() {
return document.getElementById('msg').textContent;
}
setTimeout(function() {
browser.executeScript(getMessage).then(function (txt) {
chai.expect(txt).to.equal("Error occured");
done();
});
}, 10000);
browser.executeScript
是允许我查询DOM和解决方法的关键功能。我不得不为滞后添加超时,以允许第二个应用程序下载和引导。