量角器在 Firefox 和 IE 浏览器中失败
Posted
技术标签:
【中文标题】量角器在 Firefox 和 IE 浏览器中失败【英文标题】:Protractor fails in Firefox and IE browsers 【发布时间】:2017-01-10 02:30:04 【问题描述】:我很难让量角器在 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>
规格文件(indexspecs.js)
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.0Firefox 版本 - 45IE 版本 - 11
当设置为 Firefox 时,浏览器会启动 - 但不会获取 url 来运行测试。
【问题讨论】:
使用 protractor 的 Firefox 版本出现了一些中断,你看过这里吗:***.com/questions/37693106/…? 【参考方案1】:您的问题过于笼统,无法确定根本原因。但我会尽量回答所有可能导致您遇到问题的常见问题
更新到 Protractor 的新版本(使用npm update protractor
) - 您使用的是相当旧的 2.0.0(protractor --version
在更新后检查它)。我正在使用 3.3.0。还有更多最新版本 - Protractor
我刚试过你的规格,它在 FF-45 上运行良好
来到IE,我不确定你是否已经有IE驱动,如果没有运行下面的命令
webdriver-manager update --ie
您的脚本可能会在 IE 中失败,因为它会发出“Active X 方法将被阻止”的警告,并且您可能必须在运行之前在 IE 设置中设置忽略选项
【讨论】:
【参考方案2】:您可以尝试在本地启动独立的 Selenium 服务器。你可以看这里;
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文件
http://www.seleniumhq.org/download/
【讨论】:
以上是关于量角器在 Firefox 和 IE 浏览器中失败的主要内容,如果未能解决你的问题,请参考以下文章
为啥客户端在 IE 中访问网络时集成 Windows 身份验证失败?
在 Firefox 上开发的 Javascript 在 IE 上失败的典型原因是啥? [关闭]