Odpowiedz

9

Istnieje kilka wersji Selenium, z których najnowszy (jak sądzę) jest Selenium Web Driver, który pozwala na stworzenie sterownika, który obsłuży przeglądarkę dla ciebie poprzez symulację działań, które wchodzą w interakcje z interfejsem, podobnie jak (przez drut JSONA).

Moje obecne rozumienie Karmy (które mogę dodać jest bardzo ograniczone) polega na tym, że polega on w dużej mierze na wykonywaniu skryptów javascript. Z tego powodu Karma musiałaby wywoływać zmiany w elementach (np. W "rozmycie" i "najeżdżanie"), podczas gdy Selen po prostu klikałby, tabulował, przesuwał kursor na. Przeglądarki Selenium są ograniczone do tych podanych na ich stronie internetowej: here.

+0

czy istnieje sposób na owijanie zdarzeń ui, czy nie trzeba ich wyraźnie wywoływać w jaśminu? – Nikos

22

Istnieje ogromna różnica między karmą a selenem. Selenium ma wbudowany mechanizm kontroli przeglądarki, podczas gdy Karma tego nie robi. Selenium jest więc bardziej odpowiedni do testów końcowych, na przykład z nightwatch.js. Karma jest przeznaczona do testów jednostkowych, więc o wiele trudniej jest przeprowadzić na niej end-endowe testy, możesz dodać np. Launcher phantomjs, ale nigdy nie będzie to taki sam jak prawdziwy test przeglądarki z Selenium ... Myślę, że zarówno mogą uruchomić dowolną platformę testową js, jeśli masz adapter ... Mocha, jaśmin, qunit itp.

+0

Kiedy używam wyrzutni Chrome Karmy, uruchamia ona wystąpienie przeglądarki Chrome. Czy to nie to samo, co korzystanie z Chrome? Nie retoryczne, poważnie nie wiem – Francisc0

-1

Zależy od tego, co testujesz. Jeśli używasz javascript do pisania testów jednostkowych - poprzez jaśmin/mocha/chai lub odpowiednik to - argument, że karma polega w dużej mierze na javascript i selen, nie jest - jest zbędny.

Z mojego doświadczenia wynika, że ​​pracowałem z bardzo małą liczbą dedykowanych automatycznych testerów, i chociaż język selenu może być ich wyborem, biblioteka metod selenowych nie jest tak łatwa do zapamiętania jak odpowiednik silnika selektora, takiego jak jquery.

Trudność dla dedykowanych zautomatyzowane testerów do nauki języka, a brak zainteresowania dla programistów, aby dowiedzieć się mniejszą język utrwala brak inwestycji dla przedsiębiorstw do inwestowania w bardziej skomplikowanych automatycznego testowania

Odnotowano kilka Augmentacja implementacji jquery z selenem na przestrzeni lat, ale żadna z nich nie ma naprawdę wielkich obserwatorów, a większość jest napisana w Javie.

Webdriverio posiada pakiet npm ma pewne cechy jQuery - https://www.npmjs.com/package/webdriverio-jquery

Karma posiada środki do importowania cały silnik jQuery - https://github.com/bessdsv/karma-jasmine-jquery

To zależy od tego, co jest w fazie testów. Jeśli testujesz kod front-end, to ma sens używanie javascriptu i łatwiej jest używać jquery niż języka selenu, a obecnie karma obsługuje jquery lepiej niż webdriver.

Używanie jquery do testowania automatycznego umożliwiałoby przekazywanie umiejętności do programowania i na odwrót, aby programiści przechodzili w automatyczne testy.

Powiązane problemy