Muszę uruchomić testy kątomierza w różnych kontekstach z różnymi baseUrl
s w plikach konfiguracyjnych. Nie chcę używać oddzielnych plików konfiguracyjnych dla każdej sytuacji, ponieważ jest to trudniejsze do utrzymania. Zamiast tego chcę przekazać adres bazowy jako parametr wiersza poleceń. Oto, co starałem dotąd:Jak sparametryzować właściwość baseUrl pliku konfiguracyjnego kątomierza
The protractor.conf.js:
exports.config = {
onPrepare : {
...
exports.config.baseUrl = browser.params.baseUrl;
...
}
}
i powołać się kątomierz:
protractor protractor.conf.js --params.baseUrl 'http://some.server.com'
To nie działa, ponieważ wydaje się, że przykład browser
jest już skonfigurowany przed wywołaniem onPrepare
.
Podobnie Próbowałem to:
exports.config = {
baseUrl : browser.params.baseUrl
}
Ale to nie działa albo ponieważ wydaje się, że przykład przeglądarki nie jest dostępna, gdy config jest generowany.
Wygląda na to, że mogę użyć standardowego węzła process.argv
, aby uzyskać dostęp do wszystkich argumentów wiersza poleceń, ale wydaje się, że jest to niezgodne z duchem kątomierza.
Jaki jest najlepszy sposób, aby zrobić to, co muszę zrobić?
Dzięki za udostępnienie. Powinieneś przesłać prośbę o dodanie do dokumentów, jeśli uznasz to za stosowne. – glepretre
Tak, rozważę to. –
Dla każdego, kto potrzebuje dostępu do niego w bloku 'onPrepare', o jaki prosił OP, może to zrobić za pomocą następującego kodu: https://github.com/angular/protractor/blob/1.7.0/docs/referenceConf. js # L195-L208 i użyj config.baseUrl. – cerd