2016-09-05 7 views
0

, поэтому у меня есть сервер nodejs, и я хочу начать с некоторых функциональных тестов с помощью nightwatch.тест не выполнен - ​​ночной со стандартным мокко и phantomjs

Если я запускаю селен вручную и запускаю его с помощью mocha (команда: mocha ./test/functional/*.spec.js --compilers js: babel-register), он запускает сервер узлов и отлично работает в firefox (по умолчанию - по пути с использованием стандартных мокко, как он может быть изменен с по умолчанию Firefox на другой браузер):

import nightwatch from 'nightwatch'; 

require('../../server'); 

describe('Functional', function wrapIt() { 
    const client = nightwatch.initClient({ 
    silent: true, 
    }); 

    const browser = client.api(); 

    this.timeout(99999999); 

    beforeEach((done) => { 
    client.start(done); 
    }); 

    it('should login', (done) => { 
    browser 
     .url('http://localhost:8441/') 
     .waitForElementVisible('button[name=login]', 1000) 
     .click('button[name=login]') 
     .pause(1000); 

    browser.expect.element('button').to.have.attribute('class').which.contains('theme__button'); 
    browser.end(); 
    client.start(done); 
    }); 

    after((done) => { 
    browser.end(); 
    client.start(done); 
    }); 
}); 

Теперь я хочу, чтобы положить его на бамбуке и использовать phantomjs, начинается селен сервер, nodejs запуск сервера но тест не выполняется. У меня есть nightwatch.json:

{ 
    "src_folders" : ["test/night"], 
    "output_folder": "reports", 
    "test_runner" : "mocha", 

    "selenium" : { 
    "start_process": true, 
    "server_path": ".//bin/selenium-server-standalone-2.53.1.jar", 
    "log_path": "./reports", 
    "host": "127.0.0.1", 
    "port": 4444 
    }, 

    "test_settings" : { 
    "default" : { 
     "desiredCapabilities": { 
     "browserName": "phantomjs", 
     "phantomjs.cli.args" : ["--ignore-ssl-errors=true"], 
     "version":"latest", 
     "javascriptEnabled": true, 
     "acceptSslCerts": true 
     } 
    } 
    } 
} 

, nightwatch.conf.js является:

require('babel-core/register'); 

module.exports = require('./nightwatch.json'); 

и тестовый скрипт в ночной папке:

require('../../server'); 

describe('Functional', function wrapIt() { 
    const client = this.client; 
    const browser = client.api(); 

    this.timeout(99999999); 

    beforeEach((done) => { 
    client.start(done); 
    }); 

    it('should login', (done) => { 
    browser 
     .url('http://localhost:8441/') 
     .waitForElementVisible('button[name=login]', 1000) 
     .click('button[name=login]') 
     .pause(1000); 

    browser.expect.element('button').to.have.attribute('class').which.contains('theme__button'); 
    browser.end(); 
    client.start(done); 
    }); 

    after((done) => { 
    browser.end(); 
    client.start(done); 
    }); 
}); 

Так работает он с nightwatch запускает сервер selenium, также сервер nodejs начинает нормально, но потом ничего не происходит s.

+0

это путь селена сервера ри GHT? Кроме того, у вас есть журналы из Bamboo? Они могут помочь вам указать на проблему. – reergymerej

ответ

0

Я изменил его, используя WebDriver:

export const client = require('webdriverjs').remote({ // eslint-disable-line 
    // Settings 
    desiredCapabilities: { 
    // You may choose other browsers 
    // http://code.google.com/p/selenium/wiki/DesiredCapabilities 
    browserName: 'phantomjs', 
    }, 
    // webdriverjs has a lot of output which is generally useless 
    // However, if anything goes wrong, remove this to see more details 
    logLevel: 'silent', 
}); 

client.init(); 

и:

require('../../server'); 

const client = require('./client').client; 

describe('Functional testing', function wrapIt() { 
    this.timeout(99999999); 

    before((done) => { 
    client.init().url('http://localhost:8441/', done); 
    }); 

    describe('Check homepage',() => { 
    it('should login', (done) => { 
     client.waitFor('button[name=login]', 100,() => { 
     client.click('button[name=login]',() => { 
      client.element('.theme__button*'); 
      client.waitForVisible(1000); 
      client.end(); 
     }); 
     }); 
     done(); 
    }); 
    }); 

    after((done) => { 
    client.end(); 
    done(); 
    }); 
}); 

и он работает работает Мокко»./test/funcTest.js' --compilers ЯШ: столпотворение регистра -t 10000

PS: селен уже начал местный и бамбук я добавил, чтобы начать ввод команды это

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

  • Нет связанных вопросов^_^