Come arrivare Angolare 2 elemento con classe di nome Jasmine

Posso ottenere elemento utilizzando il

fixture.debugElement.query(By.css('h1'));

Ma cosa devo fare quando voglio ottenere un elemento tramite il nome della classe. Qualcosa di simile a questo

fixture.debugElement.query(By.css('class="name"'))

 

3 Replies
  1. 62

    Si utilizza By.css per passare un selettore css. Quindi, qualsiasi selettore è possibile utilizzare con i css, è possibile utilizzare con By.css. E un selettore di classe è semplicemente .classname (con periodo).

    By.css('.classname')          //get by class name
    By.css('input[type=radio]')   //get input by type radio
    By.css('.parent .child')      //get child who has a parent
    

    Questi sono solo alcuni esempi. Se conosci i css, quindi si dovrebbe sapere come utilizzare i selettori.

    EDIT:
    Per utilizzare By.css() essere sicuri di import { By } from '@angular/platform-browser';

    • Grazie per la tua risposta. Come controllare se il css è mancante. Sto cercando di verificare se un link è attivata e se il css non hanno classe “disabili”, significa che il collegamento è abilitato. Così come per verificare l’assenza di una classe?
    • href=”https://developer.mozilla.org/en-US/docs/Web/CSS/:not” >developer.mozilla.org/en-US/docs/Web/CSS/:not
    • Non funziona per me angolare 5 e gelsomino, sto diventando Impossibile: Dai non è definito. Tutte Le Idee?
    • Mi dispiace per la funzione di lavoro di cui abbiamo bisogno, importazione { Da } da ‘@angolare/piattaforma browser’;
    • è possibile utilizzare.css() per un custom di selezione ? per esempio.css(‘my-own-input[name=”nameInput”]’)
  2. 7

    Semplicemente per aggiungere altri utili modi per la selezione di elementi:

    //get element with multiple classes
    
    fixture.debugElement.query(By.css('.className1.className2'));
    
    
    //get a certain element from a group of elements with the same class name
    
    fixture.debugElement.queryAll(By.css('.className'))[1];
    
  3. 4

    Preferirei id utente sul vostro elemento del DOM e poi in angular2 unità di test è
    può chiamare qualcosa come qui sotto per ottenere un riferimento di desiderato elemento DOM
    e la prova di quello che mai ti piace.

    //typscript syntax
    
    fixture = TestBed.createComponent(<your component>);
    
    let result = fixture.nativeElement.querySelector('<id attribute name of html element>');
    
    expect(result.id).toEqual("id  of your DOM element.").
    

    Spero che questo aiuto.

Lascia un commento