71 megválaszolatlan kritikus szelén interjúkérdés

Ebben a szelén interjúkérdésekről szóló oktatóanyagban a szelénnel kapcsolatos interjúkra vonatkozó összes kritikus kérdést, valamint a speciális szelénautomatizálási keretrendszer interjúkérdéseit tárgyaljuk. Ez az oktatóanyag három részre oszlik:

Szelén Keretinterjúkérdések

Előzetes szelén interjúkérdések

Intermediate szelén interjúkérdések

JEGYZET : A Szelén interjú Kérdések és válaszok oktatóanyagának középpontjában a legkritikusabb és legösszetettebb kérdőívek megvitatása áll, mivel Ön már ismeri a webhelyen található alapvető kérdőíveket.

Kezdetben az Advance Selenium Framework interjúk kérdéseivel és válaszaival kezdjük, majd továbblépünk a kritikus/haladó szelén interjú kérdéseivel és válaszaival, majd végül középszintekkel fejezzük be ezt az oktatóanyagot, hogy jól felkészülhessen.

Szelén interjúkérdések
Szelén interjúkérdések

Szelén Keretinterjúkérdések

Előzetes szelén interjúkérdések

Intermediate szelén interjúkérdések

Szelén keretinterjú kérdései: 

Hány népszerű szelén keret létezik?

Négy különböző típusú szelén keret létezik, amelyek a következők: 

Hány különböző megközelítés létezik az oldalobjektum modell keretrendszerének megtervezésére?

Mi az a Page gyár a szelénben?

A PageFactory egy osztály a Selenium könyvtárból az org.openqa.selenium.support nevű csomagból, amely segít megtervezni az oldalobjektum tervezési mintáját a Page Object Model keretrendszerben, amely kevés megvalósítást tartalmaz, mint például:

Mi a legfontosabb tervezési különbség a klasszikus oldalobjektum-modell és a testreszabott oldalobjektum-modell között?

Tehát minden weboldalnak rendelkeznie kell egy interfésszel a helymeghatározók tárolására, valamint egy osztályral az oldalszintű webes műveletekhez és azok tiszteletben tartásához.

Mi a Page Object Model Framework tervezési elve?

Az oldalobjektum modell keretrendszerének tervezési elve olyan elveken vagy koncepciókon alapul, amelyek a következők: 

Tehát az összes oldalművelet (a weboldal funkcióinak különböző műveletei) a megfelelő oldalosztályokon található.

Említse meg a főbb különbségeket az oldalobjektum-modell és a hibrid oldalobjektum-modell között?

A különbség az oldalobjektum-modell és a hibrid oldalobjektum-modell között az, hogy a hibrid oldalobjektum-modell az oldalobjektum-modell keretrendszer tervezésén, valamint az adatvezérelt keretrendszer kiterjedt szolgáltatásain alapul, és támogatja az adatműveleti segédprogramok széles skáláját, például az alábbiakat. : 

Milyen nyelvet használ a Parser az Uborka -BDD keretrendszerben?

A Cucumber -BDD keretrendszerben használt nyelvi elemző a Gherkin.

Mi az uborka nyelv?

A Gherkin egy DSL (Domain Specific Language) és angolszerű nyelv, amely nagyon jól olvasható és érthető (azaz adja(), mikor(),then(), stb.)

Mit értesz adott() alatt uborka nyelven?

 Az adott () metódus azt állítja, hogy adott vagy kimondott helyzet vagy forgatókönyv.

 Mit értesz a mikor() alatt Gherkinben?

Amikor () azt jelenti, amikor bizonyos műveleteket hajt végre.

Mit értesz akkor() uborka alatt?

A then() a megadott() műveletek végrehajtása után állításként használatos.when() .

Milyen CI-eszközt használ a keretrendszer részeként?

A Jenkinst (főleg) nyílt forráskódú CI-eszközként használjuk.

Milyen építőeszközt használ a keretrendszer részeként?

Építőeszközöket használunk, mint például a Maven/Gradle/ant (ezt korábban használták).

Mi a legfontosabb különbség a maven és a Gradle között?

A Gradle a maven teljesítményének továbbfejlesztett változata, és ezzel együtt feladatokat is létrehozhatunk (mint például az ANT-ban elérhető szolgáltatás), így magas szinten mérlegelhetjük: 

Gradle =>> Maven +Ant 

A Selenium C# részeként a Gallio-t használjuk építőeszközként. 

Mi az a Unit Test keretrendszer, amelyet a Selenium Automation keretrendszer részeként használunk?

Leginkább a TestNG/JUnit-et használjuk (a JUnit-et manapság kevésbé használják) az egységteszt keretrendszer részeként, miközben az automatizálási keretrendszert Seleniummal építjük. 

A Selenium C# keretrendszer részeként az NUnit/MbUnit-ot használjuk egységteszt-keretrendszerként.

Milyen megközelítést lehet figyelembe venni a Jelentéskészítő eszközök tervezése során a Selenium keretrendszer részeként?

A keretrendszer kialakítása során többféle jelentéstételi megközelítést alkalmazhatunk:

A nyílt forráskódú jelentéskészítő eszközök integrációján kívül választhatunk néhány speciális jelentéskészítési funkciót vagy irányítópultot is, amelyeket az alábbi technológiákkal és eszközökkel készíthetünk:

Hogyan használja az ELK-t a jelentéskészítési irányítópult felépítéséhez a Selenium Framework segítségével:

Létezik egy alapvető tervezési alapelv, amelyet az automatizálási műszerfal tervezésénél használnak, amelyek a következők: 

Hogyan készíthet személyre szabott HTML jelentést?

Használhatja a TestNg által biztosított különböző figyelő és riporter felületeket az események és a hozzájuk tartozó adatkészletek rögzítésére, valamint HTML létrehozására ezen adatkészletek és a jelentési segédprogramokban található HTML-címkék használatával.

Milyen kihívásokkal kellett szembenéznie a keretrendszer kialakítása során?

A keretrendszer fejlesztése során szerzett tapasztalatai alapján különböző kihívásokat említhet meg, például: 

Említse meg, hogy mely szelén komponenseket használta fel a szelén keretrendszerében?

A kerettől függően megemlítheti.

Mi az automatizálási keretrendszer folyamata?

Megemlítheti a keretrendszer végrehajtásának folyamatát a Framework folyamatától és a használt eszközöktől függően; az alábbiakban egy példa, amit említhetsz:

CI (Jenkins) → Építőeszközök (Maven/Gradle) → Unit Test Framework (TestNg) → TestNg.xml ->> TestClasses → BaseTest(Minden tesztosztály kiterjeszti az alaposztályt baseTest-ként, ahol a @beforeClass /@BeforeSuite @afterClass etc kilép )–>TestMethods → PageClasses→ Web Page Methoties újrafelhasználható osztály a WebAction segédprogramokhoz )–>> Reporting Utils 

Mit ért az adatvezérelt keretrendszeren, és hol használunk adatvezérelt keretrendszert?

Az adatvezérelt keretrendszer alapvetően egy olyan keretrendszer, amelyet az adatok vezérelnek. Ennek ellenére, amikor az alkalmazás vagy az alkalmazás típusa, ahol ugyanazok a tesztesetek vagy forgatókönyvek többször futnak le a különböző adatkészletekkel vagy a forrással vagy az adatokkal, nagyon kiterjedt, mint abban az esetben, amikor különféle Az ottani adatforrásokat adatvezérelt keretrendszert használjuk. 

A különböző adatforrások lehetnek: 

Hogyan magyarázzuk el a szelén automatizálási keretrendszert egy interjúban?

 Különféle megközelítések alkalmazhatók a szelénautomatizálási keretrendszer magyarázatára egy interjúban; A lehető legjobb megközelítés a moduláris megközelítés lehet, amely a magyarázatot különböző különálló modulokra bontja, mint például:

Beszéljük meg részletesen: 

A keretrendszer típusa és kulcsa, valamint a keretrendszer egyedi jellemzői:

Meg kell említenie a keretrendszer típusát, például hibrid keretrendszert, oldalobjektum modell keretrendszert, hibrid oldalobjektum modell keretrendszert stb. 

Meg kell említenie a keretrendszer egyedi jellemzőit, mint például:

A Selenium keretrendszerben használt eszközök és technológiák:

Megemlítheti a keretrendszer fejlesztése során használt eszközöket és technológiákat, mint például:

A szelén keretrendszer végrehajtásának menete:

Megemlítheti a keretrendszer végrehajtásának folyamatát, azaz hogyan indítja el a tesztcsomagokat, és hogyan áramlik a tesztesetekhez/metódusokhoz, és egészen a Framework Utils-ig, például webutils, data utils stb. A fenti kérdésre hivatkozhat. ahol megbeszéltük, hogyan magyarázzuk meg a Selenium keretrendszer végrehajtásának folyamatát.

A keretrendszer által kezelt különböző kritikus forgatókönyvek:

Ebben a modulban megvitathatja azokat a kritikus funkciókat, amelyeket az alkalmazásautomatizálás részeként automatizáltak a keretrendszerrel. Számos használati esetet vagy funkciót említhet meg itt, például: 

Hogyan tervezzünk naplózási forgatókönyveket a Selenium keretrendszerben?

Használhatja a log4j-t a naplózáshoz, vagy a valós idejű naplózási és hibakereső irányítópult megvalósítását a Graylog-al, amely alapvetően az ElasticSearch-t használja a háttérben a valós idejű naplózás és hibakeresés részleteihez.

Milyen tervezési mintákat használt a keretrendszer tervezése során?

Különféle tervezési mintákat használhat az automatizálási keretrendszer igényeinek és kialakításának megfelelően, például:

Kritikus vagy előzetes szelén interjúkérdések:

Hányféleképpen futtathatja párhuzamosan az automatizálási szkriptet?

Számos mód és megközelítés létezik a tesztszkriptek párhuzamos futtatására, például: 

Maven:

Surefire plugin használata: 

5

 igaz

Itt a fork count a párhuzamos szálak számát jelenti.

Gradle: 

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

Mi a különbség a setSpeed() és a sleep() metódusok között?

A Selenium setSpeed() metódusa alapvetően beállítja az egyes műveletek/parancsok végrehajtásának sebességét. 

Tehát tegyük fel, ha beállítja a Speed(“2000”) értéket, akkor a végrehajtás minden sora 2000 ezredmásodperccel késik. 

Másrészt a Thread.sleep() 3000 ezredmásodperces késleltetést vezet be (felfüggeszti a szálat az adott művelethez). 

Ezért a sleep() 1 műveletre vonatkozik; másrészt a setSpeed() minden egyes művelethez bevezeti a késleltetést, és így beállítja a végrehajtás sebességét.  

Hogyan ellenőrizhető a szelént tartalmazó ScrollBar megléte? 

A vízszintes görgetősáv Selenium segítségével történő ellenőrzéséhez a Javascriptexecutor alkalmazást használjuk az alábbi módon: 

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

A függőleges görgetősáv ellenőrzéséhez a weboldalon a segítségével A Selenium webdriver-t is használnunk kell a Javascriptexecutor-t

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

Írja meg a kódot a rejtett webelemek kezeléséhez a szelén webdriverben?

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

Említsen különféle megközelítéseket az ablak alapú felugró ablakok kezelésére a Selenium webdriver használatával?

Az alábbi megközelítésekkel kezelheti az ablak alapú alkalmazásokat, például az ablak felugró ablakot: 

Mi a WebDriver szülőfelülete?

SearchContext

Említse meg a legfontosabb különbségeket a POI és a JXL üvegek között?

A POI támogatja a feltételes formázást, a rich text formázást vagy az xlsx formátumot, másrészt a JXL nem támogatja e szolgáltatások egyikét sem.

A POI-könyvtár a JXL-hez képest karbantartott és frissített.

Hogyan kezeli a hálózati késéseket a Selenium használatával?

A következőket használhatjuk a hálózati késleltetés kezelésére a Seleniumban: 

Driver.manage.pageloadingtime

Milyen megközelítéseket alkalmazna az Ajax tartalomtesztelése Selenium WebDriver segítségével?

Az AJAX alapvetően aszinkron Javascript és XML. Az AJAX alapú alkalmazás összes kommunikációja aszinkron hívásokon alapul, 

amelyek lehetővé teszik bármely esemény végrehajtását a weboldal frissítése nélkül. Minden művelet a többi eseménytől függetlenül is végrehajtható.

Melyek a kihívások az AJAX-hívásokkal végzett munka során? Szelén WebDriver?

Az AJAX alkalmazás használatához a fent említett használati esetekre várakoznia kell: 

Mi a megközelítés a Proxy használatához a Selenium Webdriverben?

A Selenium Webdriverben két különböző megközelítéssel kezelheti a proxyt: 

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

Említse meg a WebDriver szinkronizálásának módjait?

A Selenium webdriverben a szinkronizálást különböző várakozási mechanizmusokkal tudjuk kezelni: 

Említse meg a legfontosabb különbségeket a TestNg @BeforeTest és a @BeforeMethod között? 

A TestNg-ben a @BeforeTest és a @BeoreMethod különböző szempontokkal rendelkezik, a következők:

Sorolja fel a Seleniumban található WebDriver API-k különböző típusait?

Hányféleképpen érheti el a fej nélküli kivégzést a szelénnel?

Az alábbi illesztőprogramokat használhatjuk a fej nélküli automatizálás eléréséhez a Seleniummal: 

Mi az a Fluent Wait In Selenium WebDriver?

A FluentWait segítségével beállíthat egy maximális időtartamot (mondjuk 3 percet), amíg várni kell egy adott feltétel teljesítésére, és ezalatt folyamatosan lekérdez vagy ellenőriz egy bizonyos gyakorisággal (nagyon kis időegység, mondjuk 3). mp) ellenőrzéséhez.

Ha a feltétel teljesül, akkor igazat ad vissza, ha pedig nem, akkor „ElementNotVisibleException” kivételt dob.

A fluentwait szintaxisa a szelénben a következő:

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

Mondjon el néhány szelén kivételt, amelyekkel a Selenium WebDriver használata során találkozott?

Hogyan lehet törölni a cookie-kat a Seleniumban?

A Seleniumban lévő cookie-k törlésének parancsa a következő: 

driver.manage().deleteAllCookies();

Magyarázza el a megközelítést, hogy hogyan olvassa be a javascript változót a szelén webdriverben?

Ehhez JavascriptExecutor programot kell használnunk. 

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

Hogyan hajtsuk végre a nagyítást és a kicsinyítést a böngészőben szelénben?

A Seleniumban a nagyítási és kicsinyítési műveleteket két különböző megközelítéssel hajthatjuk végre, például: 

Nagyítás a szelén robotosztály segítségével

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);

Kicsinyítés a szelén robotosztály segítségével


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

Nagyítás a Keys osztály szelén használatával

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

Kicsinyítés a szelén robotosztály segítségével

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

Hogyan lehet egy mezőt szelénben törölni clear() metódus nélkül?

Bármely mezőt törölhetjük a clear() metódus használata nélkül az alábbi megközelítésben: 

Ugyanezt érhetjük el a Selenium Keys osztályával: 

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

Hogyan lehet újra futtatni a sikertelen teszteseteket szelénben?

A sikertelen teszteseteket újra lefuttathatjuk a Seleniumban az alábbi két módszerrel:

Az automatikusan generált TestNG-failed.xml fájllal:

A teszt végrehajtása után (a testng.xml fájlból futott) a TestNG automatikusan létrehozza a TestNG-failed.xml fájlt; CSAK a sikertelen tesztek futtatásához futtassa újra ugyanazt az XML-t.

Megvalósítással IRetryAnalyzer interfész a testNg-ből :

Az IRetryAnalyzer interfész implementálásával automatikusan újrafuthatjuk a sikertelen teszteseteket a TestNg segítségével:


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;
   }
}

Hogyan lehet kiemelni az elemet a Selenium WebDriver-ban?

A JavascriptExecutor segítségével beállíthatjuk a Webelem színét az elem említésével.


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);

Hogyan lehet duplán kattintani a szelénben?

Használhatjuk a Akcióóra a szelénben a DoubleClick-műveletek végrehajtásához az alábbi módon. Az alábbi módszer egy argumentumot vesz fel, amelyen a DoubleClick szolgáltatást kell végrehajtania.

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

Hogyan lehet görgetni a szelént?

Javascriptet kell használnunk a görgetés végrehajtásához, és az alábbi módszer egy fejlett megközelítést biztosít az elembe való görgetéshez, amíg az elem láthatóvá nem válik, ami görgetés a nézetbe: 

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);

  }

}

Hogyan lehet az oldalon lévő összes linket szelénben tárolni?

A By.tagName("a") segítségével lekérhetjük az oldalon található összes hivatkozást, mivel a link az a néven nevezett címkére utal; a módszer a következőképpen zajlik: 

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;
  }

}

Hogyan lehet megtalálni az iframe-ek számát egy oldalon a Seleniumban?

Az alábbi módszerrel megkereshetjük az iframe-ek számát egy oldalon a Seleniumban:

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;
  }

}

Hogyan válthatok alapértelmezett keretre a szelén webdriverben?

A switchTo().defaultContent() metódus használatával válthatunk alapértelmezett keretre a Selenium Webdriverben: 

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 ");
  }
}

Hogyan kezeljük a szelénben lévő lapokat?

Listában tárolhatjuk az összes elérhető lapot, és a driver.getWindowHandles() segítségével tárolhatjuk a lapokat, majd ezt követően egyenként kezelhetjük a lapokat az alábbi megközelítésben, például: 

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);

  }



}

Intermediate szelén interjúkérdések

A WebDriver egy osztály vagy egy interfész?

A Webdriver egy olyan felület, ahol az összes illesztőprogram-osztály, például a ChromeDriver, a FirefoxDriver létrehoz egy objektumot, és hivatkozik a Webdriver felület hivatkozására.

Melyik a gyorsabb, XPath vagy CSS?

A CSS gyorsabb, mint az XPath. 

Miért gyorsabb a CSS, mint az XPath?

Minden böngészőmotor más, ezért az elemzési stratégia és a motor megvalósítása eltérő az írott XPath révén. Ez az oka annak, hogy az XPath elemzése időnként inkonzisztenssé válik; például az IE nem rendelkezik saját motor implementációval az XPATH elemzéséhez; ezért a Selenium saját natív XPath motort fecskendez be az XPATH elemzéséhez az IE-ben. 

Mik azok a kiemelt privilegizált böngészők?

Ha a böngészőket bizonyos előre meghatározott beállításokkal (például speciális privilegizált móddal), például bizonyos profilokkal vagy tanúsítványokkal nyitják meg, akkor ezt fokozott privilegizált böngészők munkameneteinek nevezik. 

Tudjuk indítson böngészőt a Selenium segítségével profilozással vagy beállított tanúsítványokkal azonos célokra.

Mi az a fej nélküli böngésző Selenium, és hogyan végezzük a fej nélküli böngésző tesztelését?

  A fej nélküli böngésző egy olyan böngésző szimulációs programja, ahol nincs felhasználói felületünk, de láthatatlan módban is futtathatjuk a tesztelés alatt lévő alkalmazást. 

 és végezze el a kívánt webes műveletet a háttérben.

 HeadLess böngésző-illesztőprogramokat, például HTMLUNIT illesztőprogramot vagy phantomJS Driver-t használunk a fej nélküli böngésző teszteléséhez.

Szelén vs. bábszínész ? 

Számos különbség van a Selenium és a Puppeteer között (ami egy új eszköz a Seleniumhoz képest, és a Google Chrome DEV fejlesztette ki)

Itt megvitatjuk a Selenium VS Puppeteer összehasonlítását különböző szempontokból: 

HardAssert vs SoftAssert?

Mindkét állítási megközelítés a TestNg-ből származik, és mindegyiknek megvannak a maga előnyei és hátrányai

 Ha olyan körülmények között van, amikor egy nyilvánvaló állításra van szüksége, azaz e lépés nélkül a szkript többi lépésének nincs értelme végrehajtani, akkor oda helyezheti a Hard Assert-et.

 Hogyan állítsuk be az ablak méretét szelénben?

Létrehozhatunk egy Dimension osztály objektumot, és átadhatjuk azt a setSize() metódusnak: 

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

Milyen verziókezelő rendszert használ a Seleniummal végzett munka során?

Bármilyen VCS-t is megemlíthet, például Github, SVN stb.

Hogyan lehet klónozni egy git repót?

A git repót a következő használatával klónozhatjuk:

Git clone repo

Hogyan lehet lehúzni a Git repo kódot?

Git pull remoteRepoURL branchName

Hogyan lehet benyomni a kódot a git repo-ba?

Git push remoteURL branchName

Hogyan kell beállítani a távirányítót? 

git remote add ProvideARemoteName remoetURL

Hogyan ellenőrizhető a rendelkezésre álló távirányítók?

Git remote -v 

Hogyan ellenőrizhető, hogy jelenleg melyik távoli URL-en tartózkodik? 

git config --get remote.origin.url

Hogyan integrálhatja a keretrendszert a Jenkins-szel?

A Selenium Automation keretrendszer részeként építőeszközöket (például Maven/Gradle) használunk, és létrehozhatunk egy Jenkins Job-ot, és összekapcsolhatjuk a Maven/Gradle-t úgy, hogy a konfigurációt VCS-vel (pl. Github stb.) biztosítjuk.

Mik a Sikuli hátrányai?

Hogyan végezzünk adatbázistesztet szelén használatával?

Az alábbi moduláris megközelítésben végezhetünk adatbázistesztet szelén használatával: 

Íme az alábbi kódrészlet a fenti lépésekhez: 

A Selenium adatbázis-kapcsolat beállítása JAVA JDBC-vel, és létrehoz egy DB utasítást: 

   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();

       }


   }

Használja az utasítást a DB lekérdezéséhez SQL-lel: 

@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();
   }
}

Az adatkapcsolat lezárása: 

Ez a lépés nagyon fontos; ellenkező esetben előfordulhat, hogy több adatbázis-kapcsolatot hozunk létre anélkül, hogy a használat után bezárnánk őket, ami számos problémát okozhat. 

Íme a kódrészlet ugyanerről: 

@AfterTest
public void tearDown() throws Exception {

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

Hogyan ellenőrizhető a WebElement háttérszíne és színe szelén használatával? 

ún. módszert kell használnunk getCssValue(“szín”) a szín lekéréséhez egy webelem és getCssValue ("háttérszín") egy webelem háttérszínének kiemeléséhez.

Íme a kódrészlet: 

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");

Hogyan ellenőrizhető a WebElement betűmérete a Selenium webdriver segítségével? 

Használhatjuk a getCssValue("font-size") nevű metódust.

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

Hogyan ellenőrizhető egy webelem betűtípusa a Selenium Webdriverben? 

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

Hogyan lehet eszköztipp szöveget kapni szelénben?

A WebElement elemleírás szövegének lekérése nem más, mint a webelem cím attribútumának beszerzése az alábbi módon: 

public String getToolTipData(By locator){

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

Mi az a StaleElementException? 

Az elavult elem azt jelenti, hogy amikor egy webelem már nincs csatolva a korábban jelen lévő DOM-hoz/weboldalhoz. Ebben az esetben a szelén kivételt jelent.

Ez több okból is előfordulhat, például az állapotot megváltoztató AJAX vagy JavaScript hívások miatt

az elem elérhetetlenné teszi/leválasztja a DOM-ról.  

Következtetés : Ezekkel készen vagyunk a kritikus szelén interjúkérdések készleteivel, amelyek lefedik a Selenium Framework interjúkérdéseit. Olvassa el itt, hogy részletesebben tájékozódjon. a szelén fogalma hogy megértsék a szelén építészetét.

Írj hozzászólást

E-mail címed nem kerül nyilvánosságra. Kötelező kitölteni *

Lapozzon a lap tetejére