Felhasználói felület tesztelési szempontjai
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
Ha automatizált teszteket futtat a CI-/CD-folyamatban, speciális konfigurációra lehet szükség az olyan, felhasználói felületeken végzett tesztek futtatásához, mint a Selenium, az Appium vagy a Coded UI-tesztek. Ez a cikk a felhasználói felületi tesztek futtatásának tipikus szempontjait ismerteti.
Előfeltételek
Ismerkedjen meg az ügynökökkel, és helyezzen üzembe egy ügynököt Windows rendszeren.
Fej nélküli vagy látható felhasználói felület mód?
Ha szelénteszteket futtat egy webalkalmazáshoz, kétféleképpen indíthatja el a böngészőt:
Fej nélküli mód. Ebben a módban a böngésző a szokásos módon fut, de a felhasználói felület összetevői nem láthatók. Bár ez a mód nem hasznos a weben való böngészéshez, akkor hasznos, ha felügyelet nélkül futtat automatizált teszteket EGY CI/CD-folyamatban. A Chrome és a Firefox böngészők fej nélküli módban is futtathatók.
Ez a mód általában kevesebb erőforrást használ fel a gépen, mert a felhasználói felület nem renderelt, és a tesztek gyorsabban futnak. Ennek eredményeképpen akár több teszt is futtatható párhuzamosan ugyanazon a gépen a teljes tesztvégrehajtási idő csökkentése érdekében.
A képernyőképek ebben a módban rögzíthetők , és a hibák elhárításához használhatók.
Feljegyzés
A Microsoft Edge böngésző jelenleg nem futtatható fej nélküli módban.
Látható felhasználói felület mód. Ebben a módban a böngésző normál módon fut, és a felhasználói felület összetevői láthatók. Ha windowsos módban futtat teszteket, az ügynökök speciális konfigurációjára van szükség.
Ha felhasználói felületi teszteket futtat egy asztali alkalmazáshoz, például a WinAppDriver-t használó Appium-teszteket vagy a Kódolt felhasználói felületi teszteket, az ügynökök speciális konfigurációjára van szükség.
Tipp.
A végpontok közötti felhasználói felületi tesztek általában hosszú ideig futnak. A látható felhasználói felület mód használata esetén a tesztelési keretrendszertől függően előfordulhat, hogy nem tudja párhuzamosan futtatni a teszteket ugyanazon a gépen, mert az alkalmazásnak a fókuszban kell lennie a billentyűzet- és egéresemények fogadásához. Ebben a forgatókönyvben felgyorsíthatja a tesztelési ciklusokat, ha párhuzamosan futtat teszteket különböző gépeken. A teszteket párhuzamosan futtathatja a tesztfuttatók számára, és párhuzamosan futtathat teszteket a Visual Studio Tesztfeladat használatával.
Felhasználói felület tesztelése látható felhasználói felületi módban
Speciális konfigurációra van szükség ahhoz, hogy az ügynökök látható felhasználói felületi módban futtatják a felhasználói felületi teszteket.
Látható felhasználói felület tesztelése a Microsoft által üzemeltetett ügynökökkel
A Microsoft által üzemeltetett ügynökök előre konfigurálva vannak a felhasználói felület teszteléséhez és a felhasználói felületi tesztekhez mind a webalkalmazásokhoz, mind az asztali alkalmazásokhoz. A Microsoft által üzemeltetett ügynököket a népszerű böngészők és a szeléntesztek futtatásához használható webillesztő-verziók is előre konfigurálják. A böngészők és a megfelelő webillesztők rendszeres időközönként frissülnek. A szeléntesztek futtatásával kapcsolatos további információkért tekintse meg a szelénnel végzett felhasználói felületi teszteket.
Látható felhasználói felület tesztelése saját üzemeltetésű Windows-ügynökökkel
A szolgáltatásként való futtatásra konfigurált ügynökök csak fej nélküli böngészőkkel futtathatnak szelénteszteket. Ha nem fej nélküli böngészőt használ, vagy ha felhasználói felületi teszteket futtat asztali alkalmazásokhoz, a Windows-ügynököket úgy kell konfigurálni, hogy interaktív folyamatként fussanak, és engedélyezve van az autologon.
Az ügynökök konfigurálásakor válassza a "Nem" lehetőséget, amikor a rendszer arra kéri, hogy szolgáltatásként fusson. A következő lépések lehetővé teszik az ügynök autologonnal való konfigurálását. A felhasználói felületi tesztek futtatásakor az alkalmazások és a böngészők az automatikus bejelentkezési beállításokban megadott felhasználó kontextusában indulnak el.
Ha a Távoli asztal használatával éri el azt a számítógépet, amelyen egy ügynök autologonnal fut, a távoli asztal leválasztásával a számítógép zárolva lesz, és az ügynökön futó felhasználói felületi tesztek sikertelenek lehetnek. A hiba elkerülése érdekében a távoli számítógépen található tscon paranccsal válassza le a távoli asztalról. Példa:
%windir%\System32\tscon.exe 1 /dest:console
Ebben a példában az "1" szám a távoli asztali munkamenet azonosítója. Ez a szám a távoli munkamenetek között változhat, de megtekinthető a Feladatkezelőben. Másik lehetőségként az aktuális munkamenet-azonosító megtalálásának automatizálásához hozzon létre egy kötegfájlt, amely a következő kódot tartalmazza:
for /f "skip=1 tokens=3" %%s in ('query user %USERNAME%') do (
%windir%\System32\tscon.exe %%s /dest:console
)
Mentse a kötegfájlt, és hozzon létre hozzá egy asztali parancsikont, majd módosítsa a parancsikon tulajdonságait a "Futtatás rendszergazdaként" parancsra. Ha ebből a parancsikonból futtatja a kötegfájlt, az leválasztja a távoli asztalról, de megőrzi a felhasználói felületi munkamenetet, és lehetővé teszi a felhasználói felületi tesztek futtatását.
Ügynökök üzembe helyezése Azure-beli virtuális gépeken felhasználói felület teszteléséhez
Ha virtuális gépeket (virtuális gépeket) épít ki az Azure-ban, a felhasználói felület tesztelésének ügynökkonfigurációja a DevTest Labs ügynökösszetevőjén keresztül érhető el.
Képernyőfelbontás beállítása
A felhasználói felületi tesztek futtatása előtt előfordulhat, hogy módosítania kell a képernyőfelbontást, hogy az alkalmazások megfelelően jelenjenek meg. Ehhez egy képernyőfeloldási segédprogram érhető el a Marketplace-en. A folyamat ezen feladatával állítsa a képernyőfelbontást az ügynökgép által támogatott értékre. Ez a segédprogram alapértelmezés szerint az ügynökgép által támogatott optimális értékre állítja a felbontást.
Ha a képernyőfeloldási feladattal hibákba ütközik, győződjön meg arról, hogy az ügynök úgy van konfigurálva, hogy az autologon engedélyezve legyen, és hogy az összes távoli asztali munkamenet biztonságosan le legyen választva a tscon parancs használatával a fent leírtak szerint.
Feljegyzés
A képernyőfeloldási segédprogram feladat az egyesített buildelési/kiadási/tesztelési ügynökön fut, és nem használható az elavult Funkcionális tesztek futtatása feladattal. A megoldási util feladat az Azure-beli virtuális gépeken sem működik.
Felhasználói felületi tesztek hibáinak elhárítása
Ha felügyelet nélküli módon futtat felhasználói felületi teszteket, a diagnosztikai adatok, például képernyőképek vagy videók rögzítése hasznos lehet az alkalmazás állapotának felderítéséhez a hiba észlelésekor.
Képernyőképek rögzítése
A legtöbb felhasználói felület tesztelési keretrendszere lehetővé teszi képernyőképek rögzítését. Az összegyűjtött képernyőképek mellékletként érhetők el a teszteredményekhez, amikor az eredményeket közzéteszik a kiszolgálón.
Ha a Visual Studio tesztfeladatával futtat teszteket, a rögzített képernyőképeket eredményfájlként kell hozzáadni ahhoz, hogy elérhetők legyenek a tesztjelentésben. Ehhez használja a következő kódot:
Először győződjön meg arról, hogy a TestContext a tesztosztályban van definiálva. Például: public TestContext TestContext { get; set; }
Képernyőképfájl hozzáadása a következővel: TestContext.AddResultFile(fileName); //Where fileName is the name of the file.
Ha a Teszteredmények közzététele feladatot használja az eredmények közzétételére, a teszteredmény-mellékletek csak akkor tehetők közzé, ha a VSTest (TRX) vagy az NUnit 3.0 eredményformátumot használja.
Az eredménymellékletek nem tehetők közzé, ha JUnit- vagy xUnit-teszteredményeket használ. Ennek az az oka, hogy ezek a teszteredmény-formátumok nem rendelkeznek formális definícióval a mellékletekhez az eredménysémában. Ehelyett az alábbi módszerek egyikével tehet közzé tesztmellékleteket.
Ha teszteket futtat a buildelési (CI) folyamatban, a Build Artifacts másolása és közzététele feladatával közzéteheti a tesztekben létrehozott további fájlokat. Ezek a buildösszesítés Összetevők lapján jelennek meg.
A REST API-k használatával tegye közzé a szükséges mellékleteket. Ebben a GitHub-adattárban kódminták találhatók.
Videó rögzítése
Ha a Visual Studio tesztelési feladatával futtat teszteket, a tesztről készült videó rögzíthető, és automatikusan elérhető a teszt eredményének mellékletként. Ehhez egy .runsettings fájlban kell konfigurálnia a videoadatgyűjtőt, és ezt a fájlt meg kell adni a feladatbeállításokban.
Súgó és támogatás
- Tekintse meg a hibaelhárítási oldalt
- Kérjen tanácsot a Stack Overflow-ról, és kérjen támogatást a fejlesztői közösségen keresztül