71 nezodpovězených kritických otázek v rozhovoru se selenem

V tomto kurzu se selenovými otázkami týkajícími se rozhovorů se budeme zabývat všemi důležitými otázkami týkajícími se rozhovorů se selenem spolu s pokročilými otázkami týkajícími se rozhovorů se Selenium Automation. Tento kurz je rozdělen do tří segmentů:

Selenium Framework Interview Otázky

Předběžné otázky týkající se selenu

Otázky k pohovoru se středně pokročilým selenem

POZNÁMKA : Těžištěm tohoto selenového rozhovoru Výukový program Dotazy a odpovědi je diskutovat o nejkritičtějších a nejsložitějších dotaznících, jak byste již mohli znát základní dotazníky.

Zpočátku začneme s otázkami a odpověďmi na pohovor v rámci Advance Selenium Framework a poté přejdeme na otázky a odpovědi na pohovor se kritickým / pokročilým selenem a nakonec tento tutoriál dokončíme na středně pokročilých úrovních, abyste se mohli dobře připravit.

Selenium Interview Otázky
Selenium Interview Otázky

Selenium Framework Interview Otázky

Pokročilé otázky týkající se selenu

Otázky k pohovoru se středně pokročilým selenem

Selenium Framework Interview Otázky: 

Kolik populárních typů selenového rámce existuje?

Existují čtyři různé typy selenového rámce, které jsou: 

Kolik různých přístupů existuje k návrhu rámce modelu Page Object Model?

Co je Page Factory v selenu?

PageFactory je třída z knihovny Selenium z balíčku s názvem jako org.openqa.selenium.support, která pomáhá navrhnout vzor Page Object Design v rámci modelu Page Object Model, který má několik implementací, jako například:

Jaký je hlavní designový rozdíl mezi klasickým objektovým modelem stránky a přizpůsobeným objektovým modelem stránky?

Každá webová stránka by tedy měla mít jedno rozhraní pro ukládání lokátorů a 1 třídu pro webové operace na úrovni stránky a jejich respektování.

Jaký je princip návrhu rámce Page Object Model Framework?

Princip návrhu rámce modelu objektu stránky je založen na principech nebo konceptech, které jsou: 

Všechny akce stránky (různé operace s funkcemi webové stránky) se tedy nacházejí v příslušných třídách stránek.

Uveďte klíčové rozdíly mezi objektovým modelem stránky a hybridním objektovým modelem stránky?

Rozdíl mezi modelem modelu stránky a hybridním objektovým modelem stránky spočívá v tom, že hybridní model objektového modelu stránky je založen na konstrukčním rámci modelu objektového modelu stránky spolu s rozsáhlými funkcemi rámce založeného na datech a podporuje širokou škálu nástrojů pro datové operace, jak je uvedeno níže. : 

Jaký je jazykový analyzátor použitý v rámci Cucumber -BDD?

Analyzátor jazyků používaný v rámci Cucumber -BDD je Gherkin.

Co je to okurka?

Gherkin je jazyk DSL (Domain Specific Language) a angličtina, který je velmi dobře čitelný a srozumitelný (tj. Give (), when (), then () atd.)

Co myslíte pod pojmem dané () v okurce?

 Metoda Given () uvádí, že je dána nebo uvedena nějaká situace nebo scénář.

 Co myslíte tím, když () v Gherkin?

When () znamená, když provádíte některé operace.

Co myslíš tím () v Gherkin?

then () se používá jako tvrzení po provedení operací pomocí dané (). when ().

Jaký nástroj CI používáte jako součást rámce?

Jenkins (hlavně) používáme jako nástroj CI s otevřeným zdrojovým kódem.

Jaký nástroj pro sestavení používáte jako součást rámce?

Používáme nástroje pro sestavení, jako je Maven / Gradle / ant (dříve se používalo).

Jaký je hlavní rozdíl mezi Maven a Gradle?

Gradle je pokročilá verze toho, co maven provádí, a spolu s tím můžeme také vytvářet úkoly (jako funkce, která byla k dispozici v ANT), takže můžeme uvažovat na vysoké úrovni: 

Gradle = >> Maven + Ant 

Jako součást Selenium C # používáme Gallio jako nástroj pro sestavení. 

Co je to Unit Unit framework, který používáme jako součást Selenium Automation framework?

Hlavně používáme TestNG / JUnit (JUnit je dnes méně používaný) jako součást testovacího rámce jednotky při vytváření automatizačního rámce se selenem. 

Jako součást rámce Selenium C # používáme NUnit / MbUnit jako rámec testování jednotek.

Jaký přístup lze vzít v úvahu při navrhování nástrojů pro podávání zpráv jako součást rámce selenu?

Při navrhování rámce můžeme použít různý přístup k podávání zpráv:

Kromě integrace těchto nástrojů pro vytváření zpráv s otevřeným zdrojovým kódem se můžeme také rozhodnout pro některé pokročilé funkce pro vytváření sestav nebo řídicí panel, který bude vytvořen pomocí níže uvedených technologií a nástrojů:

Jak používáte ELK k sestavení řídicího panelu hlášení pomocí Selenium Framework:

K návrhu řídicího panelu automatizace se používá základní princip základního návrhu, kterými jsou: 

Jak vytvoříte sestavu přizpůsobenou HTML?

K záznamu událostí a jejich příslušných datových sad a vytváření HTML pomocí těchto datových sad a značek HTML v nástrojích pro sestavy můžete použít různá rozhraní posluchačů a reportérů, která poskytuje TestNg.

Jakým výzvám jste čelili při vytváření rámce?

Existují různé výzvy, které můžete zmínit podle vašich zkušeností při vývoji rámce, například: 

Uveďte, které všechny komponenty selenu jste použili v rámci Selenium Framework?

Můžete zmínit v závislosti na vašem rámci.

Jaký je tok vašeho automatizačního rámce?

Můžete zmínit tok provádění vašeho rámce v závislosti na vašem toku rámce a nástrojích, které jste použili; níže můžete uvést příklad:

CI (Jenkins) → Build Tools (Maven /Gradle) → Rámec pro testování jednotek (TestNg) → TestNg.xml - >> TestClasses → BaseTest (každá testovací třída rozšiřuje základní třídu jako baseTest, kde končí @beforeClass / @ BeforeSuite @afterClass atd.) -> TestMethods → PageClasses → Metody stránky → WebUtilities ( opakovaně použitelná třída pro nástroje WebAction) - >> Reporting Utils 

Co chápete podle rámce řízeného daty a kde používáme rámec řízený daty?

Rámec založený na datech je v podstatě rámec, který je řízen daty. Řekněme, že ve kterém je aplikace nebo typ aplikace, kde se stejné testovací případy nebo scénáře provádí několikrát s různými datovými sadami nebo zdrojem nebo daty, je velmi rozsáhlá, jako v případě, kdy potřebujeme interagovat s různými Datové zdroje tam používáme Data-driven framework. 

Jiný zdroj dat může být: 

Jak vysvětlit rámec automatizace selenu v rozhovoru?

 K vysvětlení rámce automatizace selenu v rozhovoru můžete použít různé přístupy; nejlepším možným přístupem by mohl být modulární přístup, který má rozdělit vysvětlení na různé samostatné moduly, například:

Pojďme diskutovat podrobně: 

Typ rámce a klíč a jedinečné vlastnosti rámce:

Musíte zmínit typ rámce, jako je Hybrid Framework, framework modelu objektových stránek, hybridní rámec Page Object Model atd. 

Musíte zmínit jedinečné vlastnosti rámce, jako například:

Nástroje a technologie používané v rámci selenu:

Můžete zmínit nástroje a technologie použité při vývoji rámce, například:

Tok provádění rámce selenu:

Můžete zmínit tok provádění rámce, tj. Jak spouštíte testovací sady a jak proudí do testovacích případů / metod a do rámcových nástrojů, jako jsou webutils, datové nástroje atd. Můžete se podívat na výše uvedenou otázku kde jsme diskutovali o tom, jak vysvětlit tok provádění selenového rámce.

Různé kritické scénáře zpracované vaším rámcem:

V tomto modulu můžete s vaší architekturou diskutovat o kritických funkcích, které byly automatizovány jako součást vaší automatizace aplikací. Existuje mnoho případů použití nebo funkcí, které zde můžete zmínit, například: 

Jak navrhnout scénáře protokolování v rámci Selenium?

Můžete použít log4j pro protokolování, nebo můžete použít implementaci řídicího panelu protokolování a ladění v reálném čase s Graylog, který v zásadě používá ElasticSearch v back-endu pro protokolování v reálném čase a podrobnosti ladění.

Jaké jsou návrhové vzory, které jste použili při navrhování rámce?

Můžete použít různé návrhové vzory podle potřeby a návrhu automatizačního rámce, například:

Kritické nebo předběžné otázky se selenem:

Kolik způsobů můžete spustit automatizační skript paralelně?

Existuje několik způsobů a přístupů, pomocí kterých můžete paralelně spouštět testovací skripty, například: 

Maven:

Používání pluginu surefire: 

5

 skutečný

Počet vidlic zde představuje počet paralelních vláken.

Gradle: 

tasks.withType(Test) {
        maxParallelForks = Runtime.runtime.availableProcessors()
    }

Jaký je rozdíl mezi metodami setSpeed ​​() a sleep ()?

Metoda setSpeed ​​() v selenu v zásadě nastavuje rychlost provádění každé akce / příkazu. 

Řekněme tedy, že pokud nastavíte rychlost („2000“), pak bude každý řádek spuštění zpožděn o 2000 XNUMX milisekund. 

Na druhou stranu Thread.sleep () zavede zpoždění 3000 milisekund (pozastaví vlákno pro konkrétní operaci). 

Proto se režim spánku () použije na 1 operaci; na druhou stranu setSpeed ​​() zavádí zpoždění pro každou operaci a tím nastavuje rychlost provádění.  

Jak ověřit přítomnost posuvníku se selenem? 

K ověření vodorovného posuvníku na webové stránce se selenem používáme Javascriptexecutor následujícím způsobem: 

JavascriptExecutor javascriptExecutor = (JavascriptExecutor) driver;
Boolean presenceOfHorizontalScroll = (Boolean) javascriptExecutor.executeScript("return document.documentElement.scrollWidth>document.documentElement.clientWidth;");

Chcete-li ověřit svislý posuvník na webové stránce pomocí Selenium webdriver také musíme použít Javascriptexecutor

JavascriptExecutor javascriptExecutor = (JavascriptExecutor) driver;
Boolean presenceOfVerticalScroll  = (Boolean) javascriptExecutor.executeScript("return document.documentElement.scrollHeight>document.documentElement.clientHeight;");

Napište kód pro zpracování skrytých webových prvků v selenovém webdriveru?

WebElement element=driver.findElement(By.id("id_of_Element"));
JavascriptExecutor jsExecutor = (JavascriptExecutor)driver;
jsExecutor.executeScript("arguments[0].click();", element);

Zmínit různé přístupy ke zpracování vyskakovacího okna založeného na okně pomocí webového ovladače Selenium?

Níže uvedené přístupy můžete použít ke zpracování aplikací založených na Window, jako je například okno Pop-up: 

Co je nadřazené rozhraní WebDriveru?

SearchContext

Uveďte klíčové rozdíly mezi POI a sklenicemi JXL?

POI podporuje podmíněné formátování, formátování RTF nebo formát xlsx, ale na druhou stranu JXL nepodporuje žádnou z těchto funkcí.

Knihovna POI je udržována a aktualizována ve srovnání s JXL.

Jak zvládáte latenci sítě pomocí selenu?

Ke zpracování latence sítě pomocí selenu můžeme použít následující: 

Driver.manage.pageloadingtime

Jaké jsou vaše přístupy k testování obsahu Ajaxu pomocí Selenium WebDriver?

AJAX je v podstatě asynchronní Javascript a XML. Veškerá komunikace aplikace založené na AJAX je založena na asynchronních hovorech, 

které umožňují provedení jakékoli události bez obnovení webové stránky. Každá operace může být provedena nezávisle na jiných událostech.

Jaké jsou výzvy při práci s voláními AJAX? Selenium WebDriver?

Chcete-li pracovat s aplikací AJAX, možná budete muset použít čekání na výše uvedené případy použití: 

Jaký je přístup k práci s proxy v Selenium Webdriver?

Existují dva různé přístupy, se kterými můžete zacházet v proxy serveru v Selenium Webdriver: 

Proxy proxy=new Proxy();
proxy.setHttpProxy("localhost:8889");
DesiredCapabilities capabilities=new DesiredCapabilities();
capabilities.setCapability(CapabilityType.PROXY, proxy);
WebDriver driver=new FirefoxDriver(capabilities);

Uveďte způsoby, jak dosáhnout synchronizace ve WebDriveru?

Synchronizaci v selenovém webdriveru zvládneme pomocí jiného mechanismu čekání: 

Uveďte klíčové rozdíly mezi TestNg @BeforeTest a @BeforeMethod? 

V TestNg @BeforeTest a @BeoreMethod má různé aspekty, jsou:

Seznam různých typů rozhraní WebDriver API přítomných v selenu?

Kolik způsobů můžete dosáhnout bezhlavého provedení se selenem?

Níže uvedené ovladače můžeme použít k dosažení bezhlavé automatizace se selenem: 

Co je plynulé čekání v selenu WebDriver?

S aplikací FluentWait můžete nastavit maximální dobu (řekněme 3 minuty) čekání na splnění konkrétní podmínky a během této doby budete průběžně dotazovat nebo kontrolovat s určitou frekvencí (velmi malá jednotka času, řekněme 3 s) zkontrolovat.

Pokud je podmínka splněna, vrátí hodnotu true a pokud ne, vyvolá výjimku „ElementNotVisibleException“.

Syntaxe fluentwait v selenu je:

Wait fluentWait = new FluentWait(driver).withTimeout(100, TimeUnit.SECONDS)
  .pollingevery(2, TimeUnit.SECONDS)
  .ignoring(ElementNotVisibleException.class);

Řekněte nám několik výjimek selenu, se kterými jste se setkali při práci s` Selenium WebDriver?

Jak smažete soubory cookie v selenu?

Příkaz k odstranění souborů cookie v selenu je: 

driver.manage().deleteAllCookies();

Vysvětlete přístup, jak čtete proměnnou javascript v selenovém webdriveru?

Abychom to mohli udělat, musíme použít JavascriptExecutor. 

JavascriptExecutor jsExecutor = (JavascriptExecutor) webdriver;
String jsVariable = (String.valueOf(jsExecutor.executeScript("return document.title")));

Jak provést operaci přiblížení a oddálení prohlížeče v selenu?

Můžeme provádět operace přiblížení a oddálení v selenu pomocí dvou různých přístupů, například: 

Přiblížení pomocí třídy Robot v selenu

Robot robotInstance = new Robot();
//Zoom in

robotInstance.keyPress(KeyEvent.VK_CONTROL);
robotInstance.keyPress(KeyEvent.VK_ADD);
robotInstance.keyRelease(KeyEvent.VK_ADD);
robotInstance.keyRelease(KeyEvent.VK_CONTROL);

Oddálení pomocí třídy Robot v selenu


Robot robotInstance = new Robot();
robotInstance.keyPress(KeyEvent.VK_CONTROL);
robotInstance.keyPress(KeyEvent.VK_SUBTRACT);
robotInstance.keyRelease(KeyEvent.VK_SUBTRACT);
robotInstance.keyRelease(KeyEvent.VK_CONTROL);

Přiblížení pomocí třídy klíčů v selenu

driver.findElement(By.tagName("html")).sendKeys(Keys.chord(Keys.CONTROL,Keys.ADD));

Oddálení pomocí třídy Robot v selenu

driver.findElement(By.tagName("html")).sendKeys(Keys.chord(Keys.CONTROL,Keys.SUBTRACT));

Jak vyčistit pole v selenu bez použití metody clear ()?

Můžeme vymazat jakékoli pole bez použití metody clear () v níže uvedeném přístupu: 

K dosažení stejného výsledku můžeme použít třídu klíčů v selenu: 

WebElement element = driver.findElement(By.id("id_of_Element"));
element.sendKeys(Keys.chord(Keys.CONTROL, "a"));
element.sendKeys(Keys.DELETE);

Jak znovu spustit neúspěšné testovací případy selenu?

Neúspěšné testovací případy selenu můžeme znovu spustit v následujících dvou přístupech:

S automaticky generovaným TestNG-failed.xml:

Po provedení testu (běh z testng.xml), TestNG automaticky vygeneruje TestNG-failed.xml; můžete znovu spustit stejný XML a spustit POUZE neúspěšné testy.

Realizací Rozhraní IRetryAnalyzer od testNg :

Implementací rozhraní IRetryAnalyzer můžeme automaticky znovu spustit neúspěšné testovací případy pomocí TestNg:


If you implement the IRetryAnalyzer you can auto rerun  failed test with TestNg :

public class Retry implements IRetryAnalyzer {
   int counter = 1;
   int retryMaxLimit = 3;
   public boolean retry(ITestResult result) {
       if (counter < retryMaxLimit) {
           counter++;
           return true;
       }
       return false;
   }
}

Jak zvýraznit prvek v selenu WebDriver?

Můžeme použít JavascriptExecutor k nastavení barvy Webelementu uvedením prvku.


WebElement element = driver.findElement(By.xpath("id_of_the_element"));
JavascriptExecutor jsExecutor = (JavascriptExecutor) driver;
jsExecutor.executeScript("arguments[0].setAttribute('style', 'background: red; border: 2px solid red;');", element);

Jak dvakrát kliknout na selen?

Můžeme použít Třída akcí na selenu k provádění operací DoubleClick níže uvedeným způsobem. Níže uvedená metoda přebírá argument, na kterém musíte provést DoubleClick.

public void doubleClick(By locator) {
\t\ttry {
\t\t\tWebElement element = driver.findElement(locator);
\t\t\tActions actions = new Actions(driver).doubleClick(element);
\t\t\tBASE_LOGGER.info("Performed the double Click on the Element  : " + locator);
\t\t} catch (StaleElementReferenceException e) {
\t\t\tBASE_LOGGER.error("Element is not attached to the page document " + e.getCause().getMessage());
\t\t} catch (NoSuchElementException e) {
\t\t\tBASE_LOGGER.error("Element " + locator + " was not found in DOM " + e.getCause().getMessage());
\t\t} catch (Exception e) {
\t\t\tBASE_LOGGER.error("Element " + locator + " was not clickable " + e.getCause().getMessage());
\t\t}
\t}

Jak procházet selenem?

K posouvání musíme použít Javascript a níže uvedená metoda poskytuje pokročilý přístup k posouvání do prvku, dokud není prvek viditelný, což je posouvání do zobrazení: 

public void scrollIntoView(By locator) {

  try {
     JavascriptExecutor executor = (JavascriptExecutor) driver;
     WebElement element = driver.findElement(locator);
     executor.executeScript("arguments[0].scrollIntoView(true);", element);
     BASE_LOGGER
           .info("scrollIntoView operation has been performed for the locator : " + String.valueOf(element));
  } catch (Exception e) {
     String exceptionData = e.getCause().getMessage();
     BASE_LOGGER.error("Error encountered i.e : " + exceptionData
           + " while performing scrollIntoView on the element : " + locator);

  }

}

Jak získat všechny odkazy na stránce v selenu?

Můžeme použít By.tagName („a“) k načtení všech odkazů, které jsou na stránce k dispozici, protože odkaz odkazuje na značku nazvanou jako; metoda jde následujícím způsobem: 

public List<WebElement> getAllLinks() {

  try {
     List<WebElement> allLinks = driver.findElements(By.tagName("a"));
     int numberOfLinks = allLinks.size();
     BASE_LOGGER.info("Number of Links in the Current Page is : " + numberOfLinks);
     BASE_LOGGER.info("GetAllLinks operation has been performed for the Current Page : ");
     return allLinks;
  } catch (Exception e) {
     String exceptionData = e.getCause().getMessage();
     BASE_LOGGER.error("Error encountered i.e : " + exceptionData
           + " while performing GetAllLinks for the Current Page :");
     return null;
  }

}

Jak zjistit počet prvků iframe na stránce v selenu?

Níže uvedenou metodou můžeme zjistit počet prvků iframe na stránce v selenu:

public int numberOfIframesInPage() {
  try {
     JavascriptExecutor exe = (JavascriptExecutor) driver;
     Integer numberOfIFrames = Integer.parseInt(exe.executeScript("return window.length").toString());
     BASE_LOGGER.info("Number of IFrames in the current Window are : " + numberOfIFrames);
     return numberOfIFrames;

  } catch (Exception e) {
     BASE_LOGGER
           .error("Exception occurred in Finding numberOfIframesInPage with : " + e.getCause().getMessage());
     return 0;
  }

}

Jak přepnout na výchozí rámec v selenu webdriver?

Můžeme použít metodu switchTo () defaultContent () k přepnutí na výchozí snímek v Selenium Webdriver: 

public void switchToDefaultFrame() {
  try {
     driver.switchTo().defaultContent();
     BASE_LOGGER.info("Switched to Default Content ");
  } catch (Exception e) {
     BASE_LOGGER.error("Exception Occurred while switching to default Content ");
  }
}

Jak zacházet s kartami v selenu?

Můžeme použít seznam k uložení všech dostupných karet a použití driver.getWindowHandles () k uložení karet a poté můžeme zpracovávat karty jeden po druhém v níže uvedeném přístupu, například: 

public void switchToTab(int indexOfTab) {

  try {

     ArrayList<String> tabs = new ArrayList<String>(driver.getWindowHandles());
     driver.switchTo().window(tabs.get(indexOfTab));
     BASE_LOGGER.info("Successfully switched to tab with tab index as : " + indexOfTab);
  } catch (Exception e) {
     String exceptionData = e.getCause().getMessage();
     BASE_LOGGER.error(
           "Unable to Switch to Tab for :" + indexOfTab + " i.e failed with exception as : " + exceptionData);

  }



}

Otázky k pohovoru se středně pokročilým selenem

Je WebDriver třída nebo rozhraní?

Webdriver je rozhraní, kde všechny třídy ovladačů, jako je ChromeDriver, FirefoxDriver, vytvářejí objekt a mají odkaz na odkaz na rozhraní Webdriver.

Který z nich je rychlejší, XPath nebo CSS?

CSS je rychlejší než XPath. 

Proč je CSS rychlejší než XPath?

Každý modul prohlížeče je jiný, a proto se strategie analýzy a implementace modulu liší prostřednictvím písemného XPath. Proto se analýza XPath stává občas nekonzistentní; například IE nemá vlastní implementaci enginu pro analýzu XPATH; proto Selenium vstřikuje svůj vlastní nativní XPath engine pro analýzu XPATH v IE. 

Co jsou zvýšené privilegované prohlížeče?

Když jsou prohlížeče otevřeny s některými předdefinovanými nastaveními (instance se zvláštním privilegovaným režimem), například s určitými profily nebo certifikáty, pak se tomu říká zvýšená relace privilegovaných prohlížečů. 

Můžeme spusťte prohlížeč se Selenium s Profilováním nebo nastavit certifikáty pro stejné účely.

Co je bezhlavý prohlížeč Selenium a jak provádíme testování bezhlavého prohlížeče?

  Bezhlavý prohlížeč je simulační program pro prohlížeč, kde nemáme uživatelské rozhraní, ale stále můžeme spustit testovanou aplikaci v neviditelném režimu 

 a provést požadovanou webovou operaci na pozadí.

 K provádění bezhlavého testování používáme ovladače prohlížeče HeadLess, například ovladač HTMLUNIT nebo ovladač phantomJS.

Selen vs. loutkář? 

Mezi selenem a loutkářem existuje několik rozdílů (což je nový nástroj ve srovnání se selenem a vyvinutý společností Google Chrome DEV)

Zde probereme srovnání mezi loutkářem Selenium VS v různých aspektech: 

HardAssert vs SoftAssert?

Oba přístupy k tvrzení pocházejí z TestNg a každý z nich má své příslušné výhody a nevýhody

 Pokud se nacházíte za okolností, kdy potřebujete mít tvrzení, které je zřejmé, tj. Bez tohoto kroku nemá smysl provádět zbývající kroky skriptu, můžete tam dát Hard Assert.

 Jak nastavit velikost okna v selenu?

Můžeme vytvořit objekt třídy Dimension a předat tento objekt metodě setSize (): 

Dimension dimension = new Dimension(480,700);
driver.manage().window().setSize(dimension);

Jaký systém pro správu verzí používáte při práci se selenem?

Můžete zmínit jakýkoli VCS, který používáte, například Github, SVN atd.

Jak naklonovat git repo?

Git repo můžeme naklonovat pomocí:

Git clone repo

Jak vytáhnout Git repo kód?

Git pull remoteRepoURL branchName

Jak poslat kód do git repo?

Git push remoteURL branchName

Jak nastavit dálkový ovladač? 

git remote add ProvideARemoteName remoetURL

Jak ověřit dostupné dálkové ovladače?

Git remote -v 

Jak zkontrolovat, ve které vzdálené adrese URL se aktuálně nacházíte? 

git config --get remote.origin.url

Jak můžete integrovat svůj rámec s Jenkinsem?

Jako součást rámce Selenium Automation používáme nástroje pro sestavení (například Maven / Gradle) a můžeme vytvořit Jenkins Job a připojit Maven / Gradle poskytnutím konfigurace s VCS (tj. Github atd.)

Jaké jsou nevýhody Sikuli?

Jak provést testování databáze pomocí selenu?

Můžeme provést testování databáze pomocí selenu v níže uvedeném modulárním přístupu: 

Níže je fragment kódu pro výše uvedené kroky: 

Nastavení připojení k databázi selenu pomocí JAVA JDBC a vytvoření příkazu DB: 

   static Connection connection = null;
   private static Statement statement;
   public static String DataBase_URL = "DB_URL";
   public static String DataBase_USER = "DB_UserName";
   public static String DataBase_PASSWORD = "DB_password";



   /* This method Creates the connection with Java JDBC and return it to the Test method to use along with statement 
   */
@BeforeTest
   public void setUp() throws Exception {
       try{

           String dbClass = "com.mysql.cj.jdbc.Driver";
           Class.forName(dbClass).newInstance();
           Connection con = DriverManager.getConnection(DataBase_URL, DataBase_USER, DataBase_PASSWORD);
           statement = con.createStatement();
       }
       catch (Exception e)
       {
           e.getCause().getMessage().toString();

       }


   }

Použijte příkaz k dotazování DB s SQL: 

@Test
public void test() {
   try{
       String queryData = "select * from TableName";

       ResultSet res = statement.executeQuery(queryData);
       while (res.next())
       {
           System.out.print(res.getString(1));
           System.out.print(" " + res.getString(2));
       }
   }
   catch(Exception e)
   {
       e.getMessage();
   }
}

Ukončení datového připojení: 

Tento krok je velmi důležitý; v opačném případě můžeme skončit vytvořením více databázových připojení bez jejich uzavření po použití, což může způsobit několik problémů. 

Zde je fragment kódu pro stejné: 

@AfterTest
public void tearDown() throws Exception {

   if (connection != null) {
       connection.close();
   }
}

Jak ověřit barvu pozadí a barvu WebElement pomocí selenu? 

Musíme použít metodu nazvanou getCssValue („barva“) pro získání barvy webového prvku a getCssValue („barva pozadí“) vytáhnout barvu pozadí webového prvku.

Zde je fragment kódu: 

String colour  = driver.findElement(By.xpath("XPATH_of_the_Element")).getCssValue("color");

String backgroundColour = driver.findElement(By.xpath("XPATH_of_the_Element")).getCssValue("background-color");

Jak ověřit velikost písma WebElement pomocí selenového webdriveru? 

Můžeme použít metodu nazvanou getCssValue („velikost písma“)

String fontSize  = driver.findElement(By.xpath("XPATH_of_the_Element")).getCssValue("font-size");

Jak ověřit typ písma webového prvku v Selenium Webdriver? 

String fontSize = driver.findElement(By.xpath("XPATH_of_the_Element")).getCssValue("font-type");

Jak získat text popisu v selenu?

Získání textu popisu WebElementu není nic jiného než získání atributu title Webelementu následujícím způsobem: 

public String getToolTipData(By locator){

   WebElement element=driver.findElement(locator);
   return element.getAttribute("title");
}

Co je StaleElementException? 

Zastaralý prvek znamená, že když webový prvek již není připojen k DOM / WebPage, který byl dříve přítomen. V takovém případě selen hodí výjimku staleelement.

K tomu může dojít z několika různých důvodů, například z důvodu volání AJAX nebo JavaScript, které mění stav

prvku je nedostupný / odpojený od DOM.  

Proč investovat do čističky vzduchu? : S tím jsme skončili se sadami kritických otázek týkajících se rozhovorů se selenem, které pokrývají otázky týkající se rozhovorů se selenovým rámcem, Přečtěte si zde a získejte hloubku koncepty selenu porozumět architektuře selenu.

Zanechat komentář