testowanie jest kluczowym etapem w cyklu życia oprogramowania (SDLC). Testowanie ręczne obejmuje w szczególności fizyczne wykonywanie przypadków testowych przeciwko aplikacjom w celu wykrycia błędów i błędów. Jednak ręczne testowanie stanowiło wiele wyzwań i poszukiwano metody automatyzacji procesu testowania. W rezultacie wprowadzono selen, potężne zautomatyzowane narzędzie do testowania.,

Selenium jest otwartym, zautomatyzowanym narzędziem do testowania aplikacji internetowych w różnych przeglądarkach. A więc smutna część, Selenium może testować tylko aplikacje internetowe. Aplikacji stacjonarnych i mobilnych nie można testować przy użyciu Selenium. Jednak inne narzędzia, takie jak QTP HP i Appium, między innymi, mogą być używane do testowania oprogramowania i aplikacji mobilnych.

Wyróżnij się wśród swoich rówieśników w tym sezonie oceny

rozpocznij naukę z naszymi bezpłatnymi Kursamiroll teraz

ale co sprawia, że selen jest szeroko stosowanym narzędziem testowym?, Oto kilka powodów:

  1. Selenium jest łatwy w użyciu, ponieważ jest zasadniczo rozwijany w JavaScript.
  2. Selenium może testować aplikacje internetowe na przeglądarkach takich jak Firefox,Opera, Chrome i Safari.
  3. kod testowy może być napisany w różnych językach programowania, takich jak Java, Perl, Python i PHP.
  4. Selenium jest niezależne od platformy i może być wdrożone na różnych systemach operacyjnych, takich jak Windows, Linux i Macintosh.
  5. Selenium można zintegrować z narzędziami innych firm, takimi jak JUnit i TestNG do zarządzania testami.,

Jeśli wszyscy jesteście przygotowani na wywiad z Selenium, oto 30 najczęściej zadawanych pytań w wywiadzie.

Poziom Początkujący pytania dotyczące wywiadu z Selenium

jakie są składniki pakietu Selenium?

Selenium IDE

jest to wtyczka do Firefoksa / Chrome, która została opracowana w celu przyspieszenia tworzenia skryptów automatyzacji. Rejestruje działania użytkownika w przeglądarce internetowej i eksportuje je jako skrypt wielokrotnego użytku.

Selenium Remote Control (RC)

RC jest serwerem, który pozwala użytkownikom pisać testy aplikacji w różnych językach programowania., Polecenia ze skryptu testowego są akceptowane przez ten serwer i wysyłane do przeglądarki jako polecenia JavaScript Selenium core. Następnie przeglądarka zachowuje się odpowiednio.

Selenium WebDriver

WebDriver jest interfejsem programistycznym, który pomaga tworzyć i uruchamiać przypadki testowe. Przewiduje działanie na elementach www. W przeciwieństwie do RC, WebDriver nie wymaga dodatkowego serwera i natywnie współdziała z aplikacjami przeglądarki.

Siatka Selenium

siatka została zaprojektowana do dystrybucji poleceń na różne maszyny jednocześnie., Umożliwia równoległe wykonywanie testów na różnych przeglądarkach i różnych systemach operacyjnych. Jest wyjątkowo elastyczny i jest zintegrowany z innymi komponentami pakietu w celu jednoczesnej realizacji.

jakie są ograniczenia badania selenu?

  1. niedostępność niezawodnej pomocy technicznej: ponieważ Selenium jest narzędziem open-source, nie ma dedykowanej pomocy technicznej do rozwiązywania zapytań użytkowników.
  2. testuje tylko aplikacje internetowe: Selenium musi być zintegrowane z narzędziami innych firm, takimi jak Appium i TestNG, aby przetestować aplikacje komputerowe i mobilne.,
  3. ograniczone wsparcie dla testowania obrazów.
  4. brak wbudowanego narzędzia do raportowania i zarządzania testami: Selenium musi być zintegrowane z takimi narzędziami, jak TestNG lub JUnit, aby ułatwić raportowanie i zarządzanie testami.
  5. może wymagać znajomości języków programowania: Selenium WebDriver oczekuje od użytkownika podstawowej wiedzy na temat programowania.

jakie są typy testów obsługiwane przez Selenium?

selen wspiera testowanie regresyjne i testowanie funkcjonalne.,

testowanie regresji-jest to pełny lub częściowy wybór już wykonanych przypadków testowych, które są ponownie wykonywane, aby zapewnić prawidłowe działanie istniejących funkcjonalności.

kroki to –

  1. ponowne testowanie: wszystkie testy w istniejącym zestawie testów są wykonywane. Okazuje się to bardzo kosztowne i czasochłonne.
  2. wybór testu regresji: testy są klasyfikowane jako testy funkcji, testy integracyjne i testy end to end. W tym kroku wybrane są niektóre testy.,
  3. ustalanie priorytetów przypadków testowych: wybrane przypadki testowe są ustalane priorytetowo na podstawie wpływu biznesowego i krytycznych funkcjonalności.

testowanie funkcjonalne-testowanie funkcjonalne obejmuje weryfikację każdej funkcji aplikacji z wymaganą specyfikacją.

wykonaj następujące czynności:

  1. Zidentyfikuj dane wejściowe testu
  2. Oblicz wynik testu
  3. wykonaj test
  4. Porównaj wynik testu z rzeczywistym wynikiem

Jaka jest różnica między selenem 2.0 a selenem 3.0?

Selen 2.,0 to narzędzie ułatwiające tworzenie automatycznych testów dla aplikacji internetowych. Stanowi połączenie oryginalnego projektu Selenium z projektem WebDriver. Selenium RC zostało wycofane, ponieważ połączenie zostało jednak użyte do wstecznej kompatybilności

Selenium 3.0 jest rozszerzoną wersją Selenium 2.0. Jest z natury wstecznie kompatybilny i nie obejmuje selenu RC. Nowa wersja pojawiła się wraz z kilkoma poprawkami błędów i zwiększoną stabilnością.,

Co to jest polityka tego samego pochodzenia i jak jest obsługiwana?

Ta sama polityka pochodzenia jest funkcją przyjętą ze względów bezpieczeństwa. Zgodnie z tymi zasadami przeglądarka internetowa umożliwia skryptom z jednej strony dostęp do zawartości innej strony, pod warunkiem, że obie strony mają takie samo pochodzenie. Pochodzenie odnosi się do kombinacji schematu URL, nazwy hosta i numeru portu.

ta sama zasada pochodzenia uniemożliwia złośliwemu skryptowi na jednej stronie dostęp do poufnych danych na innej stronie internetowej.,

rozważ program JavaScript używany przez google.com. ta aplikacja testowa może uzyskać dostęp do wszystkich stron domeny Google, takich jak google.com/login, google.com/mail, itd. Jednak nie może uzyskać dostępu do stron z innych domen, takich jak yahoo.com

Selenium RC zostało wprowadzone w celu rozwiązania tego problemu. Serwer działa jak klient skonfigurowany serwer proxy HTTP i „oszukuje” przeglądarkę, wierząc, że rdzeń Selenium i testowana aplikacja webowa pochodzą z tego samego pochodzenia.,

Full Stack Java Developer Course

the Gateway to Master Web DevelopmentExplore Course

Co to jest Selenese? Jak to jest tajne?

Selenese jest zestawem poleceń Selenium, które są używane do testowania Twojej aplikacji internetowej. Tester może przetestować niedziałające linki, istnienie jakiegoś obiektu w interfejsie użytkownika, funkcjonalność Ajax, alerty, okno, Opcje listy i wiele więcej za pomocą Selenese.,

Akcja: polecenia, które oddziałują bezpośrednio z aplikacją

Accessors: pozwalają użytkownikowi na przechowywanie pewnych wartości do zmiennej zdefiniowanej przez użytkownika

Assertions: weryfikuje bieżący stan aplikacji ze stanem oczekiwanym

wymienia typy lokalizatorów internetowych.

Locator to polecenie, które informuje Selenium IDE, na których elementach GUI ( np. polu tekstowym, przyciskach, polach wyboru itp.) musi działać. Lokalizatory określają obszar działania.,

Locator by ID: pobiera parametr string, który jest wartością atrybutu ID, który zwraca obiekt do metody findElement ().

driver. findElement(By.id („użytkownik”));

Locator by the link: jeśli twoim docelowym elementem jest tekst linku, możesz użyć by.lokalizator linkText do zlokalizowania tego elementu.

kierowca.findElement (By.linkText („dzisiejsze umowy”)).click ();

Locator by Partial link: łącze docelowe może być zlokalizowane przy użyciu fragmentu tekstu w elemencie tekstowym łącza.

kierowca.findElement (By.linkText („usługa”)).,click ();

Locator by Name: zostanie zwrócony pierwszy element z wartością atrybutu name pasującą do lokalizacji.

driver. findElement(By.name („książki”). click ());

Locator by TagName: lokalizuje wszystkie elementy o pasującej nazwie tagu

sterownik.findElement (By.tagName („przycisk”).click ());

Locator by classname: wyszukuje elementy na podstawie wartości atrybutu CLASS. Jeśli element ma wiele klas, to będzie pasował do każdej z nich.

kierowca.findElement (By.,className („inputtext”));

Locator by XPath: pobiera parametr String, który jest wyrażeniem XPATHEXPRESSION i zwraca obiekt do metody findElement ().

kierowca.findElement (By.xpath („//span”)).getText();

Locator by CSS Selector: lokalizuje elementy w oparciu o podstawowy silnik selektora CSS sterownika.

driver.findElement(By.cssSelector(„input#email”)). sendKeys(„[email protected]”);

jakie są typy czeków obsługiwanych przez WebDriver?,

Implicit wait – Implicit wait powoduje, że Selenium odczekuje pewien czas przed wyrzuceniem wyjątku „No such element”.

kierowca.manage ().timeouts ().implicitlyWait (TimeOut, TimeUnit.SECONDS);

Explicit wait – Explicit wait służy do tego, aby Driver webowy czekał na określone warunki przed wyrzuceniem wyjątku „ElementNotVisibleException”.,

WebDriverWait wait = new WebDriverWait(odniesienie do WebDriver, TimeOut);

Fluent wait – służy do informowania sterownika sieci Web o oczekiwaniu na warunek, a także częstotliwości, z jaką chcemy sprawdzić warunek przed wyrzuceniem wyjątku „ElementNotVisibleException”.

wspomnij o rodzajach poleceń nawigacyjnych

driver.navigate().to(„https://www.ebay.in/”); – nawiguje do podanego adresu url

driver.Nawiguj ().refresh (); – metoda ta odświeża bieżącą stronę

sterownik.Nawiguj ().,forward (); – ta metoda wykonuje taką samą operację jak kliknięcie przycisku Forward dowolnej przeglądarki. Niczego nie przyjmuje ani nie zwraca.

kierowca.Nawiguj ().back (); – ta metoda wykonuje taką samą operację jak kliknięcie przycisku Back w dowolnej przeglądarce. Niczego nie przyjmuje ani nie zwraca.

jaka jest główna różnica między kierowcą.close() I driver.quit ()?

kierowca.close()

To polecenie zamyka bieżące okno przeglądarki. Jeśli wiele okien jest otwartych, bieżące okno ostrości zostanie zamknięte.

kierowca.,quit ()

gdy quit () jest wywołane NA instancji sterownika i jest otwarte jedno lub więcej okien przeglądarki, zamyka ona wszystkie otwarte okna przeglądarki.

Intermediate Level Selenium Interview Questions

Jak wpisać tekst w polu wprowadzania za pomocą Selenium?

sendKeys() jest metodą używaną do wpisywania tekstu w polach wprowadzania

rozważ następujący przykład –

webelement email = driver. findElement(By.id („email”)); – wyszukuje tekst „email” używając lokalizatora ID

email. sendKeys(„[email protected]”); – wpisuje tekst do pola URL

WebElement password = driver.,findElement(By.id („Password”)); – wyszukuje tekst” password ” używając identyfikatora

hasło.sendKeys („abcdefgh123”); – wpisuje tekst w pole hasła

Jak kliknąć hiperłącze w Selenium?

kierowca.findElement (By.linkText („dzisiejsze umowy”)).click ();

polecenie wyszukuje element za pomocą linku tekstowego, a następnie klika na ten element, gdzie po użytkownik zostanie przekierowany do odpowiedniej strony.

kierowca.findElement (By.partialLinkText („usługa”)).,click ();

powyższe polecenie wyszukuje element na podstawie podłańcucha linku podanego w nawiasie i tym samym partialLinkText () wyszukuje element web.

Jak przewijać stronę w dół za pomocą JavaScript?

metoda scrollBy() służy do przewinięcia strony w dół

składnia Ogólna:

executeScript(„okno.scrollBy (x-pixels,y-pixels)”);

najpierw Utwórz obiekt JavaScript

JavascriptExecutor js = (JavascriptExecutor) driver;

Uruchom żądaną aplikację

driver.,get(„https://www.amazon.com”);

przewiń w dół do żądanej lokalizacji

js.executeScript („okno.scrollBy(0,1000)”);

okno nie jest przewijane pionowo o 1000 pikseli

Jak sprawdzić tytuł strony?

Pobierz tytuł strony i zapisz w zmiennej

String actualTitle = driver.getTitle();

wpisz oczekiwany tytuł

String expectedTitle = „abcdefgh”;

sprawdź, czy oba są równe

if(actualTitle.equalsIgnoreCase (expectedTitle))

System.Wynocha.println („Tytuł dopasowany”);

else

System.Wynocha.,println („Tytuł nie pasował”);

alternatywnie,

.assertEquals (actualTitle, expectedTitle);

Jak najechać myszką na element www?

narzędzie klasy Actions służy do najechania kursorem na element web w Selenium WebDriver

Instantiate Actions class.

Actions action = new Actions (driver);

w tym scenariuszu najeżdżamy kursorem na pole wyszukiwania strony

actions.moveToElement(driver.findElement(By.id („id Wyszukiwarki”)).,perform ();

opanuj ważne koncepcje testowania, takie jak TestNG, Selenium IDE, Selenium Grid, Selenium WebDriver. Sprawdź szkolenie certyfikacyjne Selenium. Zapisz się już teraz!

Jak odzyskać właściwości CSS elementu?

metoda getCssValue() służy do pobierania właściwości CSS dowolnego elementu webowego

składnia Ogólna:

driver.findElement(By.id („id”)). getCssValue („nazwa atrybutu css”);

przykład:

driver.findElement (By.id („email”)). getCssValue („font-size”);

Co to jest POM (Page Object Model)?,

każda strona internetowa aplikacji ma odpowiednią klasę strony, która odpowiada za lokalizowanie elementów sieci web i wykonywanie na nich działań. Model obiektowy strony to wzorzec projektowy, który pomaga tworzyć repozytoria obiektów dla elementów sieci web. POM poprawia możliwość ponownego użycia i czytelność kodu. W repozytorium obiektu można uruchomić wiele przypadków testowych.

można zautomatyzować?

nie, selen nie może zautomatyzować ., Cóż, cała koncepcja polega na tym, aby boty i zautomatyzowane programy nie miały dostępu do poufnych informacji – dlatego Selenium nie może ich zautomatyzować. Inżynier testu automatyzacji musi ręcznie wpisać, podczas gdy inne pola mogą być wypełnione automatycznie.

Jak Selenium radzi sobie z wyskakującymi okienkami?

Selenium został zaprojektowany do obsługi aplikacji internetowych. Funkcje systemu Windows nie są natywnie obsługiwane przez Selenium. Jednak narzędzia innych firm, takie jak AutoIT, Robot itp., mogą być zintegrowane z Selenium w celu obsługi wyskakujących okienek i innych funkcji opartych na systemie Windows.,

Jak robić screeny w Webdriverze?

TakeScreenshot interface może być używany do robienia zrzutów ekranu w WebDriver.

metoda getScreenshotAs() może być użyta do zapisania zrzutu ekranu

Plik scrFile = ((TakeScreenshot)sterownik).getScreenshotAs (outputType.Plik);

poziom zaawansowany pytania wywiadu Selenium

czy istnieje sposób na wpisanie textboxa bez użycia SendKeys()?

tak! Tekst można wprowadzić do pola tekstowego przy pomocy sterownika JavaScriptExecutor

JavascriptExecutor jse = (JavascriptExecutor);

jse.executeScript („dokument.getElementById(’email').,value=”[email protected]”);

Jak wybrać wartość z listy rozwijanej w Selenium WebDriver?

Select class w WebDriver służy do wybierania i odznaczania opcji z listy rozwijanej.

obiekty typu Select można zainicjować przekazując rozwijany webElement jako parametr do jego konstruktora.

WebElement testDrop = driver.findElement(By.id („testingDropdown”));

Select dropdown = new Select (testDrop);

WebDriver oferuje trzy sposoby wyboru z listy rozwijanej:

selectByIndex: Selection based on index starting from 0

dropdown.,selectByIndex (5);

selectByValue: wybór na podstawie wartości

rozwijane.selectByValue („Książki”);

selectByVisibleText: Wybór opcji, która wyświetla tekst pasujący do podanego argumentu

rozwijany.selectByVisibleText („Alchemist”);

do czego służy polecenie switchTo ()?

polecenie switchTo() służy do przełączania między oknami, ramkami lub wyskakującymi okienkami w aplikacji. Każde okno utworzone przez WebDriver otrzymuje unikalną wartość alfanumeryczną o nazwie „window Handle”.,

Pobierz uchwyt okna okna, które chcesz przełączyć na

String handle= driver.getWindowHandle();

przełącza się na żądane okno

sterownik.switchTo ().window (handle);

alternatywnie

for(String handle= driver.getWindowHandles ())

{driver.switchTo ().window (handle);}

Jak wgrać plik w Selenium WebDriver?

możesz to osiągnąć używając metody SendKeys () lub klasy robota. Znajdź pole tekstowe i ustaw ścieżkę do pliku za pomocą SendKeys () i kliknij przycisk Wyślij

Znajdź przycisk Przeglądaj

webelement browse =driver.,findElement(By.id („uploadfile”));

przekazuje ścieżkę pliku do przesłania za pomocą metody SendKeys

przeglądaj.sendKeys („D:\\SeleniumInterview\\UploadFile.txt”);

Jak ustawić rozmiar okna przeglądarki w Selenium?

rozmiar okna można zmaksymalizować, ustawić lub zmienić rozmiar

, aby zmaksymalizować sterownik

.manage ().window().maximize();

aby ustawić rozmiar okna

Dimension d = new Dimension (400,600);

sterownik.manage ().window().setSize (d);

alternatywnie,

rozmiar okna można zresetować przy pomocy sterownika JavaScriptExecutor

((JavascriptExecutor)).,executeScript („okno.resizeTo(1024, 768)”);

kiedy używamy findElement () i findElements ()?

findElement () służy do uzyskania dostępu do dowolnego pojedynczego elementu na stronie internetowej. Zwraca obiekt pierwszego pasującego elementu podanego lokalizatora.

składnia Ogólna:

element WebElement = driver. findElement(By.id (przykład));

findElements () służy do znalezienia wszystkich elementów na bieżącej stronie pasujących do podanej wartości lokalizatora. Wszystkie pasujące elementy zostaną pobrane i zapisane na liście elementów sieci Web.,

składnia Ogólna:

List<WebElement> elementList = driver.findElements(By.id (przykład));

Co to jest pauza na wyjątku w Selenium IDE?

użytkownik może użyć tej funkcji do obsługi wyjątków, klikając ikonę pauzy w prawym górnym rogu IDE. Gdy skrypt znajdzie wyjątek, zatrzymuje się przy danej instrukcji i przechodzi w tryb debugowania. Cały przypadek testowy nie zawiedzie i dlatego użytkownik może natychmiast naprawić błąd.,

Jak zalogować się do dowolnej strony, jeśli wyświetla się wyskakujące okienko uwierzytelniania dla nazwy użytkownika i hasła?

aby obsłużyć wyskakujące okienka uwierzytelniania, zweryfikuj ich wygląd, a następnie obsłuż je za pomocą jawnego polecenia wait.

użyj jawnego polecenia wait

WebDriverWait wait = new WebDriverWait(driver, 10);

Klasa Alert jest używana do weryfikacji alertu

alert alert = wait.until (ExpectedConditions.alertIsPresent ());

po zweryfikowaniu należy podać dane uwierzytelniające

alert.,authenticateUsing(new UserAndPassword(<username>, <password>)));

Jaka jest różnica między pojedynczym i podwójnym ukośnikiem w XPath?

pojedynczy Ukośnik jest używany do tworzenia ścieżki XPath ze ścieżką bezwzględną, tzn. ścieżka XPath zostanie utworzona, aby rozpocząć zaznaczanie z węzła start.

/ html/body/div/div/A

Podwójny ukośnik służy do utworzenia Xpath ze ścieżką względną tzn., XPath zostanie utworzony, aby rozpocząć selekcję z dowolnego miejsca w dokumencie

//div/a

Jak znaleźć niedziałające linki w Selenium WebDriver?

gdy używamy sterownika.metoda get () aby przejść do adresu URL, odpowie on ze statusem 200 – OK

200-OK oznacza, że link działa i został uzyskany. Jeśli jakikolwiek inny status zostanie uzyskany, oznacza to, że link jest uszkodzony.,

niektóre kody statusu HTTP to :

  • 200 – poprawny Link
  • 404 – Link nie znaleziony
  • 400 – złe żądanie
  • 401 – Nieautoryzowano
  • 500 – Błąd wewnętrzny

jako starter uzyskaj linki z aplikacji internetowej, a następnie indywidualnie uzyskaj ich status.

przejdź do interesującej Cię strony np. www.amazon.com

Zbierz wszystkie linki ze strony. Wszystkie linki są powiązane z tagiem 'a'

List<WebElement> links = driver.findElements (By.,tagName („a”));

Utwórz listę typu WebElement, aby przechowywać w niej wszystkie elementy łącza.

for (int i=0; i<linki.size(); i++) {

element WebElement = links.get (i);

String url=element.getAttribute(„href”);

verifyLink(url); }

teraz Utwórz połączenie za pomocą obiektu URL( tj., link)

URL link = new URL(urlLink);

Połącz za pomocą metody Connect

HttpURLConnection httpConn =(HttpURLConnection)link.openConnection();

użyj getResponseCode (), aby uzyskać kod odpowiedzi

if(httpConn.getResponseCode()!,= = 200)

poprzez wyjątek, jeśli wystąpił jakikolwiek błąd

System.Wynocha.println („Broken Link”);

Twój kolejny krok do sukcesu

Po przejściu przez te pytania wywiadu Selenium, zrozumiałbyś, jakie pytania można zadać i jak na nie odpowiedzieć.

mamy eksperta branżowego, który ilustruje pewne fragmenty kodu, wyjaśniając, jak odpowiedzieć na pytania. Jeśli chcesz rozpocząć swoją podróż jako inżynier automatyzacji testów, oto kurs certyfikacyjny, który będzie przydatny. Sprawdź Szkolenie Simplilearn Selenium., Szkolenie to ma na celu przeszkolenie programistów i testerów manualnych w zakresie automatyzacji aplikacji internetowych za pomocą solidnego frameworka i integracji ich z procesami DevOps organizacji oraz pomoc w opanowaniu ważnych pojęć, takich jak TestNG, Selenium IDE i Selenium Grid.

Articles

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *