Inicializálás vezető, ahol akarsz, és miért

Hello mindenkinek,
Szeretnék magad megérteni az elméletet. Hol a legjobb, és ha inicializálni az illesztőprogramot.
Találkoztam néhány lehetőség:
- A teszt és adja át a kivitelező az oldal






- a teszt, de a teszt elvégzése előtt az ilyen elvont testng
- Az oldal maga (és ha van egy utalás felveti illesztőprogram oldal)

Talán van még néhány érdekes lehetőség?

Tetszik az ötlet, hogy teljesen izolálja a logikát a tesztpilóta, de gyanítom, hogy ez a módszer lehet, hogy a hiányosságokat.

Egyik ilyen lehetőség nem megfelelő. Amit leírja egy tartomány adott modult.

Úgy tűnik, hogy a megfelelő címke ér, és arra gondolt, az izolációs igaz, de véleményem szerint, akkor először meg kell értenie, hogy vannak - keret. és - miért a tesztoldal és nincs kapcsolatban ezt a koncepciót. És akkor lehet beszélni, ha a tényleges kell különíteni WebDriver.

Mintegy elfogadott keret. Sőt, találtam egy címkét, mert ez volt a legközelebb a kérdés (legközelebb ide kell érteni, hogy a többiek egyáltalán nem voltak lényeges

Inicializálás vezető, ahol akarsz, és miért
).

Egyetértek a helyzetben, hogy a tesztoldal, és nem része a keret.

Igaz keretben. Most próbáljuk megérteni, mi a keretet kell biztosítani, hogy az említett sebesség és a könnyű fejlődés, valamint - a megbízhatóság a tesztek, függetlenül a AUT?

Szókratészi módszer komoly

Inicializálás vezető, ahol akarsz, és miért

Ez az, amit nem értek, még mindig, hogy rabja a tesztek a vezető (akkor is, ha az, hogy mindenki a bázis osztály).

Köszönöm a figyelmet, hogy a kérdést.

És nem keressenek példákat, amelyek ellentmondanak a saját következtetéseit.

Inicializálás vezető, ahol akarsz, és miért
Kapsz kapcsolódhat egy konkrét megvalósítása, ami lehetne írni a térd kizárólag oktatási célra.

Tegyük fel, hogy van egy vezető kezelő. amely belül van elhelyezve a keret.
Számos kérdés merül fel:

  • Hogy milyen állapotban inicializálás / driver zárás kell történnie?
  • Ezen vizsgálatok szükséges driver a helység absztrakciós szinten?
  • Hogyan frame modulok tényleg szükség van a vezető?
  • Hogyan alakítsunk ki a rugalmas kapcsolat a modulok, amelyek csak driver?

Ha azt szeretnénk, hogy lebeg, és mimnimum tölteni egy fél év stabil írásban csomagolóanyagokat a szelén és segédprogramok Proektika a autotests. Aztán van, hogy az ilyen osztályok: BrowserFactory - a böngészőnek, hogy őket, többé akció a böngésző; WebDriverHolder - a instanszolt böngésző; WebDriverInstances - amely Seter böngésző, hetero vebdrayvera és az ilyen „InheritableThreadLocal”, hogy képes legyen fáj többszálú teszteket.

És ha nincs ilyen idő „svobododumiya” (bár kostyleklepaniya általános), jobb felhasználása kész megoldásokat szelenid, JDI (EPAM), más elkészített freyvorki (átalakítók szelén), vagy a Python világ RobotFramework
de a Python nem tudja, hogy ez jobb, ha meg tudja mondani, Pythonistas kész kényelmes keretek

Kezdjük azzal, hogy válaszolsz a kérdésre, a koncepció az alkalmazás teszt általában, hogyan szeretné építeni, és milyen kánon. Talán most zakritikuyut, de autotest szépség és a harmónia a kódot, valamint a sebesség (eltúlzott, hiszen a legtöbb ember nem a kódot, de a keresési elemek az oldalon) van egy kis részét. Vizsgálatokat kell elsősorban támogatni kell. Igen, a kód is kell rendben van, olyan szerkezeti tulajdonságai, amelyek nem paternai (oldal yelement), mit tennél, ha nem süllyedt, hogy a kódot nem lehet bonyolult, de egyszerű és nem túl nehéz és könnyű (Alexander Soloviev, hello neked)
Most a vezető számára.
1. Ha nem követi néhány, vagy Paterno, ideomam és tapasztalat a DSL megközelítés, akkor át, mint a vezető, bárhol, számlap - sokan kezdtek, majd maguk ozonavali butaság. Saját tapasztalat is szükséges.
2. Ha tudja, hogy a futás a vezető része az infrastruktúra konfigurálható, akkor egyértelműen leírja az egyedüli alap osztály az oldalak / elemek. Ugyanakkor azt is meg kell, hogy kiegészítse a osztályokba komolyan alapfunkcionalitását dolgozó elemek, ez nem mindig kényelmes, de vigyázz, és csodálja - mennyire átlátható DSL kiment.
3. Ha követi a stratégia a készítmény az alkalmazás, a vezető adja át az érvvel a fő alkalmazási osztály, valamint a vizsgálatok ki a nyilvánosság módszerek és attribútumok kerülnek az alkalmazást lámpatest shell teszt, ami létezni fog, amíg a végén a teszt - ülésszakok szerelvény.

stb IMHO: Hiszem, hogy minden ember a maga kell neki választani megfelelő megközelítés, mert az írás tesztek vele, és fenntartani is. Ha a fejlődés egy csapat, akkor az ügyet velük is foglalkozni kell. Mindkét esetben akkor is meg kell értenünk, hogy előbb-utóbb „tégla esik”, és a munka véget ér, és miután valaki támogatni fogja az egészet, így nem azonos oly módon, hogy az lenne a füle, akkor nem éget.






Ami pokoli sok okos programozók, és a Zen-kódolás, úgy vélem, hogy a teszteket kell írni, nem bonyolult kifejezni nyelvi eszközökkel.

Érdekes Tiomka elindult

Inicializálás vezető, ahol akarsz, és miért
Itt van az én például hasznos lehet másnak, vagy valami értelmes gyors ..

A mobil (Appium) rájöttem, egy kicsit görbe révén ApplicationManager:

hosszú kísérlet Veit és valószínűleg változtatnia kellene a ENUM változók és megszabadulni a loadConfigProp

ApplicationManager - itt van a képernyők megkezdik a vezető magát Veit ..

Valójában ő egy képernyőn:

Ez tulajdonképpen az én teszt:

bizonyára csökkentette a TEN-T, ott mindig van konténerek, amelyekben sostredatochena logika különböző eszközök és különböző nevek és különböző üzeneteket, de például belátható ..

Elkezdtem írni az egészet, ha nem érti nicherta volt, és most kezdik felismerni az automatika, így nem túl jó itt minden történt, és most újra írni, hogy minden várakozást és módszerek UI komponensek - költözött külön osztályokba.

Ez azért van így az én mobilku az Android, mint a keret, akkor most rájött, hogy ez nem olyan kevés tapasztalatot podnabralsya, átírni. Az interneten nem lesz bonyolultabb is, ott rájöttem többszálas és sok böngészők és futtatható más operációs rendszer ..

Írásakor automatizálás keretet maguknak különválasztják ilyeneket:

  1. az összes kódot kell újra használni annak érdekében, hogy Paige csak az elemek és velük együtt dolgozni
  2. olvasásakor vizsgálat minden legyen nagyon világos, hogy van
  3. vezető és elvárások nem kell a vizsgálati és ne legyen oldal
  4. minden vonatkozó módszereket elemntov - legyen az osztályban
  5. minden módszer elvárások - meg kell tartani a kategóriájában
  6. keretet kell megírni, hogy először terveztek a vizsgálat, hanem azért, mert már létrehozott módszereket. Egyszerűen úgy gondolja, a vizsgálatot meg kell, és írjuk be a módszer tesztelésére
  7. tiszteletben kell tartani mindenütt hozzáférési szintek

És én inicializálni vezető TestBase osztály, amelyből minden tesztek és inicializálás akkor történik, amikor a teszt lefuttatása)

A személy kell, hogy megértsék a koncepció, hogy kezdődik. És akkor dobja neki több kódot.

Duck hagyja elemzése egyszerűen ilyen példát lehet mutatni, hogy mi a jó és mi a rossz ..

Egy nagyon gyakori megoldás, én magam nem így

Inicializálás vezető, ahol akarsz, és miért

És mi a helyzet most?)

Tettem, és nem) Csak próbálja leírni újabb érdekes megközelítés a gyakorlatból:
Van Singleton hosszúságú vezető inicializálás (megélezett firefox)

Mivel EnvironmentConfiguration osztály eredete a vezetőt a jövő szükségleteinek

Következő az absztrakt oldal, amely közös módszert kínál az oldalak és a kivitelező létrehoz egy konfigurációs fájl, ami megfeszíti a vezető

Akkor ezt az oldalt örökölte az összes oldalt. A teszt, egy oldalt, és ez elárulták konfiguráció.

Mivel Élveztem jbehave a bázis vizsgálati osztály konfiguráció fel, így

Általában a vezető inicializálás kell tenni csak kívül a vizsgált oldalak és tárgyak vagy szerkezeti részek, de nem úgy, hogy ez a vezető juzat nemcsak BaseScreen. hanem lehetett juzat és egyéb Claes. Vannak sok különböző megközelítéseket.

A legnagyobb probléma, talán -, hogy a BasePage kell felhalmozni minden módszerekkel dolgozó Paige, gyakran módszereket szükséges megállapítani várakozások kapcsolódó módszereket egy kattintás, és más dolog, ami nem jó, mert jobb megosztani ezen az elven:

  • módszert kínál az elemek fekszenek a kategóriájában
  • Módszerek várakozások annak
  • módszerek általánosíthatók újrafelhasználhatóságot más sreens minden vagy majdnem minden - fekvő BasePage

Java nincs többszörös öröklés, így csak akkor örökli BasePage. amely alapján csak a közös módszerek minden screenshotok. Módszerei dolgozó elemek már ott ne add fel. Kiderült, hogy ez szükséges vagy feltalál, vagy hogy a lépcsőzetes öröklés: - UiElements örökölt WaitingElementsts. WaitingElements viszont örököl BasePage amely megvalósítja az illesztőprogram és így a vezető átmegy a teszten.

A támogatás akkor is jön segítők, de akkor meg kell húzni a teszt nem az, nem túl szép ..

Valószínűleg ezért a vezetőt el kell különíteni a vizsgálati és oldalak, mert akkor kezdeményezi a különböző Klas a jelentkezését, és mindent meg kell dolgoznia ..

Még hogy egy screenshot a hallgató, akkor használja a vezető is. De a vizsgálatok maguk már juzat végrehajtás ez a meghajtó. Ez nem kell aggódnia a vezető, mert ez teszi a keret te ..

Pilóta inicializálás - ez valójában egy kihívás getDriver

Inicializálás vezető, ahol akarsz, és miért

Sajnos egy nem tervezett szünet.

Mindegy, azt szeretné, hogy a vita, amely a logikai ponton.

Tehát, véleményem szerint:
Feltétel, hogy kezdeményezzen, ha fut az tesztpilóta vagy vizsgálati csoport

Inicializálás vezető, ahol akarsz, és miért

Tesztpilóta nem kell.
Szükséges illesztőprogram poidee oldalakat és a komponensek, amelyek működnek az oldalak, és a vezető egyszerűen a költségeket vissza.

Az érvelés kevésbé igaz?

Feltétel, hogy kezdeményezzen, ha fut az tesztpilóta vagy vizsgálati csoport

Kezdjük azzal, hogy a vezető nem a teszteket, és a böngésző. Vizsgálatok elindítja egység keret (például, testng / JUnit). A járművezetők fontos, hogy nem a „mit” és a „hol és mikor.” Ebben az esetben a „hol” - összefüggésben izolált menet biztonságos. "Ha a" - például a [Suite, vizsgálat, osztály, módszer]. Itt azonnal és feladata -, hogy megértsék, amikor a legjobb, ha kell szüntetni a vezető.

Pilóta szükséges poidee oldalak

És milyen oldalakat kell egy driver? Pages - egy réteg a domain, és a vezető - a keret. Ha kiveszi a vezető oldalon szinten, ez nem jobb, mint annak használata a tesztek magukat.

Kezdjük azzal, hogy a vezető nem a teszteket, és a böngésző.

Igen, értem, hogy a vezető nem fut teszteket :). Akartam írni, hogy a feltétel inicializálni a vezető - teszteket. Futunk a vizsgálat, és a sofőr is meg kell kezdeni. Meddig nem számít.

És milyen oldalakat kell egy driver? Pages - egy réteg a domain, és a vezető - a keret. Ha kiveszi a vezető oldalon szinten, ez nem jobb, mint annak használata a tesztek magukat.

Pages egy illesztőprogramot, mert a módszerek oldalak a vezető tenni valamit alapszinten - módszer lehetővé teszi, hogy működjön együtt az oldalelemek és végre bizonyos intézkedéseket. Hogyan minimalizálni a függést a vezető oldalon?

Pages egy illesztőprogramot, mert a módszerek oldalak a vezető tenni valamit alapszinten

Ie Ha 10 oldalt, és csak annyit kell, hogy adja meg az értéket a beviteli mezőbe, akkor másolatot minden oldal driver.findElement (lokátor) .sendKeys (szöveg), valamennyi területen, igaz?




Kapcsolódó cikkek