我很难让量角器在Firefox中运行测试
以下是一个示例测试用例。它可以在Chrome中测试 - 但在Firefox和IE浏览器中失败。
<html>
<head>
<title>automation test</title>
<style>
#tst{
width: 200px;
height: 200px;
border: 1px solid;
}
</style>
</head>
<body>
<div id="tst"></div>
<button id="clickme">Click me</button>
<script>
document.getElementById('clickme').addEventListener('click', function(e){
document.getElementById('tst').style.backgroundColor = 'red';
});
</script>
</body>
</html>
describe('sample test', function(){
it('change bgColor to red when click the button', function(){
browser.driver.get("http://localhost/test/index.html");
var btn = browser.driver.findElement(by.id('clickme'));
var clRed = "rgba(255, 0, 0, 1)";
btn.click();
expect(browser.driver.findElement(by.id('tst')).getCssValue('background-color')).toEqual(clRed);
});
});
exports.config = {
seleniumAddress: 'http://localhost:4444/wd/hub',
specs: ['indexspecs.js'],
jasmineNodeOpts: {
showColors: true
},
capabilities: {
// 'browserName': 'internet explorer'
'browserName': 'firefox'
}
};
量角器版本 - 2.0.0 Firefox版本--45 IE版本 - 11
设置为Firefox后,浏览器将启动 - 但不会获取运行测试的URL。
您的问题太过通用,无法确定根本原因。但我会尝试回答可能导致您出现问题的所有常见问题
npm update protractor
) - 您使用的是2.0.0,这是相当古老的(protractor --version
在更新后检查它)。我使用的是3.3.0。还有更多的最新版本 - Protractor我刚尝试了你的规格,它的全部工作正常与FF-45webdriver-manager update --ie
您的脚本可能在IE中失败,因为它会发出“Active X方法将被阻止”的警告,并且您可能需要在运行之前在IE设置中设置ignore选项
您可以尝试在本地启动独立的Selenium Server。你可以看看这里;
https://github.com/angular/protractor/blob/master/docs/referenceConf.js
你的配置文件应该是这样的;
exports.config = {
seleniumServerJar: 'node_modules/protractor/selenium/selenium-server...',
specs: ['indexspecs.js'],
jasmineNodeOpts: {
showColors: true
defaultTimeoutInterval:30000
},
capabilities: {
//'browserName': 'internet explorer'
'browserName': 'firefox'
}
};
你可以从这里下载jar文件