Hvordan bruke Selen IDE med Scripts & Kommandoer (Påstå, Bekreft)

Innholdsfortegnelse:

Anonim

Vi vil bruke Mercury Tours-nettstedet som vår webapplikasjon under test. Det er et online flyreservasjonssystem som inneholder alle elementene vi trenger for denne opplæringen. URL-en er http://demo.guru99.com/test/newtours/, og dette vil være vår grunn-URL.

Lag et skript ved innspilling

La oss nå lage vårt første testskript i Selen IDE ved å bruke den vanligste metoden - ved opptak. Etterpå skal vi utføre skriptet vårt ved hjelp av avspillingsfunksjonen.

Trinn 1

  • Start Firefox og Selen IDE.
  • Skriv inn verdien for grunn-URL: http://demo.guru99.com/test/newtours/.
  • Slå på Record-knappen (hvis den ennå ikke er slått på som standard).
Steg 2

I Firefox navigerer du til http://demo.guru99.com/test/newtours/. Firefox bør ta deg til siden som ligner på den som er vist nedenfor.

Trinn 3
  • Høyreklikk på et tomt område på siden, som på Mercury Tours-logoen øverst til venstre. Dette viser Selenium IDE-kontekstmenyen. Merk: Ikke klikk på noen hyperkoblede objekter eller bilder
  • Velg alternativet "Vis tilgjengelige kommandoer".
  • Velg deretter "assertTitle exact: Welcome: Mercury Tours." Dette er en kommando som sørger for at sidetittelen er riktig.
Trinn 4
  • Skriv inn et ugyldig brukernavn, "ugyldig UNN" i tekstboksen "Brukernavn" i Mercury Tours.
  • Skriv inn et ugyldig passord, "invalidPWD", i tekstboksen "Passord".
Trinn 5
  • Klikk på "Pålogging" -knappen. Firefox burde ta deg til denne siden.
Trinn 6

Slå av opptaksknappen for å stoppe opptaket. Skriptet ditt skal nå se ut som det som vises nedenfor.

Trinn 7

Nå som vi er ferdige med testskriptet vårt, skal vi lagre det i en testsak. Velg "Lagre testtilfelle" i Fil-menyen. Alternativt kan du bare trykke Ctrl + S.

Trinn 8
  • Velg ønsket plassering, og navngi deretter testsaken som "Ugyldig innlogging".
  • Klikk på "Lagre" -knappen.
Trinn 9.

Legg merke til at filen ble lagret som HTML.

Trinn 10.

Gå tilbake til Selenium IDE og klikk på avspillingsknappen for å utføre hele skriptet. Selen IDE skal kunne replikere alt feilfritt.

Introduksjon til selenkommandoer - selenesisk

  • Selenes-kommandoer kan ha maksimalt to parametere: mål og verdi.
  • Parametere er ikke nødvendig hele tiden. Det avhenger av hvor mange kommandoen trenger.

3 typer kommandoer

Handlinger

Dette er kommandoer som direkte samhandler med sideelementene.

Eksempel: "klikk" -kommandoen er en handling fordi du samhandler direkte med elementet du klikker på.

Kommandoen "type" er også en handling fordi du legger verdier i en tekstboks, og tekstboksen viser dem til gjengjeld. Det er en toveis interaksjon mellom deg og tekstboksen.

Tilbehør

De er kommandoer som lar deg lagre verdier til en variabel.

Eksempel: "storeTitle" -kommandoen er en tilgangstype fordi den bare "leser" sidetittelen og lagrer den i en variabel. Det samhandler ikke med noe element på siden.

Påstander

De er kommandoer som verifiserer om en viss betingelse er oppfylt.

3 typer påstander

  • Påstå . Når en "assert" -kommando mislykkes, stoppes testen umiddelbart.
  • Bekreft . Når en "verifiser" -kommando mislykkes, logger Selenium IDE denne feilen og fortsetter med testutførelsen.
  • Vent til . Før du fortsetter til neste kommando, vil "waitFor" -kommandoer først vente på at en viss tilstand skal bli oppfylt.
    • Hvis tilstanden blir oppfylt i løpet av ventetiden, går trinnet.
    • Hvis tilstanden ikke blir oppfylt, mislykkes trinnet. Feil logges, og testutførelse fortsetter til neste kommando.
    • Som standard er tidsavbruddsverdien satt til 30 sekunder. Du kan endre dette i dialogboksen Selen IDE Options under kategorien Generelt.

Påstand vs Bekreft

Vanlige kommandoer

Kommando Antall parametere Beskrivelse
åpen 0 - 2

Åpner en side ved hjelp av en URL.

klikk / klikkAndWait 1

Klikk på et spesifisert element.

type / typeKeys 2

Taster en sekvens av tegn.

verifisere tittel / assertTitle 1

Sammenligner den faktiske sidetittelen med en forventet verdi.

verifisereTextPresent 1

Sjekker om en bestemt tekst er funnet på siden.

verifisereElementPresent 1

Kontrollerer tilstedeværelsen av et bestemt element.

verifiseringstabell 2

Sammenligner innholdet i en tabell med forventede verdier.

waitForPageToLoad 1

Pauser utførelsen til siden er lastet helt inn.

waitForElementPresent 1

Pauser utførelsen til det angitte elementet blir til stede.

Opprett et skript manuelt med Firebug

Nå skal vi gjenskape den samme testsaken manuelt, ved å skrive inn kommandoene. Denne gangen må vi bruke Firebug.

Trinn 1
  • Åpne Firefox og Selen IDE.
  • Skriv inn basis-URL (http://demo.guru99.com/test/newtours/).
  • Opptaksknappen skal være AV.
Trinn 2: Klikk på den øverste tomme linjen i Editor.

Skriv "åpne" i tekstboksen Kommando og trykk Enter.

Trinn 3
  • Naviger Firefox til vår grunnleggende URL og aktiver Firebug
  • I Selenium IDE Editor-ruten velger du den andre linjen (linjen under "åpen" kommando) og oppretter den andre kommandoen ved å skrive "assertTitle" i kommandofeltet.
  • Bruk gjerne autofullføringsfunksjonen.
Trinn 4
  • I Firebug utvider du -koden for å vise -koden.</li> <li>Klikk på verdien til <title> -koden (som er "Welcome: Mercury Tours") og lim den inn i målfeltet i Editor.</li> </ul> </td> </tr> <tr> <td><strong>Trinn 5</strong> <ul> <li>For å opprette den tredje kommandoen, klikk på den tredje blanke linjen i Editor og tast inn "type" i tekstboksen Kommando.</li> <li>I Firebug klikker du på "Inspiser" -knappen.</li> </ul> </td> </tr> <tr> <td>Klikk på tekstboksen Brukernavn. Legg merke til at Firebug automatisk viser deg HTML-koden for det elementet.</td> </tr> <tr> <td><strong>Trinn 6</strong> <p>Legg merke til at tekstboksen Brukernavn ikke har ID, men den har et NAVN-attributt. Vi skal derfor bruke NAVN som lokaliseringsprogram. Kopier NAME-verdien og lim den inn i Target-feltet i Selen IDE.</p> <p>Fortsett i Target-tekstboksen, prefiks "userName" med "name =", noe som indikerer at Selen IDE skal målrette mot et element hvis NAME-attributt er "userName."</p> <p>Skriv "invalidUN" i tekstboksen Verdi i Selen IDE. Testskriptet ditt skal nå se ut som bildet nedenfor. Vi er ferdige med den tredje kommandoen. Merk: I stedet for ugyldig UN kan du skrive inn hvilken som helst annen tekststreng. Men Selen IDE er mellom store og små bokstaver, og du skriver inn verdier / attributter akkurat som i applikasjonen.</p> </td> </tr> <tr> <td><strong>Trinn 7</strong> <ul> <li>For å opprette den fjerde kommandoen, tast inn "type" i tekstboksen Kommando.</li> <li>Igjen, bruk Firebugs "Inspiser" -knapp for å hente lokaliseringsboksen for "Passord" -tekstboksen.</li> </ul> <ul> <li> <p>Lim inn NAME-attributtet ("passord") i målfeltet og prefikset med "name ="</p> </li> <li> <p>Skriv "invalidPW" i Verdifeltet i Selen IDE. Testskriptet ditt skal nå se ut som bildet nedenfor.</p> </li> </ul> </td> </tr> <tr> <td><strong>Trinn 8</strong> <ul> <li>For den femte kommandoen skriver du "clickAndWait" i tekstboksen Kommando i Selen IDE.</li> <li>Bruk Firebugs "Inspiser" -knapp for å hente lokalisatoren for "Logg inn" -knappen.</li> </ul> <ul> <li>Lim inn verdien av NAME-attributtet ("login") på tekstboksen Target og prefiks den med "name =".</li> <li>Testskriptet ditt skal nå se ut som bildet nedenfor.</li> </ul> </td> </tr> </tbody> </table> <p><strong>Trinn 9:</strong> Lagre testsaken på samme måte som vi gjorde i forrige avsnitt.</p> <a id="menu-6"></a> <h2>Ved hjelp av Finn-knappen</h2> <p><strong>Finn-knappen i Selen IDE brukes til å verifisere om det vi hadde lagt i tekstboksen Mål virkelig er det riktige UI-elementet.</strong></p> <p>La oss bruke Invalid_login test case som vi opprettet i forrige seksjoner. Klikk på en kommando med en måloppføring, si den tredje kommandoen.</p> <p>Klikk på Finn-knappen. Legg merke til at tekstfeltet Brukernavn på Mercury Tours-siden blir uthevet i et sekund.</p> <p>Dette indikerer at Selen IDE var i stand til å oppdage og få tilgang til det forventede elementet riktig. Hvis Finn-knappen markerte et annet element eller ikke noe element i det hele tatt, må det være noe galt med skriptet ditt.</p> <a id="menu-7"></a> <h2>Utfør kommando</h2> <p><strong>Dette lar deg utføre en enkelt kommando uten å kjøre hele testsaken</strong> . Bare klikk på linjen du vil utføre, og klikk deretter på "Handlinger> Utfør denne kommandoen" fra menylinjen, eller trykk bare "X" på tastaturet.</p> <p><strong>Trinn 1.</strong> Forsikre deg om at nettleseren din er på Mercury Tours hjemmeside. Klikk på kommandoen du vil utføre. I dette eksemplet klikker du på "type | userName | invalidUN" -linjen.</p> <p><strong>Trinn 2.</strong> Trykk på "X" på tastaturet.</p> <p><strong>Trinn 3.</strong> Observer at tekstboksen for brukernavn blir fylt med teksten "ugyldig UN"</p> <p><strong>Å utføre kommandoer på denne måten er veldig avhengig av siden som Firefox viser for øyeblikket</strong> . Dette betyr at hvis du prøver eksemplet ovenfor med Googles hjemmeside vist i stedet for Mercury Tours ', vil trinnet ditt mislykkes fordi det ikke er noen tekstboks med et "userName" -attributt på Googles hjemmeside.</p> <a id="menu-8"></a> <h2>Startpunkt</h2> <p><strong>Et startpunkt er en indikator som forteller Selen IDE hvilke linjer kjøringen vil starte</strong> . <strong>Hurtigtasten er "S".</strong></p> <p>I eksemplet ovenfor starter avspilling på tredje linje (skriv inn | passord | ugyldigPW). <strong>Du kan bare ha ett startpunkt i et enkelt testskript.</strong></p> <p>Startpunktet ligner på Utfør kommando slik at de er avhengige av siden som vises for øyeblikket. Startpunktet mislykkes hvis du er på feil side.</p> <a id="menu-9"></a> <h2>Breakpoints</h2> <p>Breakpoints er indikatorer som forteller Selen IDE hvor testen skal stoppes automatisk. <strong>Hurtigtasten er "B".</strong></p> <p>Det gule høydepunktet betyr at det nåværende trinnet venter. Dette beviser at Selen IDE har stoppet utførelsen på det trinnet. <strong>Du kan ha flere bruddpunkter i en testtilfelle.</strong></p> <a id="menu-10"></a> <h2>Steg</h2> <p>Den lar deg utføre etterfølgende kommandoer en om gangen etter at testsaken er satt på pause. La oss bruke scenariet i forrige avsnitt "Breakpoints."</p> <table> <tbody> <tr> <td width="50%"> </td> <td> <p><strong>Før du klikker "Trinn".</strong></p> <p>Testsaken stopper på linjen "clickAndWait | login".</p> </td> </tr> <tr> <td width="50%"> </td> <td> <p><strong>Etter å ha klikket "Trinn".</strong></p> <p>Linjen "clickAndWait | login" kjøres og pauses til neste kommando (verifisere tittel | Pålogging: Mercury Tours).</p> <p>Legg merke til at neste linje er satt på pause selv om det ikke er noe bruddpunkt der. Dette er hovedformålet med trinnfunksjonen - den utfører de påfølgende kommandoene en om gangen for å gi deg mer tid til å inspisere resultatet etter hvert trinn.</p> </td> </tr> </tbody> </table> <a id="menu-11"></a> <h2>Viktige ting å merke seg når du bruker andre formater i kildevisning</h2> <p><strong>Selen IDE fungerer bare bra med HTML - andre formater er fortsatt i eksperimentell modus</strong> . Det anbefales <strong>IKKE</strong> å opprette eller redigere tester ved hjelp av andre formater i Source View fordi det fortsatt er mye arbeid som trengs for å gjøre det stabilt. Nedenfor er de kjente feilene fra versjon 1.9.1.</p> <ul> <li>Du vil ikke kunne utføre avspilling eller bytte tilbake til tabellvisning med mindre du går tilbake til HTML.</li> <li>Den eneste måten å legge til kommandoer trygt på kildekoden er å registrere dem.</li> <li>Når du endrer kildekoden manuelt, vil alt gå tapt når du bytter til et annet format.</li> <li>Selv om du kan lagre testsaken din mens du er i Source View, vil ikke Selenium IDE kunne åpne den.</li> </ul> <p><strong>Den anbefalte måten å konvertere Selenese-tester på er å bruke alternativet "Eksporter testtilfelle som ..." under Fil-menyen, og ikke gjennom kildevisningen.</strong></p> <a id="menu-12"></a> <h2>Sammendrag</h2> <ul> <li>Testskript kan opprettes enten ved å registrere eller skrive inn kommandoene og parametrene manuelt.</li> <li>Når du oppretter skript manuelt, brukes Firebug for å få lokaliseringen.</li> <li>Finn-knappen brukes til å kontrollere at kommandoen har tilgang til riktig element.</li> <li>Tabellvisning viser et testskript i tabellform mens Source View viser det i HTML-format.</li> <li>Å endre kildevisningen til et ikke-HTML-format er fortsatt eksperimentelt.</li> <li>Ikke bruk Source View når du oppretter tester i andre formater. Bruk eksportfunksjonene i stedet.</li> <li>Parametere er ikke nødvendig hele tiden. Det avhenger av kommandoen.</li> <li>Det er tre typer kommandoer:</li> <ul> <li>Handlinger - samhandler direkte med sideelementene</li> <li>Accessors - "leser" en elementegenskap og lagrer den i en variabel</li> <li>Påstander - sammenligner en faktisk verdi med en forventet verdi</li> </ul> <li>Påstander har tre typer:</li> <ul> <li>Påstand - etter svikt utføres ikke etterfølgende trinn</li> <li>Bekreft - etter feil utføres fremdeles trinn.</li> <li>WaitFor - passerer hvis den angitte tilstanden blir oppfylt innen tidsavbruddsperioden; ellers vil det mislykkes</li> </ul> <li>De vanligste kommandoene er:</li> <ul> <li>åpen</li> <li>klikk / klikkAndWait</li> <li>type / typeKeys</li> <li>verifisere tittel / assertTitle</li> <li>verifisereTextPresent</li> <li>verifisereElementPresent</li> <li>verifiseringstabell</li> <li>waitForPageToLoad</li> <li>waitForElementPresent</li> </ul> </ul> </div> </article> <div id="container-5533149ee6411a5f99b370c693e87966"></div> </div> </div> </div> </div> </div> <aside class="col-lg-4 sidebar sidebar--right"> <div class="widget widget-popular-posts"> <h2 class="widget-title">Populære Innlegg</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8003214-039-cross-device-testing" title="# 039 - Testing av flere enheter - CSS-triks" rel="bookmark"><img src="https://cdn.css-code.org/8403621/039_-_cross_device_testing_css-tricks.png.webp" loading="lazy" alt="# 039 - Testing av flere enheter - CSS-triks" title="# 039 - Testing av flere enheter - CSS-triks" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003214-039-cross-device-testing" title="# 039 - Testing av flere enheter - CSS-triks" rel="bookmark"># 039 - Testing av flere enheter - CSS-triks 2025</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8003215-002-a-look-at-the-old-site" title="# 002 - En titt på det gamle stedet - CSS-triks" rel="bookmark"><img src="https://cdn.css-code.org/4941210/002_-_a_look_at_the_old_site_css-tricks.png.webp" loading="lazy" alt="# 002 - En titt på det gamle stedet - CSS-triks" title="# 002 - En titt på det gamle stedet - CSS-triks" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003215-002-a-look-at-the-old-site" title="# 002 - En titt på det gamle stedet - CSS-triks" rel="bookmark"># 002 - En titt på det gamle stedet - CSS-triks 2025</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8003216-040-series-wrapup" title="# 040 - Serieinnpakning - CSS-triks" rel="bookmark"><img src="https://cdn.css-code.org/9543307/040_-_series_wrapup_css-tricks.png.webp" loading="lazy" alt="# 040 - Serieinnpakning - CSS-triks" title="# 040 - Serieinnpakning - CSS-triks" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8003216-040-series-wrapup" title="# 040 - Serieinnpakning - CSS-triks" rel="bookmark"># 040 - Serieinnpakning - CSS-triks 2025</a></h3> </div> </div> </li> </ul> </div> <div class="widget widget-popular-posts"> <h2 class="widget-title">Beste anmeldelser for måned</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226235-hdfs-tutorial-architecture-read-and-write-operation-using-java-api" title="HDFS Opplæring: Arkitektur, Les & Skriv operasjon ved hjelp av Java API" rel="bookmark">HDFS Opplæring: Arkitektur, Les & Skriv operasjon ved hjelp av Java API</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226347-hadoop-and-mapreduce-examples-create-first-program-in-java" title="Hadoop & Mapreduce Eksempler: Lag første program i Java" rel="bookmark">Hadoop & Mapreduce Eksempler: Lag første program i Java</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226390-how-to-install-hadoop-with-step-by-step-configuration-on-ubuntu" title="Slik installerer du Hadoop med trinnvis konfigurasjon på Ubuntu" rel="bookmark">Slik installerer du Hadoop med trinnvis konfigurasjon på Ubuntu</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226399-top-60-hadoop-and-mapreduce-interview-questions-and-answers" title="Topp 60 Hadoop & MapReduce intervju spørsmål & Svar" rel="bookmark">Topp 60 Hadoop & MapReduce intervju spørsmål & Svar</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226400-how-to-download-and-install-cassandra-on-windows" title="Hvordan laste ned & Installer Cassandra på Windows" rel="bookmark">Hvordan laste ned & Installer Cassandra på Windows</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226401-cassandra-architecture-and-replication-factor-strategy" title="Cassandra Arkitektur & Replikasjonsfaktorstrategi" rel="bookmark">Cassandra Arkitektur & Replikasjonsfaktorstrategi</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226402-cassandra-data-model-with-simple-example" title="Cassandra datamodell med enkelt eksempel" rel="bookmark">Cassandra datamodell med enkelt eksempel</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226403-10-best-data-analytics-tools-for-big-data-analysis-2021" title="De 10 beste verktøyene for dataanalyse for analyse av store data (2021)" rel="bookmark">De 10 beste verktøyene for dataanalyse for analyse av store data (2021)</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226404-create-alter-and-drop-keyspace-in-cassandra-with-example" title="Opprett, endre & Slipp Keyspace i Cassandra med eksempel" rel="bookmark">Opprett, endre & Slipp Keyspace i Cassandra med eksempel</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226405-cassandra-table-create-alter-drop-and-truncate-with-example" title="Cassandra Table: Create, Alter, Drop & Avkort (med eksempel)" rel="bookmark">Cassandra Table: Create, Alter, Drop & Avkort (med eksempel)</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226406-top-15-big-data-tools-open-source-software-for-data-analytics" title="Topp 15 verktøy for store data - Open Source-programvare for dataanalyse" rel="bookmark">Topp 15 verktøy for store data - Open Source-programvare for dataanalyse</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226407-cassandra-collection-set-list-map-with-example" title="Cassandra-samlingen: Sett, Liste, Kart med eksempel" rel="bookmark">Cassandra-samlingen: Sett, Liste, Kart med eksempel</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226408-cassandra-query-languagecql-insert-into-update-delete-example" title="Cassandra Query Language (CQL): Sett inn, oppdater, slett (eksempel)" rel="bookmark">Cassandra Query Language (CQL): Sett inn, oppdater, slett (eksempel)</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226409-cassandra-cluster-setup-on-multiple-nodes-machines" title="Cassandra Cluster Setup på flere noder (maskiner)" rel="bookmark">Cassandra Cluster Setup på flere noder (maskiner)</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8226410-datastax-devcenter-and-opscenter-installation-guide" title="DataStax DevCenter & Installasjonsveiledning for OpsCenter" rel="bookmark">DataStax DevCenter & Installasjonsveiledning for OpsCenter</a></h3> </div> </div> </li> </ul> </div> <div id="container-5533149ee6411a5f99b370c693e87966"></div> <div class="widget widget-popular-posts"> <h2 class="widget-title">Topp Artikler</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8004231-185-playing-with-css-masks" title="# 185: Spiller med CSS-masker - CSS-triks" rel="bookmark"><img src="https://cdn.css-code.org/2626624/185_playing_with_css_masks_css-tricks.png.webp" loading="lazy" alt="# 185: Spiller med CSS-masker - CSS-triks" title="# 185: Spiller med CSS-masker - CSS-triks" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8004231-185-playing-with-css-masks" title="# 185: Spiller med CSS-masker - CSS-triks" rel="bookmark"># 185: Spiller med CSS-masker - CSS-triks 2025</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8004232-18-introduction-to-the-band-website-template" title="# 18: Introduksjon til bandets nettstedmal - CSS-triks" rel="bookmark"><img src="https://cdn.css-code.org/5714001/18_introduction_to_the_band_website_template_css-tricks.png.webp" loading="lazy" alt="# 18: Introduksjon til bandets nettstedmal - CSS-triks" title="# 18: Introduksjon til bandets nettstedmal - CSS-triks" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8004232-18-introduction-to-the-band-website-template" title="# 18: Introduksjon til bandets nettstedmal - CSS-triks" rel="bookmark"># 18: Introduksjon til bandets nettstedmal - CSS-triks 2025</a></h3> </div> </div> </li><li class="post-list-small__item"> <div class="post-list-small__entry clearfix"> <div class="post-list-small__img-holder"> <div class="thumb-container thumb-100"><a href="/8004233-184-inside-and-aligned-lists" title="# 184: Inne og justerte lister - CSS-triks" rel="bookmark"><img src="https://cdn.css-code.org/4686738/184_inside_aligned_lists_css-tricks.png.webp" loading="lazy" alt="# 184: Inne og justerte lister - CSS-triks" title="# 184: Inne og justerte lister - CSS-triks" class="post-list-small__img--rounded" style="width:88px;height:88px" /></a></div> </div> <div class="post-list-small__body"> <h3 class="post-list-small__entry-title"><a href="/8004233-184-inside-and-aligned-lists" title="# 184: Inne og justerte lister - CSS-triks" rel="bookmark"># 184: Inne og justerte lister - CSS-triks 2025</a></h3> </div> </div> </li> </ul> </div> </aside> </div> </div> <footer class="footer footer--dark"> <div class="container"> <div class="footer__widgets"> <div class="row"> <div class="col-lg-4"> <div class="widget"> <h2 class="widget-title">Populære Innlegg</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8003325-031-current-navigation-highlighting" title="# 031: Nåværende navigeringslys - CSS-triks" rel="bookmark"># 031: Nåværende navigeringslys - CSS-triks</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8003326-032-making-the-grid-responsive" title="# 032: Gjør nettet responsivt - CSS-triks" rel="bookmark"># 032: Gjør nettet responsivt - CSS-triks</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8003327-033-photoshopping-search" title="# 033: Photoshopping-søk - CSS-triks" rel="bookmark"># 033: Photoshopping-søk - CSS-triks</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8003328-034-building-search-part-1" title="# 034: Bygningssøk, del 1 - CSS-triks" rel="bookmark"># 034: Bygningssøk, del 1 - CSS-triks</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8003329-035-preventing-typekit-fout" title="# 035: Forebygge Typekit FOUT - CSS-triks" rel="bookmark"># 035: Forebygge Typekit FOUT - CSS-triks</a></h3> </div> </div> </li> </ul> </div> </div> <div class="col-lg-4"> <div class="widget"> <h2 class="widget-title">Redaksjonens</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8222727-robotium-tutorial-your-first-android-framework" title="Robotium Tutorial: Your First Android Framework" rel="bookmark">Robotium Tutorial: Your First Android Framework</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8222729-mobile-app-performance-testing-checklist-tools-andriod-and-ios" title="Testing av ytelse av mobilapp: sjekkliste, verktøy (Andriod og iOS)" rel="bookmark">Testing av ytelse av mobilapp: sjekkliste, verktøy (Andriod og iOS)</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8222733-ios-app-testing-tutorial-manual-and-automation" title="IOS App Testing Tutorial: Manual & Automasjon" rel="bookmark">IOS App Testing Tutorial: Manual & Automasjon</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8222734-ios-automation-testing-using-uiautomation-framework" title="IOS-automatiseringstesting ved bruk av UIAutomation-rammeverk" rel="bookmark">IOS-automatiseringstesting ved bruk av UIAutomation-rammeverk</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8222735-top-20-mobile-testing-interview-questions-and-answers" title="Topp 20 mobiltestintervjuspørsmål & Svar" rel="bookmark">Topp 20 mobiltestintervjuspørsmål & Svar</a></h3> </div> </div> </li> </ul> </div> </div> <div class="col-lg-4"> <div class="widget"> <h2 class="widget-title">Topp Artikler</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8003198-024-subpage-navigation" title="# 024 - Subpage Navigation - CSS-triks" rel="bookmark"># 024 - Subpage Navigation - CSS-triks</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8003199-025-super-cms-the-plugins" title="# 025 - Super CMS, Plugins - CSS-triks" rel="bookmark"># 025 - Super CMS, Plugins - CSS-triks</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8003200-028-events-admin-and-ui" title="# 028 - Hendelser, administrator og brukergrensesnitt - CSS-triks" rel="bookmark"># 028 - Hendelser, administrator og brukergrensesnitt - CSS-triks</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8003201-027-admin-control-of-homepage-slides" title="# 027 - Admin Control of Homepage Slides - CSS-triks" rel="bookmark"># 027 - Admin Control of Homepage Slides - CSS-triks</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8003202-026-super-cms-plugin-setup" title="# 026 - Super CMS, oppsett av plugin - CSS-triks" rel="bookmark"># 026 - Super CMS, oppsett av plugin - CSS-triks</a></h3> </div> </div> </li> </ul> </div> </div> </div> <p>© Copyright no.css-code.org, 2025 April | <a href="https://no.css-code.org/about-site" title="Om nettstedet">Om nettstedet</a> | <a href="https://no.css-code.org/contacts" title="Kontakter">Kontakter</a> | <a href="https://no.css-code.org/privacy-policy" title="Personvernregler">Personvernregler</a>. </p> </div> </div> </footer> <link href="https://css-code.org/template/css/style.min.css" rel="preload" as="style" onload="this.onload=null;this.rel='stylesheet'" /> </body> </html> <script defer src="https://static.cloudflareinsights.com/beacon.min.js/vcd15cbe7772f49c399c6a5babf22c1241717689176015" integrity="sha512-ZpsOmlRQV6y907TI0dKBHq9Md29nnaEIPlkf84rnaERnq6zvWvPUqr2ft8M1aS28oN72PdrCzSjY4U6VaAw1EQ==" data-cf-beacon='{"rayId":"92cf9f86be30025e","version":"2025.3.0","r":1,"serverTiming":{"name":{"cfExtPri":true,"cfL4":true,"cfSpeedBrain":true,"cfCacheStatus":true}},"token":"a52d27ea9cc54e64970d62936c05ab0e","b":1}' crossorigin="anonymous"></script>