Cum se utilizează Selenium IDE cu Scripturi & Comenzi (Afirmați, verificați)

Cuprins:

Anonim

Vom folosi site-ul web Mercury Tours ca aplicație web testată. Este un sistem de rezervare de zbor online care conține toate elementele de care avem nevoie pentru acest tutorial. URL-ul său este http://demo.guru99.com/test/newtours/ și acesta va fi URL-ul nostru de bază.

Creați un script prin înregistrare

Să ne creăm acum primul script de testare în Selenium IDE folosind cea mai obișnuită metodă - prin înregistrare. Ulterior, vom executa scriptul nostru folosind funcția de redare.

Pasul 1

  • Lansați Firefox și Selenium IDE.
  • Tastați valoarea pentru adresa URL de bază: http://demo.guru99.com/test/newtours/.
  • Activați butonul Înregistrare (dacă nu este încă activat în mod implicit).
Pasul 2

În Firefox, navigați la http://demo.guru99.com/test/newtours/. Firefox ar trebui să vă ducă la pagina similară cu cea prezentată mai jos.

Pasul 3
  • Faceți clic dreapta pe orice spațiu gol din pagină, cum ar fi pe sigla Mercury Tours din colțul din stânga sus. Aceasta va afișa meniul contextual Selenium IDE. Notă: Nu faceți clic pe niciun obiect sau imagine hyperlink
  • Selectați opțiunea „Afișează comenzile disponibile”.
  • Apoi, selectați „assertTitle exact: Welcome: Mercury Tours”. Aceasta este o comandă care vă asigură că titlul paginii este corect.
Pasul 4
  • În caseta de text „Nume utilizator” din Mercury Tours, tastați un nume de utilizator nevalid, „invalidUNN”.
  • În caseta de text „Parolă”, tastați o parolă nevalidă, „invalidPWD”.
Pasul 5
  • Faceți clic pe butonul „Conectare”. Firefox ar trebui să vă ducă la această pagină.
Pasul 6

Dezactivați butonul de înregistrare pentru a opri înregistrarea. Scriptul dvs. ar trebui să arate acum ca cel prezentat mai jos.

Pasul 7

Acum că am terminat cu scriptul nostru de testare, îl vom salva într-un caz de testare. În meniul Fișier, selectați „Salvați cazul de testare”. Alternativ, puteți apăsa pur și simplu Ctrl + S.

Pasul 8
  • Alegeți locația dorită, apoi denumiți Cazul de test ca „Invalid_login”.
  • Faceți clic pe butonul „Salvați”.
Pasul 9.

Observați că fișierul a fost salvat ca HTML.

Pasul 10.

Reveniți la Selenium IDE și faceți clic pe butonul Redare pentru a executa întregul script. Selenium IDE ar trebui să poată reproduce totul fără cusur.

Introducere în comenzile Selenium - Selenese

  • Comenzile Selenese pot avea până la maximum doi parametri: țintă și valoare.
  • Parametrii nu sunt necesari tot timpul. Depinde de câți comanda va avea nevoie.

3 tipuri de comenzi

Acțiuni

Acestea sunt comenzi care interacționează direct cu elementele paginii.

Exemplu: comanda „clic” este o acțiune deoarece interacționați direct cu elementul la care faceți clic.

Comanda „tip” este, de asemenea, o acțiune, deoarece introduceți valori într-o casetă de text, iar caseta de text vi le arată în schimb. Există o interacțiune bidirecțională între dvs. și caseta de text.

Accesorii

Sunt comenzi care vă permit să stocați valorile unei variabile.

Exemplu: comanda „storeTitle” este un accesor deoarece „citește” doar titlul paginii și o salvează într-o variabilă. Nu interacționează cu niciun element de pe pagină.

Afirmații

Sunt comenzi care verifică dacă este îndeplinită o anumită condiție.

3 tipuri de afirmații

  • Afirmați . Când o comandă „afirmă” eșuează, testul este oprit imediat.
  • Verificați . Când o comandă de „verificare” eșuează, Selenium IDE înregistrează această eroare și continuă cu executarea testului.
  • WaitFor . Înainte de a trece la următoarea comandă, comenzile „waitFor” vor aștepta mai întâi ca o anumită condiție să devină adevărată.
    • Dacă starea devine adevărată în perioada de așteptare, pasul trece.
    • Dacă condiția nu devine adevărată, pasul eșuează. Eșecul este înregistrat, iar executarea testului continuă cu următoarea comandă.
    • În mod implicit, valoarea de expirare este setată la 30 de secunde. Puteți schimba acest lucru în dialogul Opțiuni Selenium IDE din fila General.

Afirmați vs. Verificați

Comenzi comune

Comanda Numărul de parametri Descriere
deschis 0 - 2

Deschide o pagină utilizând o adresă URL.

faceți clic / faceți clic și Așteptați 1

Clicuri pe un element specificat.

type / typeKeys 2

Tastați o secvență de caractere.

verifyTitle / assertTitle 1

Compară titlul paginii cu o valoare așteptată.

verifyTextPresent 1

Verifică dacă un anumit text se găsește în pagină.

verifyElementPresent 1

Verifică prezența unui anumit element.

verifyTable 2

Compară conținutul unui tabel cu valorile așteptate.

waitForPageToLoad 1

Întrerupe executarea până când pagina este încărcată complet.

waitForElementPresent 1

Întrerupe executarea până când elementul specificat devine prezent.

Creați manual un script cu Firebug

Acum, vom recrea același caz de testare manual, tastând comenzile. De data aceasta, va trebui să folosim Firebug.

Pasul 1
  • Deschideți Firefox și Selenium IDE.
  • Tastați adresa URL de bază (http://demo.guru99.com/test/newtours/).
  • Butonul de înregistrare trebuie să fie OPRIT.
Pasul 2: Faceți clic pe linia goală din partea de sus a Editorului.

Tastați „deschide” în caseta de text Comandă și apăsați Enter.

Pasul 3
  • Navigați Firefox la adresa URL de bază și activați Firebug
  • În panoul Editor Selenium IDE, selectați a doua linie (linia de sub comanda „deschide”) și creați a doua comandă tastând „assertTitle” în caseta de comandă.
  • Simțiți-vă liber să utilizați funcția de completare automată.
Pasul 4
  • În Firebug, extindeți eticheta pentru a afișa eticheta .</li> <li>Faceți clic pe valoarea etichetei <title> (care este „Welcome: Mercury Tours”) și lipiți-o în câmpul Țintă din Editor.</li> </ul> </td> </tr> <tr> <td><strong>Pasul 5</strong> <ul> <li>Pentru a crea a treia comandă, faceți clic pe a treia linie goală din Editor și introduceți „tastați” în caseta de text Comandă.</li> <li>În Firebug, faceți clic pe butonul „Inspectați”.</li> </ul> </td> </tr> <tr> <td>Faceți clic pe caseta de text Nume utilizator. Observați că Firebug vă arată automat codul HTML pentru acel element.</td> </tr> <tr> <td><strong>Pasul 6</strong> <p>Observați că caseta de text Nume utilizator nu are un ID, dar are un atribut NAME. Prin urmare, vom folosi NOMUL său ca localizator. Copiați valoarea NAME și lipiți-o în câmpul țintă din Selenium IDE.</p> <p>Încă în caseta de text Țintă, prefixează „userName” cu „name =”, indicând faptul că Selenium IDE ar trebui să vizeze un element al cărui atribut NAME este „userName”.</p> <p>Tastați „invalidUN” în caseta de text Value din Selenium IDE. Scriptul de testare ar trebui să arate acum ca imaginea de mai jos. Am terminat cu a treia comandă. Notă: În loc de invalidUN, puteți introduce orice alt șir de text. Dar Selenium IDE este sensibil la majuscule și minuscule și introduceți valori / atribute exact ca în aplicație.</p> </td> </tr> <tr> <td><strong>Pasul 7</strong> <ul> <li>Pentru a crea a patra comandă, introduceți „tastați” în caseta de text Comandă.</li> <li>Din nou, utilizați butonul „Inspectați” de Firebug pentru a obține localizatorul pentru caseta de text „Parolă”.</li> </ul> <ul> <li> <p>Lipiți atributul NAME („parolă”) pe câmpul țintă și prefixați-l cu „nume =”</p> </li> <li> <p>Tastați „invalidPW” în câmpul Value din Selenium IDE. Scriptul de testare ar trebui să arate acum ca imaginea de mai jos.</p> </li> </ul> </td> </tr> <tr> <td><strong>Pasul 8</strong> <ul> <li>Pentru a cincea comandă, tastați „clickAndWait” pe caseta de text Command din Selenium IDE.</li> <li>Utilizați butonul „Inspectați” de Firebug pentru a obține localizatorul pentru butonul „Conectare”.</li> </ul> <ul> <li>Lipiți valoarea atributului NAME („autentificare”) în caseta de text Țintă și prefixați-l cu „nume =”.</li> <li>Scriptul de testare ar trebui să arate acum ca imaginea de mai jos.</li> </ul> </td> </tr> </tbody> </table> <p><strong>Pasul 9:</strong> Salvați cazul de testare la fel ca în secțiunea anterioară.</p> <a id="menu-6"></a> <h2>Folosind butonul Căutare</h2> <p><strong>Butonul Găsiți în Selenium IDE este utilizat pentru a verifica dacă ceea ce am introdus în caseta de text Țintă este într-adevăr elementul corect al interfeței de utilizare.</strong></p> <p>Să folosim cazul de test Invalid_login pe care l-am creat în secțiunile anterioare. Faceți clic pe orice comandă cu o intrare țintă, să zicem, a treia comandă.</p> <p>Faceți clic pe butonul Găsiți. Observați că caseta de text Nume utilizator din pagina Mercury Tours devine evidențiată pentru o secundă.</p> <p>Acest lucru indică faptul că Selenium IDE a reușit să detecteze și să acceseze corect elementul așteptat. Dacă butonul Căutare a evidențiat un alt element sau niciun element deloc, atunci trebuie să fie ceva în neregulă cu scriptul.</p> <a id="menu-7"></a> <h2>Executați comanda</h2> <p><strong>Acest lucru vă permite să executați orice comandă fără a rula întregul caz de testare</strong> . Doar faceți clic pe linia pe care doriți să o executați, apoi faceți clic pe „Acțiuni> Executați această comandă” din bara de meniu sau pur și simplu apăsați „X” pe tastatură.</p> <p><strong>Pasul 1.</strong> Asigurați-vă că browserul dvs. se află pe pagina de pornire Mercury Tours. Faceți clic pe comanda pe care doriți să o executați. În acest exemplu, faceți clic pe linia „type | userName | invalidUN”.</p> <p><strong>Pasul 2.</strong> Apăsați „X” pe tastatură.</p> <p><strong>Pasul 3.</strong> Observați că caseta de text pentru numele de utilizator devine populată cu textul „invalidUN”</p> <p><strong>Executarea comenzilor în acest fel depinde în mare măsură de pagina pe care Firefox o afișează în prezent</strong> . Aceasta înseamnă că, dacă încercați exemplul de mai sus cu pagina de pornire Google afișată în locul celei de la Mercury Tours, atunci pasul dvs. va eșua, deoarece nu există nicio casetă text cu atributul „userName” în pagina de pornire Google.</p> <a id="menu-8"></a> <h2>Punctul de inceput</h2> <p><strong>Un punct de pornire este un indicator care indică Selenium IDE care linii vor începe executarea</strong> . <strong>Tasta de comandă rapidă este „S”.</strong></p> <p>În exemplul de mai sus, redarea va începe pe a treia linie (tastați | parolă | invalidPW). <strong>Puteți avea un singur punct de pornire într-un singur script de testare.</strong></p> <p>Punctul de pornire este similar cu Execute Command, astfel încât acestea să depindă de pagina afișată în prezent. Punctul de pornire nu va reuși dacă sunteți pe pagina greșită.</p> <a id="menu-9"></a> <h2>Puncte de întrerupere</h2> <p>Punctele de întrerupere sunt indicatori care indică Selenium IDE unde trebuie să întrerupă automat testul. <strong>Tasta de comandă rapidă este „B”.</strong></p> <p>Marcarea galbenă înseamnă că pasul curent este în așteptare. Acest lucru demonstrează că Selenium IDE a întrerupt executarea la acel pas. <strong>Puteți avea mai multe puncte de întrerupere într-un singur caz de testare.</strong></p> <a id="menu-10"></a> <h2>Etapa</h2> <p>Vă permite să executați comenzi succesive pe rând după întreruperea cazului de testare. Să folosim scenariul din secțiunea anterioară „Puncte de întrerupere”.</p> <table> <tbody> <tr> <td width="50%"> </td> <td> <p><strong>Înainte de a da clic pe „Pas”.</strong></p> <p>Cazul de test se întrerupe la rândul „clickAndWait | login”.</p> </td> </tr> <tr> <td width="50%"> </td> <td> <p><strong>După ce faceți clic pe „Pas”.</strong></p> <p>Se execută linia „clickAndWait | login” și se oprește la următoarea comandă (verifyTitle | Sign-on: Mercury Tours).</p> <p>Observați că următoarea linie este întreruptă, chiar dacă nu există un punct de întrerupere acolo. Acesta este scopul principal al caracteristicii Step - execută comenzile succesive pe rând pentru a vă oferi mai mult timp pentru a inspecta rezultatul după fiecare pas.</p> </td> </tr> </tbody> </table> <a id="menu-11"></a> <h2>Lucruri importante de reținut atunci când utilizați alte formate în vizualizarea sursă</h2> <p><strong>Selenium IDE funcționează bine numai cu HTML - alte formate sunt încă în modul experimental</strong> . <strong>NU</strong> este <strong>recomandabil</strong> să creați sau să editați teste folosind alte formate în Vizualizarea sursă, deoarece este încă multă muncă necesară pentru a-l stabiliza. Mai jos sunt erorile cunoscute de la versiunea 1.9.1.</p> <ul> <li>Nu veți putea efectua redarea și nici să reveniți la vizualizarea în tabel decât dacă reveniți la HTML.</li> <li>Singura modalitate de a adăuga comenzi în siguranță pe codul sursă este prin înregistrarea acestora.</li> <li>Când modificați manual codul sursă, totul se va pierde atunci când treceți la un alt format.</li> <li>Deși vă puteți salva cazul de test în timp ce se află în Vizualizarea sursă, Selenium IDE nu îl va putea deschide.</li> </ul> <p><strong>Modul recomandat de a converti testele Selenese este de a utiliza opțiunea „Export Test Case As…” din meniul Fișier și nu prin vizualizarea sursă.</strong></p> <a id="menu-12"></a> <h2>rezumat</h2> <ul> <li>Scripturile de testare pot fi create fie prin înregistrarea, fie prin tastarea manuală a comenzilor și parametrilor.</li> <li>Când creați scripturi manual, Firebug este utilizat pentru a obține localizatorul.</li> <li>Butonul Găsire este utilizat pentru a verifica dacă comanda poate accesa elementul corect.</li> <li>Vizualizarea în tabel afișează un script de test în formă tabelară, în timp ce Vizualizarea sursă îl afișează în format HTML.</li> <li>Schimbarea vizualizării sursă într-un format non-HTML este încă experimentală.</li> <li>Nu utilizați vizualizarea sursă pentru a crea teste în alte formate. Folosiți în schimb funcțiile Export.</li> <li>Parametrii nu sunt necesari tot timpul. Depinde de comandă.</li> <li>Există trei tipuri de comenzi:</li> <ul> <li>Acțiuni - interacționează direct cu elementele paginii</li> <li>Accesorii - „citește” o proprietate de element și o stochează într-o variabilă</li> <li>Afirmații - compară o valoare reală cu una așteptată</li> </ul> <li>Afirmațiile au trei tipuri:</li> <ul> <li>Afirmați - la eșec, pașii care urmează nu mai sunt executați</li> <li>Verificați - la eșec, pașii care urmează sunt încă executați.</li> <li>WaitFor - trece dacă condiția specificată devine adevărată în perioada de expirare; în caz contrar, va eșua</li> </ul> <li>Cele mai frecvente comenzi sunt:</li> <ul> <li>deschis</li> <li>faceți clic / faceți clic și Așteptați</li> <li>type / typeKeys</li> <li>verifyTitle / assertTitle</li> <li>verifyTextPresent</li> <li>verifyElementPresent</li> <li>verifyTable</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">Posturi Populare</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="/8223769-how-to-load-transaction-data-from-flat-file-in-sap-bibw" title="Cum se încarcă datele de tranzacție dintr-un fișier plat în SAP BI / BW" rel="bookmark"><img src="https://cdn.css-code.org/1801997/how_to_load_transaction_data_from_flat_file_in_sap_bibw.jpg.webp" loading="lazy" alt="Cum se încarcă datele de tranzacție dintr-un fișier plat în SAP BI / BW" title="Cum se încarcă datele de tranzacție dintr-un fișier plat în SAP BI / BW" 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="/8223769-how-to-load-transaction-data-from-flat-file-in-sap-bibw" title="Cum se încarcă datele de tranzacție dintr-un fișier plat în SAP BI / BW" rel="bookmark">Cum se încarcă datele de tranzacție dintr-un fișier plat în SAP BI / BW 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="/8223770-how-to-load-transaction-data-from-ecc-sap-rsa5" title="Cum se încarcă datele de tranzacție de la ECC: SAP RSA5" rel="bookmark"><img src="https://cdn.css-code.org/5736783/how_to_load_transaction_data_from_ecc_sap_rsa5.jpg.webp" loading="lazy" alt="Cum se încarcă datele de tranzacție de la ECC: SAP RSA5" title="Cum se încarcă datele de tranzacție de la ECC: SAP RSA5" 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="/8223770-how-to-load-transaction-data-from-ecc-sap-rsa5" title="Cum se încarcă datele de tranzacție de la ECC: SAP RSA5" rel="bookmark">Cum se încarcă datele de tranzacție de la ECC: SAP RSA5 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="/8223771-all-about-star-schema-and-extended-star-schema-in-sap-bibw" title="Totul despre schema stelară & Schema stelelor extinse în SAP BI / BW" rel="bookmark"><img src="https://cdn.css-code.org/9811147/all_about_star_schema_ampamp_extended_star_schema_in_sap_bibw.jpg.webp" loading="lazy" alt="Totul despre schema stelară & Schema stelelor extinse în SAP BI / BW" title="Totul despre schema stelară & Schema stelelor extinse în SAP BI / BW" 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="/8223771-all-about-star-schema-and-extended-star-schema-in-sap-bibw" title="Totul despre schema stelară & Schema stelelor extinse în SAP BI / BW" rel="bookmark">Totul despre schema stelară & Schema stelelor extinse în SAP BI / BW 2025</a></h3> </div> </div> </li> </ul> </div> <div class="widget widget-popular-posts"> <h2 class="widget-title">Comentarii Cel mai bun pentru luna</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="/8003181-011-the-header-and-custom-fonts-via-typekit" title="# 011 - Antet și fonturi personalizate prin TypeKit - CSS-Tricks" rel="bookmark"># 011 - Antet și fonturi personalizate prin TypeKit - CSS-Tricks</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="/8003182-008-giving-ourselves-a-fresh-start-with-a-clean-theme-part-1" title="# 008 - Oferindu-ne un nou început cu o temă curată, partea 1 - CSS-Tricks" rel="bookmark"># 008 - Oferindu-ne un nou început cu o temă curată, partea 1 - CSS-Tricks</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="/8003183-010-codekit-for-great-success" title="# 010 - CodeKit pentru un mare succes - CSS-Tricks" rel="bookmark"># 010 - CodeKit pentru un mare succes - CSS-Tricks</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="/8003184-012-slider-foundations" title="# 012 - Fundații glisante - CSS-Tricks" rel="bookmark"># 012 - Fundații glisante - CSS-Tricks</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="/8003185-013-tweaking-the-slider" title="# 013 - Tweaking Slider - CSS-Tricks" rel="bookmark"># 013 - Tweaking Slider - CSS-Tricks</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="/8003186-014-positioning-the-slider" title="# 014 - Poziționarea glisorului CSS-Tricks" rel="bookmark"># 014 - Poziționarea glisorului CSS-Tricks</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="/8003187-015-home-page-navigation-part-1" title="# 015 - Navigare în pagina principală, partea 1 - CSS-Tricks" rel="bookmark"># 015 - Navigare în pagina principală, partea 1 - CSS-Tricks</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="/8003188-017-home-navigation-part-3" title="# 017 - Navigare la domiciliu, partea 3 - CSS-Tricks" rel="bookmark"># 017 - Navigare la domiciliu, partea 3 - CSS-Tricks</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="/8003189-016-home-navigation-part-2" title="# 016 - Navigare la domiciliu, partea 2 - CSS-Tricks" rel="bookmark"># 016 - Navigare la domiciliu, partea 2 - CSS-Tricks</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="/8003190-018-footer" title="# 018 - subsol - CSS-Tricks" rel="bookmark"># 018 - subsol - CSS-Tricks</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="/8003191-019-the-blog-part-1" title="# 019 - Blogul, partea 1 - CSS-Tricks" rel="bookmark"># 019 - Blogul, partea 1 - CSS-Tricks</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="/8003192-020-the-blog-part-2" title="# 020 - Blogul, partea 2 - CSS-Tricks" rel="bookmark"># 020 - Blogul, partea 2 - CSS-Tricks</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="/8003193-placeholder-shown" title=": substituent-arătat - CSS-Tricks" rel="bookmark">: substituent-arătat - CSS-Tricks</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="/8003194-021-the-blog-part-3" title="# 021 - Blogul, partea 3 - CSS-Tricks" rel="bookmark"># 021 - Blogul, partea 3 - CSS-Tricks</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="/8003195-022-blog-archives" title="# 022 - Arhive blog - CSS-Tricks" rel="bookmark"># 022 - Arhive blog - CSS-Tricks</a></h3> </div> </div> </li> </ul> </div> <div id="container-5533149ee6411a5f99b370c693e87966"></div> <div class="widget widget-popular-posts"> <h2 class="widget-title">Top Articole</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="/8224961-top-50-shell-scripting-interview-questions-and-answers" title="Top 50 Întrebări pentru interviuri cu scripturi Shell & Răspunsuri" rel="bookmark"><img src="https://cdn.css-code.org/7069148/top_50_shell_scripting_interview_questions_ampamp_answers.png.webp" loading="lazy" alt="Top 50 Întrebări pentru interviuri cu scripturi Shell & Răspunsuri" title="Top 50 Întrebări pentru interviuri cu scripturi Shell & Răspunsuri" 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="/8224961-top-50-shell-scripting-interview-questions-and-answers" title="Top 50 Întrebări pentru interviuri cu scripturi Shell & Răspunsuri" rel="bookmark">Top 50 Întrebări pentru interviuri cu scripturi Shell & Răspunsuri 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="/8224962-top-60-linux-interview-questions-and-answers-download-pdf" title="Top 60 de întrebări și răspunsuri la interviul Linux (Descărcați PDF)" rel="bookmark"><img src="https://cdn.css-code.org/2959283/top_60_linux_interview_questions_and_answers_download_pdf.png.webp" loading="lazy" alt="Top 60 de întrebări și răspunsuri la interviul Linux (Descărcați PDF)" title="Top 60 de întrebări și răspunsuri la interviul Linux (Descărcați PDF)" 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="/8224962-top-60-linux-interview-questions-and-answers-download-pdf" title="Top 60 de întrebări și răspunsuri la interviul Linux (Descărcați PDF)" rel="bookmark">Top 60 de întrebări și răspunsuri la interviul Linux (Descărcați PDF) 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="/8224963-oracle-plsql-bulk-collect-forall-example" title="Oracle PL / SQL BULK COLLECT: Exemplu FORALL" rel="bookmark"><img src="https://cdn.css-code.org/4343187/oracle_plsql_bulk_collect_forall_example.png.webp" loading="lazy" alt="Oracle PL / SQL BULK COLLECT: Exemplu FORALL" title="Oracle PL / SQL BULK COLLECT: Exemplu FORALL" 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="/8224963-oracle-plsql-bulk-collect-forall-example" title="Oracle PL / SQL BULK COLLECT: Exemplu FORALL" rel="bookmark">Oracle PL / SQL BULK COLLECT: Exemplu FORALL 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">Posturi Populare</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8004296-55-adding-rss-content-with-simplepie" title="# 55: Adăugarea de conținut RSS cu SimplePie - CSS-Tricks" rel="bookmark"># 55: Adăugarea de conținut RSS cu SimplePie - CSS-Tricks</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8004297-56-integrating-foxycart-and-wordpress" title="# 56: Integrarea FoxyCart și WordPress - CSS-Tricks" rel="bookmark"># 56: Integrarea FoxyCart și WordPress - CSS-Tricks</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8004298-57-using-css3" title="# 57: Utilizarea CSS3 - CSS-Tricks" rel="bookmark"># 57: Utilizarea CSS3 - CSS-Tricks</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8004299-5-columns-of-equal-height-super-simple-two-column-layout" title="# 5: Coloane cu înălțime egală: Layout super simplu cu două coloane - CSS-Tricks" rel="bookmark"># 5: Coloane cu înălțime egală: Layout super simplu cu două coloane - CSS-Tricks</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8004300-59-embedding-audio" title="# 59: Încorporarea audio - CSS-Tricks" rel="bookmark"># 59: Încorporarea audio - CSS-Tricks</a></h3> </div> </div> </li> </ul> </div> </div> <div class="col-lg-4"> <div class="widget"> <h2 class="widget-title">Alegerea Editorului</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8225712-functions-in-r-programming-with-example" title="Funcții în programarea R (cu exemplu)" rel="bookmark">Funcții în programarea R (cu exemplu)</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8225713-15-best-iphone-data-recovery-software-2021" title="15 CEL MAI BUN software de recuperare a datelor iPhone (2021)" rel="bookmark">15 CEL MAI BUN software de recuperare a datelor iPhone (2021)</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8225714-15-best-crypto-exchanges-to-buy-cryptocurrency-in-2021" title="Cele mai bune 15 schimburi de cripto pentru a cumpăra criptomonedă în 2021" rel="bookmark">Cele mai bune 15 schimburi de cripto pentru a cumpăra criptomonedă în 2021</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8225715-20-best-crypto-wallets-top-bitcoin-wallets-exchange-in-2021" title="Cele mai bune 20 de portofele Crypto - Portofele Bitcoin de top (schimb) în 2021" rel="bookmark">Cele mai bune 20 de portofele Crypto - Portofele Bitcoin de top (schimb) în 2021</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8225716-10-best-monitors-for-dual-setup-reviews-for-2021" title="10 BEST Monitoare pentru configurare duală (Recenzii pentru 2021)" rel="bookmark">10 BEST Monitoare pentru configurare duală (Recenzii pentru 2021)</a></h3> </div> </div> </li> </ul> </div> </div> <div class="col-lg-4"> <div class="widget"> <h2 class="widget-title">Top Articole</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8226221-aws-certification-guide-cost-courses-salary-exam-details" title="Ghid de certificare AWS: cost, cursuri, salariu, detalii despre examen" rel="bookmark">Ghid de certificare AWS: cost, cursuri, salariu, detalii despre examen</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8226222-vba-tutorial-pdf-excel-programming-course-free-download" title="VBA Tutorial PDF: Curs de programare Excel (descărcare GRATUITĂ)" rel="bookmark">VBA Tutorial PDF: Curs de programare Excel (descărcare GRATUITĂ)</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8226223-what-is-big-data-introduction-types-characteristics-example" title="Ce este BIG DATA? Introducere, tipuri, caracteristici, exemplu" rel="bookmark">Ce este BIG DATA? Introducere, tipuri, caracteristici, exemplu</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8226224-20-best-aws-competitors-and-alternatives-in-2021" title="20 de BESTI concurenți AWS & Alternative în 2021" rel="bookmark">20 de BESTI concurenți AWS & Alternative în 2021</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8226227-sqoop-tutorial-what-is-apache-sqoop-architecture-and-example" title="Tutorial Sqoop: Ce este Apache Sqoop? Arhitectură & Exemplu" rel="bookmark">Tutorial Sqoop: Ce este Apache Sqoop? Arhitectură & Exemplu</a></h3> </div> </div> </li> </ul> </div> </div> </div> <p>© Copyright ro.css-code.org, 2025 Ianuarie | <a href="https://ro.css-code.org/about-site" title="Despre site">Despre site</a> | <a href="https://ro.css-code.org/contacts" title="Contacte">Contacte</a> | <a href="https://ro.css-code.org/privacy-policy" title="Politica de Confidențialitate">Politica de Confidențialitate</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>