Protractor在Firefox和IE浏览器中失败

问题描述 投票:4回答:2

我很难让量角器在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.0 Firefox版本--45 IE版本 - 11

设置为Firefox后,浏览器将启动 - 但不会获取运行测试的URL。

javascript selenium selenium-webdriver protractor angularjs-e2e
2个回答
1
投票

您的问题太过通用,无法确定根本原因。但我会尝试回答可能导致您出现问题的所有常见问题

  1. 更新到新版本的Protractor(使用npm update protractor) - 您使用的是2.0.0,这是相当古老的(protractor --version在更新后检查它)。我使用的是3.3.0。还有更多的最新版本 - Protractor我刚尝试了你的规格,它的全部工作正常与FF-45
  2. 来到IE,我不知道你是否已经拥有IE驱动程序,如果没有运行以下命令 webdriver-manager update --ie

您的脚本可能在IE中失败,因为它会发出“Active X方法将被阻止”的警告,并且您可能需要在运行之前在IE设置中设置ignore选项


0
投票

您可以尝试在本地启动独立的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文件

http://www.seleniumhq.org/download/

© www.soinside.com 2019 - 2024. All rights reserved.