Mukautettu JavaScript
Mukautettu on itse luomasi tarkistus. Kirjoitat JavaScript-koodikatkelman, Silktide suorittaa sen selaimessa jokaisella testaamallaan sivulla, ja kaikki koodikatkelmasi raportoimat asiat muuttuvat kyseisten sivujen löydöksiksi.
Tämän avulla voit testata mitä tahansa organisaatiollesi tärkeää asiaa, jota Silktide ei testaa valmiiksi: sisäistä tyylisääntöä, vaadittua seurantakoodikatkelmaa, vanhentunutta komponenttia, jota ei enää pitäisi näkyä, ja niin edelleen.
Korjaaminen
Tämän tarkistuksen löydökset tarkoittavat sitä, mitä koodikatkelmasi päättää niiden tarkoittavan, joten korjauksen määrittelet sinä. Kirjoita kunkin löydöksen message niin, että myös kollega, joka ei ole koskaan nähnyt koodikatkelmaa, tietää mitä pitää muuttaa.
Miten Silktide testaa tämän
- Koodikatkelmasi suoritetaan selaimessa jokaisella Silktiden testaamalla sivulla sen jälkeen, kun sivu on latautunut,
async-JavaScript-funktion runkona. Voit siis käyttää suoraanawait- jareturn-lauseita. - Koodikatkelmasi palautusarvo muutetaan löydöksiksi:
- Palauta objektitaulukko, jos haluat raportoida useita löydöksiä, joista kukin korostaa sivulla olevan elementin:
// Raportoi löydöksenä jokainen yli 500 px leveä kuva
const wide = [...document.querySelectorAll('img')].filter(img => img.width > 500);
return wide.map(img => ({
selector: 'img[src="' + img.getAttribute('src') + '"]',
text: img.getAttribute('src'),
severity: 'medium',
message: 'Kuva on yli 500 px leveä',
}));
- Kukin objekti voi sisältää
selector-kentän (korostettavan elementin CSS-valitsin),text-kentän (löydöksessä näytettävä teksti),severity-kentän (low,mediumtaihigh) sekä ongelman selittävänmessage-kentän. - Palauta tavallinen merkkijono, jos haluat raportoida sivulle yhden vakavuudeltaan matalan löydöksen.
- Palauta tyhjä taulukko tai älä palauta mitään, jos haluat raportoida sivun olevan kunnossa.
- Jos koodikatkelma aiheuttaa virheen tai palauttaa jotain tukematonta, tarkistus raportoi virheen sivulla, jotta voit selvittää koodikatkelman virheen.
Koska koodikatkelma suoritetaan selaimessa sivua ladattaessa, koodikatkelman muuttaminen tulee voimaan seuraavan kerran, kun sivut testataan uudelleen, ei välittömästi.
Vianmääritys
Koodikatkelmani toimii selaimen konsolissa, mutta ei täällä
Koodikatkelma on funktion runko, joten esimerkiksi return-lauseita odotetaan ylimmällä tasolla. Varmista, että koodikatkelma palauttaa löydöksensä sen sijaan, että se kirjaa ne console.log-komennolla, jonka tuloksia ei kerätä.
Löydökset eivät korosta oikeaa elementtiä
Palauttamasi selector-valitsimen on vastattava yksilöllisesti sivulla olevaa elementtiä sillä hetkellä, kun sivu testattiin. Suosi vakaita attribuutteja (ID:t, data-*-attribuutit) sijaintiin perustuvien valitsimien, kuten :nth-child, sijaan, sillä ne rikkoutuvat sisällön siirtyessä.