2016-06-24 15 views
5

Używam kątomierza do testowania kodu kątowego. Test działa dobrze, gdy uruchamiam go za pomocą sterownika chrome, który domyślnie jest obsługiwany przez webdriver-manager. Teraz chcę uruchomić ten sam test z phantomjs (przeglądarka bezgłowy), ponieważ muszę uruchomić ten test przez serwer. Ale podczas uruchamiania testu poprzez phantomjs otrzymuję błąd:Nie można uruchomić testu kątomierza z phantomjs

Failed: Angular could not be found on the page URL : retries looking for angular exceeded

conf jest:

exports.config = { 
framework: 'jasmine', 
seleniumAddress: 'http://localhost:4444/wd/hub', 
specs: ['demo-test.js'], 
capabilities: { 
    browserName: 'phantomjs', 
    version: '', 
    platform: 'ANY' 
}; 

demo test.js plik wygląda następująco:

// demo-test.js 
describe('Protractor Demo App', function() { 
jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000000; 

beforeEach(function() { 
    browser.driver.manage().window().setSize(1280, 1024); 
}); 
it('should have a title', function() { 
    browser.get('URL'); 

    expect(browser.getTitle()).toEqual('Title'); 

}); 

Proszę mi pomóc. Mam zainstalowany kątomierz za pomocą instrukcji od oficjalnych site i zainstalowanych phantomjs poprzez

sudo apt-get install phantomjs

+1

Nie polecam phantomJS z kątomierzem. Zamiast tego spróbuj użyć XVFB z chrome na serwerze, aby uruchomić przeglądarkę z wirtualnym wyświetlaczem. – martin770

+0

Hej @ martin770 dzięki za sugestię, czy możesz podać dowolny link do dokumentu, w którym mogę znaleźć sposób na zrobienie tego? –

Odpowiedz

1

możliwość zwiększenia zły czas oczekiwania:

jasmine.DEFAULT_TIMEOUT_INTERVAL = 10000000; 

Ten limit czasu dla testu jaśminu, aby nie uruchamiać zbyt długo. Jeśli chcesz czekać na stronie obciążenia i kątowe na stronie dłużej - dodać do kątomierza config plik:

getPageTimeout: timeout_in_millis //default 10 sec 
allScriptsTimeout: timeout_in_millis //default 11 sec 

Więcej o limity czasu tutaj - http://www.protractortest.org/#/timeouts

również sprawdzić, które wskazują, aby skorygować element główny:

// CSS Selector for the element housing the angular app - this defaults to 
    // body, but is necessary if ng-app is on a descendant of <body>. 
    rootElement: 'body', 

nie polecam runnning testy kątomierz na phantomJS, to naprawdę działa odmiennie od rzeczywistych przeglądarek, a czasami można pominąć prawdziwych błędów, lub znaleźć coś konkretnego do phantomJS.

+0

dzięki @ Xotabu4, co polecacie wtedy? –

+0

Użyj chrome lub firefox, jeśli większość użytkowników na nim. – Xotabu4