С транспортиром, как настроить конфигурацию интернет-браузера?

Я использую protractor 1.3.1 и запускаю iedriverserver.exe 2.43.0.0 с установленным IE11 (windows). Это моя спецификация:

describe('quick test IE driver', function () {
    it('should go to ng homepage', function () {
        browser.driver.get('https://angularjs.org/');
        var title =element(by.css('h1')).getText();
        expect(title).toBe('HTML enhanced for web apps!');
    });
});

И это мой protractor.conf.js:

exports.config = {
    // The address of a running selenium server.
    //seleniumAddress: 'http://localhost:4444/wd/hub',

    capabilities: {
        'browserName': 'internet explorer',
        'platform': 'ANY',
        'version': '11'
    },


    // Spec patterns are relative to the current working directly when
    // protractor is called.
    specs: ['main.spec.js'],

    // Options to be passed to Jasmine-node.
    jasmineNodeOpts: {
        showColors: true,
        defaultTimeoutInterval: 30000,
        isVerbose:true,
        includeStackTrace:true

    }
};

получить эту ошибку, хотя любые идеи для решения:

UnknownError: The path to the driver executable must be set by the webdriver.ie.driver system property; 

Ответ 1

Обновить веб-менеджер для IE

Первый шаг - обновить ie webdriver, используя команду webdriver manager.Open и запустить приведенную ниже команду

webdriver-manager update --ie

Перейдите в местоположение npm. На этом шаге перейдите в NPM_LOCATION (папка, где npm установлена ​​в вашей системе. Перейдите к следующему пути "NPM_LOCATION\ node_modules\protractor\selenium". В этом месте проверьте наличие IEDriverServer.exe или нет.

Изменить для IE в conf.js

// conf.js exports.config = {   seleniumAddress: 'http://localhost:4444/wd/hub',   specs: ['specs.js'],   capabilities: {
    'browserName': 'internet explorer' // conf for internet explorer     } }


// spec.js describe('Protractor Demo App', function() {   it('should have a title', function() {
    browser.get('http://juliemr.github.io/protractor-demo/');
    expect(browser.getTitle()).toEqual('Super Calculator');   }); });

Теперь запустите protractor conf.js

Примечание. Убедитесь, что вы перезагрузили сервер с помощью → запуска веб-менеджера-менеджера

взято из: http://protractorsupport.blogspot.com/2015/05/use-protractor-with-internet-explorer.html

Ответ 2

Согласно файл конфигурации транспортира, значение конфигурации "seleniumArgs" устарело.

Итак, чтобы получить один ответ со всей информацией, выполните следующие упрощенные действия:

  • Установите Protactor глобально:

    npm install -g protractor
    
  • Запустите webdriver-manager update --ie, чтобы обновить драйверы Selenium, используемые Protactor. Имейте в виду, что вы используете глобальный webdriver-manager или локальный webdriver-manager (i.e ./node_modules./bin/webdriver-manager update help); они будут разархивировать драйверы в разных местах; только локальный будет распаковать в [Project dir]

  • Взгляните на журнал предыдущей команды. Он должен показать, что драйверы были распакованы в определенной папке. Перейдите в эту папку и найдите IEDriverServer. В моем случае это было: "[Project dir]\node_modules\protractor\node_modules\webdriver-manager\selenium\IEDriverServer_x64_X.XX.X.exe. Вам нужно будет указать относительный путь к этому файлу на следующем шаге.

  • Внутри вашего файла conf.js добавьте следующие ключи и значения. Обратите внимание на использование localSeleniumStandaloneOpts, что означает, что вы должны удалить свойство seleniumAddress, если оно у вас есть:

    multiCapabilities : [
      {
        'browserName' : 'chrome'
      }, {
        'browserName' : 'internet explorer'
      }
    ],
    
    localSeleniumStandaloneOpts : {
      jvmArgs : ["-Dwebdriver.ie.driver=<RELATIVE PATH TO IE DRIVER>"] // e.g: "node_modules/protractor/node_modules/webdriver-manager/selenium/IEDriverServer_x64_X.XX.X.exe"
    },
    

Это все, что мне нужно было сделать. Я не запускаю сервер заранее, я просто запускаю protactor conf.js. Теперь проще.

Ответ 3

Загрузите файл IEDriverServer.exe Укажите в конфигурационном файле то же самое.

seleniumArgs: ['-Dwebdriver.ie.driver=<path to IEDriverServer.exe>']

Ответ 4

Я искал этот вопрос в течение нескольких часов, лучший способ:

1) скачать webdriver-manager - обновить

Это должно загрузить драйвер из папки google.. selenium... и разместить его прямо в хорошем месте в локальном репозитории npm.

2) установите в файле config.js ваши тесты: ...

multiCapabilities: [
    //{
    //    browserName: 'chrome',
    //    version: 'ANY'
    //},
    //{
    //    browserName: 'firefox',
    //    version: 'ANY'
    //},
    {
        browserName: 'internet explorer',
        version: 'ANY'
    },
],
// For some IE functions you may need to specify defaultTimeoutInterval

... 3) настройка IE:

Следуйте за этим сообщением http://jimevansmusic.blogspot.fr/2012/08/youre-doing-it-wrong-protected-mode-and.html

PS: об установке "защищенного режима" IE, важно иметь одинаковую настройку для всех зон. Я предпочитаю иметь защищенный режим 'on' для всех зон

4) исправить реестр

как описано здесь: http://heliumhq.com/docs/internet_explorer

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BFCACHE] "Iexplore.exe" = DWORD: 00000000

5) Обновление IE 11 нарушает работу системы:

Моя последняя проблема заключалась в том, что "сервер не предоставил трассировку стека..." это связано с обновлением 17 декабря 2014 года. Удалите его, а затем хорошо.

https://code.google.com/p/selenium/issues/detail?id=3390

сумасшедший путь, чтобы он работал. Это не может быть так в долгосрочной перспективе, пожалуйста, прокомментируйте мой пост своими впечатлениями/отзывами.

Ричард

Ответ 5

Вот мой конфигурационный файл:

exports.config = {

seleniumAddress: 'http://127.0.0.1:4444/wd/hub',
capabilities: {
'browserName': 'internet explorer',
 },

framework: 'jasmine',

// Spec patterns are relative to the current working directory when
// protractor is called.
specs: ['your_spec_file.js'],

};

Шаги для запуска в IE:

  1. Нужно два терминала в коде Visual Studio. В первом терминале запустите команду "запуск webdriver-manager", чтобы запустить сервер selenium.
  2. Во втором терминале, запустите ваш файл конфигурации js как: транспортир conffile_name.js

Это успешно запустит Internet Explorer. Спасибо