testproject python sdk tutorial
Výukový program TestProject Python SDK: Preplňte svoje existujúce testy na seléne a na AppiuTento výukový program vám pomôže začať so súpravou TestProject Python SDK. Naučte sa inštalovať, konfigurovať a používať najsilnejšie funkcie súpravy SDK:
Selén a Appium patria už roky medzi najobľúbenejšie testovacie rámce open-source pre desktopové prehliadače a mobilné testovanie.
The TestProject Python SDK stavia na týchto nástrojoch a poskytujú vám silu platformy TestProject, ktorá vám poskytuje nádherné správy vo formáte HTML a PDF na ich platformách pre hlásenie, automatickú detekciu prehľadávača, konfiguráciu ovládačov a oveľa viac.
A najlepšie na tom je, že používanie platformy TestProject a súpravy SDK je úplne zadarmo, navždy. SDK je tiež open-source, takže ak chcete prispieť do projektu, môžete!
Čo sa dozviete:
Čo je TestProject Python SDK?
V tomto tutoriáli sa dozviete, ako začať so súpravou TestProject Python SDK, ako využiť platformu TestProject s vašimi existujúcimi testami založenými na seléne a Appiu, ako aj ako používať niektoré z najsilnejších funkcií súpravy SDK.
Poznámka : Sú vaše testy napísané v inom jazyku ako Python? Netreba sa báť, TestProject ponúka SDK aj pre Java a C #, v blízkej budúcnosti pribudnú ďalšie jazyky.
Inštalácia a konfigurácia
=> Navštívte túto stránku a bezplatne sa zaregistrujte do programu TestProjectPython SDK je k dispozícii na PyPI , index balíka Python. Tu predpokladáme, že máte funkčnú inštaláciu Pythonu, všetko, čo musíte urobiť, je nainštalovať SDK a na to musíte: spustite nasledujúci príkaz:
pip install testproject-python-sdk
Týmto sa nainštaluje SDK a jeho požadované závislosti vrátane selénu a klienta Python Appium.
Skôr ako začneme používať sadu SDK, musíme urobiť ešte dve veci.
# 1) Nainštalujte a nakonfigurujte agenta TestProject na svojom počítači:
Agent TestProject je zodpovedný za inštaláciu a konfiguráciu ovládačov prehľadávača, ako aj za odosielanie správ generovaných súpravou SDK na platformu TestProject.
Po vytvorení účtu na serveri Testovací projekt platforma (opäť je to zadarmo), môžete si stiahnuť svojho agenta.
Po stiahnutí si ho budete musieť nainštalovať a spustiť. Agent je predvolene spustený http: // localhost: 8585. Ak chcete spustiť agenta na inom porte alebo dokonca na úplne inom počítači, nie je to žiadny problém. V takom prípade stačí zadať správnu adresu agenta v premennej prostredia TP_AGENT_URL dať SDK vedieť, kde beží.
# 2) Získajte a nakonfigurujte token vývojára:
Na komunikáciu s agentom budete potrebovať tiež token vývojára. Po nainštalovaní Agenta môžete získať svoj vývojový token z webu platformy TestProject, ako je to znázornené na obrázku nižšie.
Zadajte svoj vývojársky token v premennej prostredia TP_DEV_TOKEN aby si to SDK uvedomila. Prípadne ho môžete určiť ako argument pri vytváraní novej relácie ovládača, pretože to sa trochu uvidí.
Po stiahnutí súpravy SDK, nainštalovaní, nakonfigurovaní a spustení agenta, získaní a nakonfigurovaní tokenu vývojára ste pripravení.
Vytvára sa náš prvý test selénu založený na projekte
Predpokladajme, že máme selénový test, ktorý slúži na ukážkovú webovú aplikáciu TestProject. Poskytuje prihlasovacie poverenia a kontroly, či sme pozdravení, aby sme naznačili, že prihlasovacia akcia bola úspešne dokončená. Predpokladajme tiež, že na vykonanie tohto testu a vykonanie tvrdení používame rámec testovania jednotiek Pytest.
Takýto test môže vyzerať asi takto:
from selenium import webdriver def test_login_to_testproject_example_app(): driver = webdriver.Chrome() driver.get('https://example.testproject.io/web/') driver.find_element_by_id('name').send_keys('John Smith') driver.find_element_by_id('password').send_keys('12345') driver.find_element_by_id('login').click() assert driver.find_element_by_id('greetings').is_displayed() is True driver.quit()
Vyššie uvedený príklad používa prehliadač Chrome. Okrem prehliadača Chrome podporuje SDK aj nasledujúce prehliadače pre počítače:
- Firefox
- Hrana
- internet Explorer
- Safari
V tomto príklade sme nepoužili žiadny z abstrakčných vzorov, ktoré sú bežné v testoch založených na seléne, ako sú napríklad Objekty stránky, ale ak ich použijete, nie je to žiadny problém. V skutočnosti to odporúčame, pretože sa tak vytvára zreteľné oddelenie medzi vašim testovacím tokom (akcie, testovacie údaje) a implementačnými podrobnosťami vašich webových stránok (lokátory prvkov).
Po dokončení všetkých krokov inštalácie a konfigurácie uvedených vyššie, všetko, čo musíte urobiť, aby sa tento test zmenil na test založený na TestProject, je nahradiť vyhlásenie o dovoze, ako je vysvetlené nižšie.
from selenium import webdriver
Nahraďte ho týmto:
from src.testproject.sdk.drivers import webdriver
To je všetko! Akonáhle teraz spustíte test, SDK si vyžiada inštanciu ovládača od Agenta TestProject a použije ju na vykonanie testu. Pošle tiež pokyny na nahlasovanie na platformu TestProject, ktoré sa potom použijú na vytvorenie správ HTML. Poďme sa na ne pozrieť!
Kontrola správ na platforme TestProject
V časti TestProject a výberom možnosti „Správy“ z ponuky môžete vidieť, že pre test, ktorý sme práve spustili, bol vytvorený nový prehľad. Pozrite si obrázok nižšie.
čo je príkaz grep v unixe
Ako vidíte, SDK automaticky odvodila názov projektu ( software_testing_help ), názov práce ( príklady ) a názov testu ( test_login_to_testproject_example_app ) a použili ich pri vytváraní prehľadu. Toto je podporované pre Pytest aj Unittest, ako aj pre testy, ktoré sa nespúšťajú pomocou vyhradeného rámca na testovanie jednotiek.
Uvidíme, ako v ďalšej časti určiť prispôsobené názvy projektov, úloh a testov, ako aj množstvo ďalších užitočných možností vytvárania prehľadov.
Všetky príkazy ovládača, ktoré sa vykonali počas testu, sa automaticky pridajú do správy spolu s ich výsledkom. TestProject tiež generuje prehľady a dashboardy po vybalení z krabice.
Možnosti prispôsobenia prehľadov pomocou TestProject
Aj keď TestProject generuje bohaté a použiteľné správy po vybalení z krabice, existuje niekoľko spôsobov, ako ich môžete prispôsobiť, aby lepšie vyhovovali vašim požiadavkám na informácie.
Ako sme videli v predchádzajúcom príklade, TestProject dokáže automaticky odvodiť názvy projektov, úloh a testov najpopulárnejších rámcov na testovanie jednotiek Pythonu. Ak však chcete vo svojich prehľadoch používať vlastné názvy, je to možné vykonať dvoma spôsobmi.
# 1) Použitie dekoratéra
Sada TestProject SDK tiež obsahuje a @správa dekoratér, ktorý môžete použiť na výzdobu svojich testovacích metód a ktorý môžete použiť na zadajte názvy vlastných projektov, úloh a testov, ako je uvedené nižšie:
from src.testproject.sdk.drivers import webdriver from src.testproject.decorator import report @report(project='Software Testing Help', job='SDK Examples', test='Login Test') def test_login_to_testproject_example_app(): driver = webdriver.Chrome() # the rest of the test method remains unchanged
Keď spustíme túto zdobenú testovaciu metódu a skontrolujeme výkazy, môžeme vidieť, že vo vygenerovanom výkaze sa namiesto automaticky odvodených názvov použili zadané názvy.
# 2) Zadanie názvu projektu a úlohy v konštruktore ovládača a manuálne hlásenie testu:
Názvy projektov a úloh možno prepísať aj ich zadaním v konštruktore objektu ovládača. Môžete to urobiť nasledovne:
from src.testproject.sdk.drivers import webdriver def test_login_to_testproject_example_app(): driver = webdriver.Chrome(projectname='Software Testing Help', jobname='SDK Examples') # the rest of the test method remains unchanged
Ak chcete prepísať automaticky odvodený názov testu, môžete ho na konci testu nahlásiť manuálne, napríklad takto:
from src.testproject.sdk.drivers import webdriver def test_login_to_testproject_example_app(): driver = webdriver.Chrome(projectname='Software Testing Help', jobname='SDK Examples') driver.get('https://example.testproject.io/web/') driver.find_element_by_id('name').send_keys('John Smith') driver.find_element_by_id('password').send_keys('12345') driver.find_element_by_id('login').click() assert driver.find_element_by_id('greetings').is_displayed() is True driver.report().test(name='Login Test', passed=True) driver.quit()
Ak sa rozhodnete použiť možnosť manuálneho vykazovania, mali by ste deaktivovať automatické vykazovanie testov (ktoré je predvolene povolené), aby ste sa uistili, že testy sa nevykazujú dvakrát, čo by poškodilo váš prehľad a informačné panely.
Automatické hlásenie môžete zakázať pomocou nasledujúceho príkazu:
from src.testproject.sdk.drivers import webdriver def test_login_to_testproject_example_app(): driver = webdriver.Chrome() driver.report().disable_auto_test_reports(disabled=True) # the rest of the test method remains as above
Takto zostava bude vyzerať úplne rovnako ako posledná snímka obrazovky vyššie.
# 3) Zakázanie hlásenia príkazov ovládača
Ak nechcete, aby vaše hlásenie obsahovalo každý jednotlivý príkaz ovládača, ktorý bol vykonaný počas testu, môžete ich automatické hlásenie deaktivovať takto:
from src.testproject.sdk.drivers import webdriver def test_login_to_testproject_example_app(): driver = webdriver.Chrome() driver.report().disable_command_reports(disabled=True) # the rest of the test method remains unchanged
Neskôr v testoch môžete tiež znova povoliť hlásenie príkazov vodiča opätovným volaním tej istej metódy, ale s argumentom disabled = False.
Ak napriek tomu chcete počas testu nahlásiť nejaké medzikroky, môžete to urobiť tiež:
from src.testproject.sdk.drivers import webdriver def test_login_to_testproject_example_app(): driver = webdriver.Chrome() driver.report().disable_command_reports(disabled=True) driver.report().step(description='An intermediate step', message='A custom message', passed=True, screenshot=True) # here goes the rest of the test method
Ako vidíte, do vlastných krokov prehľadu môžete dokonca pridať snímky obrazovky. Tieto budú automaticky integrované do správy HTML na platforme TestProject.
Sada TestProject SDK ponúka viac možností na ďalšie prispôsobenie prehľadov. Kompletný prehľad nájdete v oficiálnej dokumentácii na webe TestProject, GitHub alebo PyPI.
Spúšťanie testov na základe aplikácie Appium pomocou nástroja TestProject
Okrem testov založených na seléne môže TestProject SDK spúšťať testy aj na mobilných zariadeniach pomocou Appium. Zvážte tento príklad, bežiaci proti natívnej aplikácii pre Android na emulátore:
from appium import webdriver def test_native_android_app(): desired_capabilities = { 'appActivity': 'io.testproject.demo.MainActivity', 'appPackage': 'io.testproject.demo', 'udid': '', 'browserName': '', 'platformName': 'Android', } driver = webdriver.Remote(desired_capabilities=desired_capabilities) driver.find_element_by_id('name').send_keys('John Smith') driver.find_element_by_id('password').send_keys('12345') driver.find_element_by_id('login').click() assert driver.find_element_by_id('greetings').is_displayed() driver.quit()
Ak tu chcete opäť využiť silu platformy TestProject, musíme sa len zmeniť
from appium import webdriver
Komu:
from src.testproject.sdk.drivers import webdriver
A môžeme vyraziť. Agent TestProject funguje aj ako server Appium, takže už nie je potrebné, aby ste si ho spúšťali sami na počítači, na ktorom prebiehajú vaše testy.
Všetky vyššie popísané funkcie prehľadov sú k dispozícii aj pre testy založené na aplikácii Appium.
Sada SDK podporuje vykonávanie mobilných testov:
- Pre Android aj iOS.
- Na emulátoroch aj na skutočných zariadeniach.
- V natívnych aplikáciách aj v mobilných prehliadačoch
Príklady všetkých týchto riešení nájdete v archíve kódov SDK na GitHub.
Záver
Ako ste videli v tomto výučbe, sada TestProject Python SDK vám môže pomôcť preplniť vaše existujúce testy založené na seléne a na Appiu tým, že vás zbaví práce s konfiguráciou ovládačov vášho prehliadača a servera Appium a generuje pre vás skvelé správy a dashboardy HTML platforma TestProject.
Najlepšie na tom všetkom je, že TestProject Python SDK je úplne zadarmo.
=> Prejdite na TestProject, aby ste si to vyskúšali sami !
O autorovi: Bas Dijkstra
Autor učí spoločnosti z celého sveta, ako zlepšiť svoje testovacie úsilie pomocou automatizácie testov. Je nezávislý tréner, konzultant a vývojár žijúci v Holandsku. Vo voľnom čase sa rád povozí na bicykli, zabehať si alebo prečítať dobrú knihu.
Odporúčané čítanie
- Výukový program pre praktickú kontrolu nástroja Automation Test TestProject
- Proces predstavenia a inštalácie Pythonu
- Vytvorte testy Appium pre aplikáciu pre Android
- Výukový program pre Python pre začiatočníkov (praktické školenie v jazyku Python ZDARMA)
- Paralelné spustenie testov Appium pomocou aplikácie Appium Studio pre Eclipse
- Vytváranie epochálnych testov pomocou epoch Studio pre Eclipse
- Ako paralelne spustiť rozsiahle vykonávanie testov Appium
- Integrujte sa do svojho IDE a spustite svoje testy Appium