Sto lavorando a SQA per diversi siti basati su Kendo che hanno molti tavoli (alcuni sono fatti a mano dai nostri sviluppatori). Queste tabelle hanno un sacco di righe, colonne, pagine e dati in esse contenuti, quindi sto fondamentalmente facendo SQA su contenuti molto dinamici.
Sto provando a creare script automatici per assicurarmi che funzioni come aggiungi una riga o modifica una riga , ma il processo sembra terribilmente noioso e soggetto a errori (non perché il codice effettivo della tabella è negativo, ma poiché il contenuto è dinamico e quindi gli script Selenium recuperano la riga, la colonna e così via sbagliata)
Ad esempio, se voglio creare uno script di selenio per aggiungere una riga in una tabella, devo:
- trova il
xPath
in quella tabella specifica - memorizza
Xpath
- memorizza
XpathCount
- aggiungi una riga
- inserisci i dettagli
- ottieni il nuovo
XpathCount
- assicurati che il nuovo conteggio delle righe sia 1 in più rispetto al numero originale di righe
- se tutto è buono finora, prendi il percorso specifico nella nuova riga e spera che sia dove pensi che sia
- asserire che tutti i dati di questa nuova riga sono quelli inseriti nella creazione della riga
Diciamo che la tua tabella memorizza le cose in ordine alfabetico e non puoi controllare tutti gli altri test in cui gli sviluppatori sono in esecuzione, quindi è popolato da 54 elementi; alcuni realizzati da te, alcuni realizzati da altri. Esegui lo script Selenium per fare clic su "Crea riga" e quindi nella pagina "Crea riga", inserisce automaticamente i dettagli di una riga con il nome dell'attributo principale di "Bob". Il selenio quindi fa clic su "Invia".
La tabella / pagina web inserisce la riga "Bob" tra "BAMF" e "Karl" ma il test del selenio alla fine fallisce perché il contenuto è dinamico e quindi non ha idea di quale riga cercare che abbia "Bob" in esso . Se devo guardare il tavolo ogni volta che eseguo un test per vedere dove andrà "Bob", posso aggiornare lo script per sapere dove sarà la riga, potrei anche non automatizzarlo.
I test come questi non dovrebbero essere automatizzati? Gli script di test come questi dovrebbero essere eseguiti solo su tabelle vuote che si popolano da soli?