Come usare Assert in selenio

Come usare Assert in selenio

Potresti aver eseguito molti test utilizzando varie funzioni di testng e potresti non ritenere mai un test "superato" o "fallito" durante queste esecuzioni. È tempo di eseguire alcuni test effettivi utilizzando il webdriver Selenium in Testng ora che abbiamo familiarità con tutti i principi chiave in Testng. Sfrutteremo le affermazioni di Testng per questo obiettivo. Questo articolo esegue l'implementazione dei metodi di asserzione e descrive i vantaggi del codice soft e resistenti. In questo tutorial, eseguiamo due casi: affermazioni semplici e assert duro e morbido. Questo contenuto descrive l'uso dell'asserzione morbida rispetto all'asserzione dura. Prima di scrivere lo script, tendiamo a installare Java JDK ed Eclipse, aggiungi librerie di vasi di selenio e configuriamo le dipendenze insieme ai driver del browser.

Requisiti:

Prima di scrivere il codice, è necessario creare un ambiente di sviluppo per l'esecuzione e l'esecuzione del codice. In primo luogo, installa e configura il kit JDK e l'eclissi. Successivamente, è necessario scaricare e includere il file jar testng nell'installazione di Eclipse per utilizzare l'asserzione in Web Driver. È possibile ottenere i file Jar testng dal link dato: https: // mvnrepository.com/artefatto/org.testng/testng. Quindi, aggiungi i file JAR nella libreria Eclipse mediante il seguente processo: Vai a Project => Build and Configura opzione> Java Build Path> Libraries per aggiungere quelli scaricati esterni. Ora, aggiungi le dipendenze nell'eclipse> pom.file XML.




io.github.bonigarcia
WebDriverManager
5.3.1
test



org.Apache.Esperto di
Artefatto Maven
4.0.0-alfa-2


Testng Assertion con un esempio:

In questo tutorial, copriremo due casi:

    1. Semplice affermazione
    2. Affermazione dura e morbida

Caso 1:

Passiamo attraverso i metodi di assert di base per verificare.

Passaggio n. 1: crea una classe vuota

Per applicare l'affermazione, dobbiamo creare un "vuoto pubblico" di classe separato ed eseguire test di asserzione all'interno di quella classe a differenza di altre proprietà di selenio dei test di automazione utilizzando la classe statica principale.

public void titletest ()

Passaggio n. 2: imposta il webdriver

In questo passaggio, imposteremo il driver del browser attraverso il seguente script, che il browser Chrome ha utilizzato per questo tutorial. Il seguente codice di script utilizza:

WebDriverManager.ChromeDriver ().impostare();
Driver ChromeDriver = new ChromeDriver ();

Passaggio n. 3: aprire il browser

In questo passaggio, il browser Chrome aprirà l'URL del sito Web fornito. Come in questo esempio, usa https: // www.eBay.com/ sito.

Usa il seguente metodo di script:

autista.get ("https: // www.eBay.com/");


Può essere visto nella figura seguente che Chrome è controllato dal software di test automatizzato.

Passaggio n. 4: cercare il titolo dal sito

In questo passaggio, il browser Chrome aprirà l'URL del sito Web fornito. Come in questo esempio, usa https: // www.eBay.com/ sito.


Ispeziona la pagina web e trova il titolo del sito Web. Come mostrato nella figura seguente.

Elettronica, automobili, moda, oggetti da collezione e altro | eBay



Ecco la sintassi:

String Variable = "Titolo"


Il titolo è una stringa che crea la stringa variabile.

Passaggio n. 5: imposta il titolo previsto

In questo passaggio, il titolo copiato dalla pagina Web verrà utilizzato per creare una stringa per il titolo previsto.

Come mostrato nel codice seguente, String ha creato la variabile "previsto.

Stringa previstoTiTle = "Electronics, Cars, Fashion, Collectibles & More | eBay";

Passaggio n. 6: ottenere il titolo effettivo

In questo passaggio, otteniamo il titolo effettivo usando il metodo getTitle ().

Seguendo la stringa di codice, abbiamo creato la variabile "ActualTitle" che salva il metodo GetTitle () fornito di testo fornito.

Stringa effectTitle = driver.getTitle ();

Passaggio n. 7: verifica il titolo che stiamo ottenendo

In questo passaggio, abbiniamo il titolo effettivo con il titolo previsto.

La sintassi è riportata di seguito:

Affermare.Metodo (effettivo, previsto)


Esistono molti metodi di attività come AsserTequal, Assertunequal e ecc.

Come puoi vedere, il parametro ha due valori:

    • Effettivo: il valore ottenuto dal tester. Ad esempio, il titolo reale della pagina deve essere fornito qui se l'asserzione del tester corrisponde ad essa.
    • Previsto: se il reclamo del tester si riferisce al titolo della pagina, ad esempio, il valore del titolo che prevedi dovrebbe andare qui.

Il seguente codice che utilizza il metodo AsserTequal () per abbinare il titolo di entrambi è lo stesso o no.

Affermare.AsserTequals (effecalTitle, previsto);

Passaggio #8: Match Titolo True Case

Quando il titolo effettivo del sito e il titolo previsto, la condizione è vera.

Considera il codice di esempio indicato di seguito:

Stringa previstoTiTle = "Electronics, Cars, Fashion, Collectibles & More | eBay";
Stringa effectTitle = driver.getTitle ();
Affermare.AsserTequals (effecalTitle, previsto);


La prima riga del codice è il titolo previsto. Dopodiché, otteniamo un titolo reale. In seguito, il metodo Assert () viene utilizzato per corrispondere al titolo effettivo e previsto.

Output nella console

Dopo aver eseguito il codice sopra, l'output mostra nella console che il codice è stato eseguito correttamente e il test è stato superato = titletest.

Passaggio n. 9: Caso non riuscito del titolo Match

Quando il titolo effettivo del sito e il titolo previsto, la condizione fallisce.

Output nella console:

Dopo aver eseguito il codice sopra, l'output mostra nella console che il codice ha eseguito senza successo e il test è stato fallito = titletest.

Caso 2:

In questo caso, passiamo attraverso un'affermazione morbida e un'affermazione dura.

Affermazione dura e asserzione morbida:

Ci sono requisiti di asserzione in molti casi. Potresti avere più asserzioni nel caso di test singolo. Esistono cinque sei punti di verifica nei casi di test particolari. Come se si ottenga un fallimento in una particolare affermazione, allora cosa accadrà ad altre asserzioni che sono in anticipo rispetto a quella particolare affermazione?

Scenario di esempio:

Stai verificando il titolo e la partita del titolo non è riuscita. Successivamente, verifichi un certo testo e alcuni elementi web sulla stessa pagina.

Caso di test di asserzione dura

In affermazione dura, se una singola affermazione non è riuscita, lo script si interrompe lì.

Scenario di esempio:

Poiché il titolo non corrisponde e se si utilizza Assert.Metodo ArrerTequals (), quindi il caso di prova si interrompe a quel particolare fallimento. Non puoi andare oltre e scegliere la verifica di altri beni disponibili nello stesso caso di test. Le risorse concrete sono una sfida perché si fermano se si verifica un singolo fallimento.

Ecco il codice di esempio che puoi eseguire e vedere il risultato.

Stringa previstoTiTle = "Electronics, Cars, Fashion, Collectibles & More | eBay";
Stringa effectTitle = driver.getTitle ();
Affermare.AsserTequals (effecalTitle, previsto);


Dopo aver eseguito il codice sopra, l'output mostra in Eclipse che il codice ha eseguito senza successo. E il test è stato fallito = titletest. Possiamo osservare che l'avviso laterale destro in colore rosso indica gli avvisi e fermare l'esecuzione del codice lì.

Caso di test di asserzione soft

In caso di asserzione soft, la verifica dell'assert non riesce lo script continuerà, anche se il fallimento è avvenuto lì e il fallimento registerà. E la sceneggiatura continuerà.

Passaggio n. 1: ottenere il valore del pulsante di ricerca

In questo passaggio, ispezioniamo HTTPS: // www.eBay.com/ sito e ottieni il nome dell'attributo del pulsante di ricerca.


La sintassi è riportata di seguito:

String Variable = "Nome input"


Ecco un codice di esempio:

Stringa previstoText = "Search";

Passaggio n. 2: ottieni il testo reale

In questo passaggio, otteniamo l'XPATH del testo effettivo del pulsante di ricerca seguendo i passaggi:

DestsClick> Ispezione> Codice GOTO> Codice destro> Opzione Copia> Copia xath = [“//*[@id =” gh-btn ”]”] Copierà XPath per te.

Ottieni valore attributo, gli attributi della pagina Web sono (valore, tipo, classe) e selezioniamo l'attributo del valore per questo esempio .Il metodo getAttribute () viene utilizzato per ottenere l'attributo.

La sintassi è riportata qui:

.getAttribute (nome)


Il codice di esempio è menzionato qui:

Stringa effecttext = driver.FindElement (di.xpath ("//*[@id =" gh-btn "]").getAttribute ("valore");
.getAttribute ("valore"); => Ottieni Vale e memorizza in "EffectText"

Passaggio n. 3: verificare il testo

Verifica usando Assert.Metodo AsserTequals ().

Classe pubblica VerifySoftTest
@Test
public void searchBtTest () lancia interruptException

Stringa previstoTiTle = "Electronics, Cars, Fashion, Collectibles & More | eBay";
Stringa previstoText = "Search";
WebDriverManager.ChromeDriver ().impostare();
Driver ChromeDriver = new ChromeDriver ();
autista.get ("https: // www.eBay.com/");
Stringa effectTitle = driver.getTitle ();
Stringa effecttext = driver.FindElement (di.xpath ("//*[@id =" gh-btn "]").getAttribute ("valore");
Sistema.fuori.println ("Verifica del titolo");
Softassert.AsserTequals (AcTuelTitle, previsto, "Verifica del titolo non riuscita");
Sistema.fuori.println ("Verificare il testo");
Softassert.AsserTequals (AcTuelText, previsto, "Verifica di testo non riuscita");
Sistema.fuori.println ("browser chiuso");
autista.vicino();

Passaggio n. 4: eseguire il codice

Qui eseguiremo il codice menzionato nel passaggio # 3 e vedremo l'output.

Output in Eclipse:

Dopo aver eseguito il codice sopra, l'output viene visualizzato in Eclipse. Questo codice è stato eseguito correttamente e il test è stato superato = SearchBtTest. Il colore verde mostra il passaggio del caso di prova.

Conclusione

È difficile trovare un codice testng senza asserzioni perché sono i metodi più spesso utilizzati in testng. Questo articolo illustra l'uso del metodo Assert utilizzando il framework Selenium per testare, il tester determina se il test ha o meno esito positivo, nonché eventuali eccezioni attraverso uno strumento di controllo automatico. In questo tutorial, scriviamo il codice per impostare il driver del browser, avviare il driver del browser ed eseguire semplici affermazioni e affermazioni soft e resistenti. In questo contenuto, hai imparato come l'affermazione morbida sia più importante della dura affermazione.