使用带有量角器的Firefox 35会导致错误

raj*_*har 5 javascript firefox selenium angularjs protractor

使用chrome运行我的Angular应用场景,方案运行成功,但停止发生在firefox新版本35.0b6.任何人请提前帮助我.

我正在使用量角器1.4.0.我的情景:

describe('99ccs e2e testing', function() {
    it('check it have a title 99CCS', function() {
        browser.get('http://99ccs.com/ccsnew/#/login');

        //it checks the "http://99ccs.com/ccsnew/" page contains a title "99CCS"
        expect(browser.getTitle()).toEqual('99CCS');

        //it checks when user enter the URL as "http://99ccs.com/ccsnew/" it navigates to "http://99ccs.com/ccsnew/#/login"
        browser.get('http://99ccs.com/ccsnew/');
        expect(browser.getLocationAbsUrl()).toBe('http://99ccs.com/ccsnew/#/login');

        //it checks when user enter the URL as "http://99ccs.com/ccsnew/" it navigates to Login page or not
        browser.getLocationAbsUrl().then(function(url) {
            expect(url.split('#')[1]).toBe('/login');
        });
        expect(browser.get('http://99ccs.com/ccsnew/')).toEqual(browser.get('http://99ccs.com/ccsnew/#/login'));

        //it checks if we give any location url from 99ccs.com/ccsnew without login it navigates to Login page or not
         expect(browser.get('http://99ccs.com/ccsnew/#/ts/edit/131')).toEqual(browser.get('http://99ccs.com/ccsnew/#/login'));
    });
});
Run Code Online (Sandbox Code Playgroud)

我在控制台遇到错误:

ale*_*cxe 8

Selenium 2.44与Firefox 35不兼容.相关问题:

目前最简单的选择是将firefox降级到最新的稳定版本(目前为34.0.5).

更新: selenium 2.45修复了Firefox兼容性问题,今天发布(2015年2月28日).目前,要protractor使用selenium2.45 - 直接从量角器github master分支安装它:

$ npm install angular/protractor
Run Code Online (Sandbox Code Playgroud)

要么

$ npm install git+https://git@github.com/angular/protractor.git
Run Code Online (Sandbox Code Playgroud)

仅供参考,我已经使用量角器1.5和"angularjs.org" 量角器教程测试用例重现了相同的连接问题:

describe('angularjs homepage todo list', function() {
    it('should add a todo', function() {
        browser.get('http://www.angularjs.org');

        element(by.model('todoText')).sendKeys('write a protractor test');
        element(by.css('[value="add"]')).click();

        var todoList = element.all(by.repeater('todo in todos'));
        expect(todoList.count()).toEqual(3);
        expect(todoList.get(2).getText()).toEqual('write a protractor test');
    });
});
Run Code Online (Sandbox Code Playgroud)