Aggiungere un attributo ID a tutti gli elementi HTML di un’applicazione Web?

Attualmente sto costruendo un portale web usando RoR, MySQL, HTML, CSS e jQuery, ecc. Ho ricevuto una richiesta dal mio ingegnere di test di automazione per aggiungere gli attributi ID (se ansible anche l’attributo NAME) a ​​tutti gli elementi della mia applicazione.

Sono confuso a farlo forse non sono sicuro che sia una buona pratica o no, quindi chiunque può aiutarmi con svantaggi / problemi specifici con l’aggiunta di attributi ID a tutti gli elementi della mia applicazione.

Grazie,
Siva

Per eseguire test di frontend affidabili, devi essere in grado di identificare determinati elementi senza utilizzare selettori eccessivamente specifici (di cui hai bisogno, se non hai elementi di riferimento). Un selettore come body div:nth-of-type(4) ul li:nth-child(5) a per controllare un determinato collegamento non solo è ovviamente brutto, ma anche sobject a modifiche nel markup. Una piccola modifica potrebbe interrompere la metà della tua suite di test. Per evitare questo, ci sono diversi modi per rendere più semplice la vita del tecnico di test:

Il cattivo modo

sarebbe quello di assegnare id s a tutti gli elementi della pagina …

La buona strada

è il seguente approccio:

  1. Utilizza i nuovi tag semantici come

    ,

    ,

    ,

    e

    .
    Con questi elementi puoi build la struttura di base della tua pagina .

  2. Assegna id a elementi di pagina importanti / unici. Usale con parsimonia, usa nomi significativi e ricorda che gli id rappresentano elementi unici (possono verificarsi solo una volta sulla pagina)!
  3. Utilizzare l’attributo class per raggruppare più elementi con caratteristiche simili (ad esempio elementi di navigazione, ancore esterne / interne, elementi di interazione, …)
  4. Evita gli attributi dei name o utilizzali solo se necessario. HTML5 ha deprecato questo attributo su alcuni elementi come , quindi lo eviterei del tutto. Non è necessario considerando tutte le altre opzioni che hai.

Infine, dovresti avere una sessione di programmazione di coppia con il tuo ingegnere di test per avere una sensazione migliore, quali sono le sue esigenze, in modo da non intonacare la pagina con markup inutile.

Gli id consentono di trovare in modo affidabile gli elementi specifici in una pagina, anche se la marcatura attorno agli elementi cambia (ad esempio per un aggiornamento visivo).

D’altra parte, gli id estranei aumentano la dimensione di download della pagina e l’ingombro della memoria.

Ci si aspetta che anche gli id siano unici, quindi creare un id univoco per ogni elemento di una pagina sarà difficile, ma probabilmente non è ciò che è necessario per l’automazione del test.