2015-07-09 16 views
6

Aktualnie pracuję nad aplikacją Electron i teraz chcę zintegrować testowanie od końca do końca z Protractor. Zapoznałem się z samouczkami dotyczącymi Kątomierza i próbuję teraz dostosować go do elektroniki. Ponieważ Electron działa jako samodzielna aplikacja, jak to zrobić?Aplikacja elektroniczna z kompleksowym testowaniem kątomierza

Wydaje się, że stoi kątomierz-up serwer selen, który następnie próbuje dotrzeć do dostępnego serwera HTTP i uruchomić testy, takie jak kliknięcie tutaj, co mam na URL, wejście ten tekst, itp

Dlatego w jaki sposób chciałbym zezwolić selenowi na dostęp do instancji elektronowej?

W każdym razie, to jest mój sposób myślenia o sytuacji, każda pomoc jest doceniana i nie krępuj się poprawić moje założenia.

+1

Widzieliście jak używać Selemium z Electron: https://github.com/atom/electron/blob/master/docs/tutorial/using -selenium-and-webdriver.md? Nie wiem jednak o Protractor. –

Odpowiedz

4

Adaptacja z instrukcjami opisanymi w Using Selenium and WebDriver, oto co trzeba umieścić w kątomierz config (używając directConnect, jako przykład):

exports.config = { 
    directConnect: true, 

    capabilities: { 
     browserName: "chrome", 
     chromeOptions: { 
      binary: '/Path-to-Your-App.app/Contents/MacOS/Atom' // < IMPORTANT! 
     }, 
    }, 

    // ... 
} 

(nie badane) odpowiedź

+0

Fajnie więc wypróbowałem 'directConnect' i to zadziałało. Moim prawdziwym problemem było to, że musiałem faktycznie zbudować swoją aplikację, a następnie wskazać ją jako binarną. Dlatego jeśli możesz poprawić swoją odpowiedź, kładąc nacisk na plik binarny (jest to twoja aplikacja), to zaakceptuję tę odpowiedź. – cha55son

+0

@ cha55son tak, 'binary' jest kluczem do skonfigurowania. 'directConnect' było tylko ze względu na przykład i prostotę. – alecxe

+0

@alecxe to jest świetne! Jedynym problemem jest to, że klucz 'binary' musi być pod' chromeOptions' patrz odpowiedź @ BladeBarringer na korektę. –

3

alecxe jest głównie poprawne, ale jest z tym jedna drobna niedokładność.

binarne powinny być zagnieżdżone pod chromeOptions tak:

exports.config = { 
    directConnect: true, 

    capabilities: { 
    browserName: "chrome", 
    chromeOptions: { 
     binary: '/Path-to-Your-App.app/Contents/MacOS/Atom' // < IMPORTANT! 
    } 
    }, 

    // ... 
}