le mie informazioni di contatto
Posta[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
La serie di test automatizzati Python+Appium sta per concludersi. Facciamo un riepilogo in questo blog.
Prima di tutto, vorrei spiegare che i test automatizzati APP potrebbero non essere utilizzati da molte aziende, ma sono anche richiesti dalla maggior parte degli ingegneri di test automatizzati e dalle informazioni di reclutamento per i lavori di ingegnere di test senior, quindi per ottenere un trattamento migliore, abbiamo ancora bisogno trascorrere del tempo per padroneggiarlo. Dopotutto, chi non avrò problemi con i soldi.
Successivamente, riassumiamo le idee per i test automatizzati dell'interfaccia utente dell'APP.
1. Selezione della lingua di sviluppo
I linguaggi di programmazione comunemente utilizzati per i test automatizzati includono: Python, Java, Javascript, Ruby, C#, PHP, ecc. In genere, sceglieremo un linguaggio di programmazione con cui abbiamo familiarità per scrivere script automatizzati, ma per i bambini che non hanno basi di programmazione praticamente pari a zero (o bambini che si concentrano sui test automatizzati), si consiglia di imparare a usare Python.
Rispetto ad altri linguaggi, Python presenta i seguenti vantaggi per i test automatizzati:
Per i principianti, Python ha una sintassi concisa, è altamente leggibile ed è facile da imparare.
Esistono potenti librerie di terze parti che rendono lo scripting più efficiente.
Il framework di test automatizzato Pytest in Python è attualmente uno dei framework di test più popolari
2. Selezione del framework di test dell'interfaccia utente
Dopo aver scelto un linguaggio di sviluppo, dobbiamo scegliere un framework di test dell'interfaccia utente. Attualmente, i framework di test di automazione dell'interfaccia utente APP più diffusi o ampiamente utilizzati includono Appium, Airtest, ecc.
1, Appio
Fonte aperta
Il server Appium supporta l'esecuzione su Windows, macOS e Linux
Supporta più linguaggi di programmazione tradizionali, come Python, Java, Javascript, Ruby, ecc.
Supporta test automatizzati Android, ios, H5 (UiAutomator integrato, framework UiAutomation)
La costruzione dell'ambiente è più complicata
2, test dell'aria
Sviluppato da NetEase (documento ufficiale), supporta solo il linguaggio Python
Fornisce un potente IDE che integra i framework di test Airtest e Poco, che è molto amichevole per i principianti
Integra airtest, un framework di test automatizzato dell'interfaccia utente basato sul riconoscimento delle immagini, così puoi scrivere script automatizzati anche se non capisci il codice.
Multipiattaforma, può condurre test automatizzati di software applicativo Windows, Android e iOS
Più amichevole per i test di gioco
Airtest e Poco sono essenzialmente due librerie di terze parti per Python. L'ambiente di test non è complicato come Appium.
3. Selezionare la cornice
Scegli un quadro appropriato in base alla situazione reale.
Puoi dare priorità ad Airtest di NetEase (sito ufficiale Airtest) nelle seguenti situazioni:
Nessuna base di programmazione
Test del gioco
Lo scenario del test è relativamente semplice (Appium è relativamente ingombrante)
Automazione del mini programma Alipay (il blogger attualmente utilizza il framework Poco integrato con Airtest per il test automatizzato del mini programma Alipay)
Si consiglia di scegliere Appium nelle seguenti situazioni:
Lo scenario di test è relativamente complesso (ad esempio, è richiesto il test in batch di più telefoni cellulari)
Il linguaggio dello script di test non è Python (Airtest attualmente supporta solo Python)
3. Selezione del framework per i test unitari
Diversamente dal framework di test dell'interfaccia utente menzionato sopra, il framework di test unitario viene utilizzato per caricare casi di test, eseguire casi di test, affermare, produrre risultati di test, ecc.
Diversi linguaggi di sviluppo hanno i propri framework di test unitari corrispondenti, come JUnit, TestNG, Robot, ecc. per Java e unittest, pytest, ecc. per Python. I blogger utilizzano Python principalmente per i test automatizzati, quindi qui spiegheremo solo il framework di unit testing di Python.
Il framework di test unitario principale di Python:
unittest, il framework di test unitario di Python
pytest, sviluppato sulla base di unittest, è facile da usare, contiene informazioni più dettagliate e dispone di numerosi plug-in.
robot framework, un framework di test basato su parole chiave basato su Python, con un'interfaccia, report e log integrati, funzioni complete, chiaro e bello
Si consiglia vivamente di utilizzare pytest qui, che è potente e facile da usare. La documentazione ufficiale è in inglese. Per il cinese, fare riferimento al manuale utente di Pytest.
4. Configurazione dell'ambiente di test
1. Testare la selezione del computer
Se possibile, si consiglia di utilizzare un computer Mac appositamente per i test di automazione dell'interfaccia utente, poiché l'automazione dell'interfaccia utente dell'app ios può essere eseguita solo su un computer Mac.
2. Testare la selezione del telefono cellulare
Quando avvii per la prima volta il debug degli script di test, puoi scegliere un emulatore. Per gli emulatori Android, puoi scegliere l'emulatore Gernymotion o Yeshen.
Una volta completato lo sviluppo dell'intero progetto di test, si consiglia di passare a una macchina reale per eseguire lo script automatizzato, che sarà più vicino allo scenario di utilizzo reale dell'utente.
3. Ambiente del linguaggio di sviluppo
Si consiglia di installare una versione di Python 3 o successiva Il funzionario ha smesso di aggiornare e mantenere la versione di Python2.
4. Costruzione dell'ambiente del framework di test dell'automazione dell'interfaccia utente
Costruire Appium in ambiente Windows è un po' più complicato. Costruire Appium su Mac è un po' più complicato. Scriverò un blog per condividerlo più tardi.
Se scegliete il framework Airtest fate riferimento al sito ufficiale.
5. Scrittura della sceneggiatura
1. Scrivi una demo di prova
Per verificare se l'intero ambiente di test è stato creato con successo e se è possibile eseguire esempi comuni, generalmente dobbiamo scrivere un semplice script di test ed eseguirlo. Se passa, significa che l'intero ambiente è stato creato con successo.
2. Determinare la struttura della directory
Si consiglia di utilizzare il modello di progettazione Oggetto pagina per sviluppare progetti di test di automazione dell'interfaccia utente dell'APP.
3. Selezionare il rapporto di prova
Diversi linguaggi di sviluppo e diversi framework di unit test possono utilizzare diversi report di test. In Python, il framework unittest utilizza HTMLTestRunner o BSTestrunner per generare report di test. Il framework Pytest utilizza pytest-html per generare report o personalizzare report di test tramite allure.
Una volta completati i passaggi precedenti, continuare ad aggiungere casi di test al progetto di test.
6. Integrazione di Jenkins
Dopo che l'intero progetto di test di automazione dell'interfaccia utente dell'app è stato scritto in base ai passaggi precedenti e funziona stabilmente per un periodo di tempo, puoi prendere in considerazione l'integrazione di Jenkins.
7. Riepilogo
Per riassumere, l'automazione dell'interfaccia utente dell'APP può essere implementata nei seguenti modi:
1, python + appium + unittest + HTMLTestRunner
2, python + appium + pytest + pytest-html / allure
3, python + Airtest (AirtestIDE)
4, python + Poco + pytest + pytest-html / allure
Puoi scegliere in base alla situazione reale.
Infine, vorrei ringraziare tutti coloro che leggono attentamente il mio articolo La reciprocità è sempre necessaria Anche se non è una cosa molto preziosa, se puoi usarla, puoi prenderla direttamente:
Queste informazioni dovrebbero essere il magazzino di preparazione più completo e completo per gli amici [di test del software] Questo magazzino ha anche accompagnato decine di migliaia di ingegneri di test attraverso il viaggio più difficile.