2014-10-05 2 views
7

Я начинаю свое приключение с Транспортиратором & Жасмин & PhantomJS. То, что я хотел достичь, - это использовать PhantomJS для запуска тестов с ProtractorDemo. Но я потерпел неудачу, и я не знаю почему. Где точные шаги:Настройка PhantomJs с Транспортером не работает

Я установил транспортир-демо (https://github.com/juliemr/protractor-demo)

git clone https://github.com/juliemr/protractor-demo.git 
cd protractor-demo 
npm install 

Затем я установил phantomjs:

npm install --save-dev phantomjs 

Затем я обновил конфигурации (на основе http://angular.github.io/protractor/#/browser-setup):

capabilities: { 
    'browserName': 'phantomjs', 

    /* 
    * Can be used to specify the phantomjs binary path. 
    * This can generally be ommitted if you installed phantomjs globally. 
    */ 
    'phantomjs.binary.path':'./node_modules/phantomjs/bin/phantomjs', 

    /* 
    * Command line arugments to pass to phantomjs. 
    * Can be ommitted if no arguments need to be passed. 
    * Acceptable cli arugments: https://github.com/ariya/phantomjs/wiki/API-Reference#wiki-command-line-options 
    */ 
    'phantomjs.cli.args':['--logfile=PATH', '--loglevel=DEBUG'] 
} 

Полный файл конфигурации выглядит так:

// Tests for the calculator. exports.config = { seleniumAddress: 'http://localhost:4444/wd/hub', 

    specs: [ 
    'spec.js' ], 

    capabilities: { 
     'browserName': 'phantomjs', 

     /* 
     * Can be used to specify the phantomjs binary path. 
     * This can generally be ommitted if you installed phantomjs globally. 
     */ 
     'phantomjs.binary.path': './node_modules/phantomjs/bin/phantomjs', 

     /* 
     * Command line arugments to pass to phantomjs. 
     * Can be ommitted if no arguments need to be passed. 
     * Acceptable cli arugments: https://github.com/ariya/phantomjs/wiki/API-Reference#wiki-command-line-options 
     */ 
     'phantomjs.cli.args': ['--logfile=PATH', '--loglevel=DEBUG'] } }; 

Затем я выполнил команды из учебника:

.\node_modules\.bin\webdriver-manager update 

Я начал WebDriver и веб-сервер:

.\node_modules\.bin\webdriver-manager start 
npm start 

Вывод этой команды был:

Using the selenium server at http://127.0.0.1:4444/wd/hub 
Server running at http://localhost:3456 

И последний этап:

node_modules\.bin\protractor test\conf.js 

и выходной формы окна другой WebDriver-менеджер консоли был:

15:23:10.181 INFO - Executing: [new session: Capabilities [{phantomjs.binary.path=./node_modules/phantomjs/bin/phantomjs, count=1, browserName=phantomjs, phantomjs.cli.args=[--logfile=PATH, --loglevel=DEBUG]}]]) 
15:23:10.192 INFO - Creating a new session for Capabilities [{phantomjs.binary.path=./node_modules/phantomjs/bin/phantomjs, count=1, browserName=phantomjs, phantomjs.cli.args=[--logfile=PATH, --loglevel=DEBUG]}] 
15:23:10.203 INFO - executable: d:\dev\protractor-demo\.\node_modules\phantomjs\bin\phantomjs 
15:23:10.203 INFO - port: 44410 
15:23:10.203 INFO - arguments: [--logfile=PATH, --loglevel=DEBUG, --webdriver=44410, --webdriver-logfile=d:\dev\protractor-demo\phantomjsdriver.log] 
15:23:10.204 INFO - environment: {} 

Но ничего не происходит. Я не вижу результатов выполненных тестов. Есть что-то, что мне не хватает? Когда я меняю браузер с phantomjs на хром, я вижу результаты теста.

+0

Смотрит Связанный: [тест транспортир на phantomjs с использованием selenium standalone jar,] (http://stackoverflow.com/q/26096786) –

+0

Спасибо. Во всяком случае, мои шаги правильные? Потому что позже я нашел образец, в котором вы просто запускаете PhantomJS как Remote WebDriver, и когда я подключаюсь к этому драйверу с помощью seleniumAddress, тогда он работает. Я смущен. – dragonfly

+0

Я не знаю, никогда не делал этого. –

ответ

4

На самом деле вам не нужно запускать:

.\node_modules\.bin\webdriver-manager update 

ни:

.\node_modules\.bin\webdriver-manager start 

Вместо этого вы могли бы начать драйвер привидение с помощью следующей команды (9515 будет порт, в котором водитель будет работать), запустив:

phantomjs --webdriver=9515 

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

exports.config = { 
    seleniumAddress: 'http://localhost:9515', 

    specs: ['spec.js'], 

    capabilities: { 
     'browserName': 'phantomjs', 

     /* 
     * Can be used to specify the phantomjs binary path. 
     * This can generally be ommitted if you installed phantomjs globally. 
     */ 
     'phantomjs.binary.path': './node_modules/phantomjs/bin/phantomjs', 

     /* 
     * Command line arugments to pass to phantomjs. 
     * Can be ommitted if no arguments need to be passed. 
     * Acceptable cli arugments: https://github.com/ariya/phantomjs/wiki/API-Reference#wiki-command-line-options 
     */ 
     'phantomjs.cli.args': ['--logfile=PATH', '--loglevel=DEBUG'] 
     } 
}; 

И тогда вы сможете запускать тесты, выполнив:

node_modules\.bin\protractor test\conf.js 
+0

Получил эту работу с угловым кли – Wungsow

Смежные вопросы