Πώς να χρησιμοποιήσετε το Selenium IDE με σενάρια & Εντολές (Assert, Verify)

Πίνακας περιεχομένων:

Anonim

Θα χρησιμοποιήσουμε τον ιστότοπο Mercury Tours ως δοκιμαστική εφαρμογή ιστού. Είναι ένα διαδικτυακό σύστημα κρατήσεων πτήσεων που περιέχει όλα τα στοιχεία που χρειαζόμαστε για αυτό το σεμινάριο. Η διεύθυνση URL της είναι http://demo.guru99.com/test/newtours/ και αυτή θα είναι η βασική διεύθυνση URL.

Δημιουργήστε ένα σενάριο με εγγραφή

Ας δημιουργήσουμε τώρα το πρώτο δοκιμαστικό σενάριο στο Selenium IDE χρησιμοποιώντας την πιο κοινή μέθοδο - καταγράφοντας. Στη συνέχεια, θα εκτελέσουμε το σενάριό μας χρησιμοποιώντας τη δυνατότητα αναπαραγωγής.

Βήμα 1

  • Εκκινήστε το Firefox και το Selenium IDE.
  • Πληκτρολογήστε την τιμή για το Βασικό URL: http://demo.guru99.com/test/newtours/.
  • Ενεργοποιήστε το κουμπί Εγγραφή ενεργοποιημένο (εάν δεν είναι ακόμη ενεργοποιημένο από προεπιλογή).
Βήμα 2

Στο Firefox, μεταβείτε στη διεύθυνση http://demo.guru99.com/test/newtours/. Ο Firefox θα σας οδηγήσει στη σελίδα παρόμοια με αυτήν που φαίνεται παρακάτω.

Βήμα 3
  • Κάντε δεξί κλικ σε οποιοδήποτε κενό διάστημα στη σελίδα, όπως στο λογότυπο Mercury Tours στην επάνω αριστερή γωνία. Αυτό θα εμφανίσει το μενού περιβάλλοντος Selenium IDE. Σημείωση: Μην κάνετε κλικ σε υπερσυνδεδεμένα αντικείμενα ή εικόνες
  • Ορίστε την επιλογή "Εμφάνιση διαθέσιμων εντολών".
  • Στη συνέχεια, επιλέξτε "assertTitle ακριβής: Καλώς ορίσατε: Mercury Tours." Αυτή είναι μια εντολή που διασφαλίζει ότι ο τίτλος της σελίδας είναι σωστός.
Βήμα 4
  • Στο πλαίσιο κειμένου "Όνομα χρήστη" της Mercury Tours, πληκτρολογήστε ένα μη έγκυρο όνομα χρήστη, "validUNN".
  • Στο πλαίσιο κειμένου "Κωδικός πρόσβασης", πληκτρολογήστε έναν μη έγκυρο κωδικό πρόσβασης, "validPWD".
Βήμα 5
  • Κάντε κλικ στο κουμπί "Σύνδεση". Ο Firefox θα σας οδηγήσει σε αυτήν τη σελίδα.
Βήμα 6

Απενεργοποιήστε το κουμπί εγγραφής για να σταματήσετε την εγγραφή. Το σενάριό σας θα πρέπει τώρα να μοιάζει με αυτό που φαίνεται παρακάτω.

Βήμα 7

Τώρα που τελειώσαμε με το δοκιμαστικό σενάριό μας, θα το αποθηκεύσουμε σε δοκιμαστική θήκη. Στο μενού Αρχείο, επιλέξτε "Αποθήκευση δοκιμαστικής θήκης". Εναλλακτικά, μπορείτε απλά να πατήσετε Ctrl + S.

Βήμα 8
  • Επιλέξτε την τοποθεσία που θέλετε και, στη συνέχεια, ονομάστε το Test Case ως "Invalid_login".
  • Κάντε κλικ στο κουμπί "Αποθήκευση".
Βήμα 9.

Παρατηρήστε ότι το αρχείο αποθηκεύτηκε ως HTML.

Βήμα 10.

Επιστρέψτε στο Selenium IDE και κάντε κλικ στο κουμπί Αναπαραγωγή για να εκτελέσετε ολόκληρο το σενάριο. Το Selenium IDE θα πρέπει να μπορεί να αναπαράγει τα πάντα άψογα.

Εισαγωγή στο Selenium Commands - Selenese

  • Οι εντολές Selenese μπορούν να έχουν έως και δύο παραμέτρους: στόχο και τιμή.
  • Οι παράμετροι δεν απαιτούνται συνεχώς. Εξαρτάται από τον αριθμό των εντολών που θα χρειαστούν.

3 τύποι εντολών

Ενέργειες

Αυτές είναι εντολές που αλληλεπιδρούν άμεσα με στοιχεία σελίδας.

Παράδειγμα: η εντολή "κλικ" είναι μια ενέργεια επειδή αλληλεπιδράτε άμεσα με το στοιχείο στο οποίο κάνετε κλικ.

Η εντολή "type" είναι επίσης μια ενέργεια επειδή βάζετε τιμές σε ένα πλαίσιο κειμένου και το πλαίσιο κειμένου τις εμφανίζει σε αντάλλαγμα. Υπάρχει αμφίδρομη αλληλεπίδραση μεταξύ εσάς και του πλαισίου κειμένου.

Αξεσουάρ

Είναι εντολές που σας επιτρέπουν να αποθηκεύετε τιμές σε μια μεταβλητή.

Παράδειγμα: η εντολή "storeTitle" είναι προσπελάστης επειδή "διαβάζει" μόνο τον τίτλο της σελίδας και την αποθηκεύει σε μια μεταβλητή. Δεν αλληλεπιδρά με κανένα στοιχείο της σελίδας.

Ισχυρισμοί

Είναι εντολές που επαληθεύουν εάν πληρούται μια συγκεκριμένη συνθήκη.

3 Τύποι ισχυρισμών

  • Επιβεβαιώστε . Όταν μια εντολή "assert" αποτύχει, ο έλεγχος διακόπτεται αμέσως.
  • Επαλήθευση . Όταν μια εντολή "επαλήθευση" αποτύχει, το Selenium IDE καταγράφει αυτήν την αποτυχία και συνεχίζει με την εκτέλεση της δοκιμής.
  • WaitFor . Πριν προχωρήσουμε στην επόμενη εντολή, οι εντολές "waitFor" θα περιμένουν πρώτα να γίνει πραγματικότητα μια συγκεκριμένη συνθήκη.
    • Εάν η κατάσταση γίνει αληθινή εντός της περιόδου αναμονής, το βήμα περνά.
    • Εάν η συνθήκη δεν γίνει πραγματικότητα, το βήμα αποτυγχάνει. Η αποτυχία καταγράφεται και η εκτέλεση δοκιμής προχωρά στην επόμενη εντολή.
    • Από προεπιλογή, η τιμή χρονικού ορίου ορίζεται στα 30 δευτερόλεπτα. Μπορείτε να το αλλάξετε στο παράθυρο διαλόγου Επιλογές IDE Selenium στην καρτέλα Γενικά.

Επιβεβαίωση έναντι επαλήθευσης

Κοινές εντολές

Εντολή Αριθμός παραμέτρων Περιγραφή
Άνοιξε 0 - 2

Ανοίγει μια σελίδα χρησιμοποιώντας μια διεύθυνση URL.

click / clickAndWait 1

Κάντε κλικ σε ένα καθορισμένο στοιχείο.

type / typeKeys 2

Πληκτρολογεί μια ακολουθία χαρακτήρων.

verifikasiTitle / assertTitle 1

Συγκρίνει τον πραγματικό τίτλο της σελίδας με την αναμενόμενη τιμή.

verifikasiTextPresent 1

Ελέγχει εάν κάποιο συγκεκριμένο κείμενο βρίσκεται μέσα στη σελίδα.

verifyElementPresent 1

Ελέγχει την παρουσία ενός συγκεκριμένου στοιχείου.

Πίνακας επαλήθευσης 2

Συγκρίνει τα περιεχόμενα ενός πίνακα με τις αναμενόμενες τιμές.

waitForPageToLoad 1

Παύει την εκτέλεση έως ότου φορτωθεί πλήρως η σελίδα.

waitForElementPresent 1

Παύει την εκτέλεση έως ότου εμφανιστεί το καθορισμένο στοιχείο.

Δημιουργήστε ένα σενάριο μη αυτόματα με το Firebug

Τώρα, θα δημιουργήσουμε ξανά την ίδια δοκιμαστική θήκη, πληκτρολογώντας τις εντολές. Αυτή τη φορά, θα πρέπει να χρησιμοποιήσουμε το Firebug.

Βήμα 1
  • Ανοίξτε το Firefox και το Selenium IDE.
  • Πληκτρολογήστε τη βασική διεύθυνση URL (http://demo.guru99.com/test/newtours/).
  • Το κουμπί εγγραφής πρέπει να είναι OFF.
Βήμα 2: Κάντε κλικ στην επάνω κενή γραμμή του προγράμματος επεξεργασίας.

Πληκτρολογήστε "open" στο πλαίσιο κειμένου Command και πατήστε Enter.

Βήμα 3
  • Περιηγηθείτε στον Firefox στη βασική διεύθυνση URL και ενεργοποιήστε το Firebug
  • Στο παράθυρο επεξεργασίας Selenium IDE, επιλέξτε τη δεύτερη γραμμή (η γραμμή κάτω από την εντολή "open") και δημιουργήστε τη δεύτερη εντολή πληκτρολογώντας "assertTitle" στο πλαίσιο Command.
  • Μη διστάσετε να χρησιμοποιήσετε τη δυνατότητα αυτόματης συμπλήρωσης.
Βήμα 4
  • Στο Firebug, αναπτύξτε την ετικέτα για να εμφανιστεί η ετικέτα .</li> <li>Κάντε κλικ στην τιμή της ετικέτας <title> (που είναι "Welcome: Mercury Tours") και επικολλήστε την στο πεδίο Target στο πρόγραμμα επεξεργασίας.</li> </ul> </td> </tr> <tr> <td><strong>Βήμα 5</strong> <ul> <li>Για να δημιουργήσετε την τρίτη εντολή, κάντε κλικ στην τρίτη κενή γραμμή στο πρόγραμμα επεξεργασίας και πληκτρολογήστε "type" στο πλαίσιο κειμένου Command</li> <li>Στο Firebug, κάντε κλικ στο κουμπί "Επιθεώρηση".</li> </ul> </td> </tr> <tr> <td>Κάντε κλικ στο πλαίσιο κειμένου Όνομα χρήστη. Σημειώστε ότι το Firebug εμφανίζει αυτόματα τον κώδικα HTML για αυτό το στοιχείο.</td> </tr> <tr> <td><strong>Βήμα 6</strong> <p>Σημειώστε ότι το πλαίσιο κειμένου Όνομα χρήστη δεν έχει αναγνωριστικό, αλλά έχει ένα χαρακτηριστικό NAME. Ως εκ τούτου, θα χρησιμοποιήσουμε το ΟΝΟΜΑ του ως εντοπιστή. Αντιγράψτε την τιμή NAME και επικολλήστε την στο πεδίο Target στο Selenium IDE.</p> <p>Ακόμα στο πλαίσιο κειμένου Target, πρόθεμα "userName" με "name =", υποδεικνύοντας ότι το Selenium IDE πρέπει να στοχεύει ένα στοιχείο του οποίου το χαρακτηριστικό NAME είναι "userName"</p> <p>Πληκτρολογήστε "validUN" στο πλαίσιο κειμένου Value του Selenium IDE. Το δοκιμαστικό σας σενάριο θα πρέπει τώρα να μοιάζει με την παρακάτω εικόνα. Τελειώσαμε με την τρίτη εντολή. Σημείωση: Αντί για μη έγκυροUN, μπορείτε να εισαγάγετε οποιαδήποτε άλλη συμβολοσειρά κειμένου. Ωστόσο, το Selenium IDE είναι πεζά και γράφετε τιμές / χαρακτηριστικά όπως ακριβώς στην εφαρμογή.</p> </td> </tr> <tr> <td><strong>Βήμα 7</strong> <ul> <li>Για να δημιουργήσετε την τέταρτη εντολή, πληκτρολογήστε "type" στο πλαίσιο κειμένου Command.</li> <li>Και πάλι, χρησιμοποιήστε το κουμπί "Επιθεώρηση" του Firebug για να βρείτε τον εντοπιστή για το πλαίσιο κειμένου "Κωδικός πρόσβασης".</li> </ul> <ul> <li> <p>Επικολλήστε το χαρακτηριστικό NAME ("κωδικός πρόσβασης") στο πεδίο Target και προθέστε το με "name ="</p> </li> <li> <p>Πληκτρολογήστε "validPW" στο πεδίο Value στο Selenium IDE. Το δοκιμαστικό σας σενάριο θα πρέπει τώρα να μοιάζει με την παρακάτω εικόνα.</p> </li> </ul> </td> </tr> <tr> <td><strong>Βήμα 8</strong> <ul> <li>Για την πέμπτη εντολή, πληκτρολογήστε "clickAndWait" στο πλαίσιο κειμένου Command στο Selenium IDE.</li> <li>Χρησιμοποιήστε το κουμπί "Επιθεώρηση" του Firebug για να βρείτε τον εντοπιστή για το κουμπί "Σύνδεση".</li> </ul> <ul> <li>Επικολλήστε την τιμή του χαρακτηριστικού NAME ("login") στο πλαίσιο κειμένου Target και προθέστε το με το "name =".</li> <li>Το δοκιμαστικό σας σενάριο θα πρέπει τώρα να μοιάζει με την παρακάτω εικόνα.</li> </ul> </td> </tr> </tbody> </table> <p><strong>Βήμα 9:</strong> Αποθηκεύστε τη δοκιμαστική θήκη με τον ίδιο τρόπο που κάναμε στην προηγούμενη ενότητα.</p> <a id="menu-6"></a> <h2>Χρησιμοποιώντας το κουμπί Εύρεση</h2> <p><strong>Το κουμπί Εύρεση στο Selenium IDE χρησιμοποιείται για να επιβεβαιώσει εάν αυτό που είχαμε τοποθετήσει στο πλαίσιο κειμένου Target είναι πράγματι το σωστό στοιχείο διεπαφής χρήστη.</strong></p> <p>Ας χρησιμοποιήσουμε τη δοκιμαστική περίπτωση Invalid_login που δημιουργήσαμε στις προηγούμενες ενότητες. Κάντε κλικ σε οποιαδήποτε εντολή με καταχώρηση Target, ας πούμε, την τρίτη εντολή</p> <p>Κάντε κλικ στο κουμπί Εύρεση. Παρατηρήστε ότι το πλαίσιο κειμένου Όνομα χρήστη στη σελίδα Mercury Tours επισημαίνεται για ένα δευτερόλεπτο.</p> <p>Αυτό δείχνει ότι το Selenium IDE μπόρεσε να εντοπίσει και να αποκτήσει πρόσβαση στο αναμενόμενο στοιχείο σωστά. Εάν το κουμπί Εύρεση επισημαίνει ένα διαφορετικό στοιχείο ή καθόλου στοιχείο, τότε πρέπει να υπάρχει κάτι λάθος με το σενάριό σας.</p> <a id="menu-7"></a> <h2>Εκτέλεση εντολής</h2> <p><strong>Αυτό σας επιτρέπει να εκτελέσετε οποιαδήποτε μεμονωμένη εντολή χωρίς να εκτελέσετε ολόκληρη τη δοκιμαστική θήκη</strong> . Απλώς κάντε κλικ στη γραμμή που θέλετε να εκτελέσετε και στη συνέχεια είτε κάντε κλικ στο "Ενέργειες> Εκτέλεση αυτής της εντολής" από τη γραμμή μενού ή απλά πατήστε "X" στο πληκτρολόγιό σας.</p> <p><strong>Βήμα 1.</strong> Βεβαιωθείτε ότι το πρόγραμμα περιήγησής σας βρίσκεται στην αρχική σελίδα του Mercury Tours. Κάντε κλικ στην εντολή που θέλετε να εκτελέσετε. Σε αυτό το παράδειγμα, κάντε κλικ στη γραμμή "type | userName | validUN".</p> <p><strong>Βήμα 2.</strong> Πατήστε "X" στο πληκτρολόγιό σας.</p> <p><strong>Βήμα 3.</strong> Παρατηρήστε ότι το πλαίσιο κειμένου για το όνομα χρήστη συμπληρώνεται με το κείμενο "validUN"</p> <p><strong>Η εκτέλεση εντολών με αυτόν τον τρόπο εξαρτάται σε μεγάλο βαθμό από τη σελίδα που εμφανίζει ο Firefox αυτήν τη στιγμή</strong> . Αυτό σημαίνει ότι εάν δοκιμάσετε το παραπάνω παράδειγμα με την αρχική σελίδα Google που εμφανίζεται αντί για το Mercury Tours ', τότε το βήμα σας θα αποτύχει επειδή δεν υπάρχει πλαίσιο κειμένου με το χαρακτηριστικό "userName" στην αρχική σελίδα του Google.</p> <a id="menu-8"></a> <h2>Σημείο εκκίνησης</h2> <p><strong>Ένα σημείο εκκίνησης είναι ένας δείκτης που λέει στο Selenium IDE ποιες γραμμές θα ξεκινήσει η εκτέλεση</strong> . <strong>Το πλήκτρο συντόμευσης είναι "S".</strong></p> <p>Στο παραπάνω παράδειγμα, η αναπαραγωγή θα ξεκινήσει στην τρίτη γραμμή (τύπος | κωδικός πρόσβασης | άκυρηPW). <strong>Μπορείτε να έχετε μόνο ένα σημείο εκκίνησης σε ένα μόνο σενάριο δοκιμής.</strong></p> <p>Το σημείο εκκίνησης είναι παρόμοιο με το Εκτελέστε την εντολή έτσι ώστε να εξαρτώνται από τη σελίδα που εμφανίζεται αυτήν τη στιγμή. Το σημείο εκκίνησης θα αποτύχει εάν βρίσκεστε σε λάθος σελίδα.</p> <a id="menu-9"></a> <h2>ορια ΑΝΤΟΧΗΣ</h2> <p>Τα σημεία διακοπής είναι δείκτες που λένε στο Selenium IDE πού να διακόψει αυτόματα το τεστ. <strong>Το πλήκτρο συντόμευσης είναι "B".</strong></p> <p>Η κίτρινη επισήμανση σημαίνει ότι το τρέχον βήμα εκκρεμεί. Αυτό αποδεικνύει ότι το Selenium IDE έχει σταματήσει την εκτέλεση σε αυτό το βήμα. <strong>Μπορείτε να έχετε πολλά σημεία διακοπής σε μία δοκιμαστική περίπτωση.</strong></p> <a id="menu-10"></a> <h2>Βήμα</h2> <p>Σας επιτρέπει να εκτελείτε τις επόμενες εντολές μία κάθε φορά μετά την παύση της δοκιμαστικής θήκης. Ας χρησιμοποιήσουμε το σενάριο στην προηγούμενη ενότητα "Breakpoints".</p> <table> <tbody> <tr> <td width="50%"> </td> <td> <p><strong>Πριν κάνετε κλικ στο "Βήμα".</strong></p> <p>Η δοκιμαστική υπόθεση σταματά στη γραμμή "clickAndWait | login".</p> </td> </tr> <tr> <td width="50%"> </td> <td> <p><strong>Αφού κάνετε κλικ στο "Βήμα".</strong></p> <p>Η γραμμή "clickAndWait | login" εκτελείται και σταματά στην επόμενη εντολή (verifikasiTitle | Sign-on: Mercury Tours).</p> <p>Παρατηρήστε ότι η επόμενη γραμμή είναι σε παύση παρόλο που δεν υπάρχει σημείο διακοπής εκεί. Αυτός είναι ο κύριος σκοπός της λειτουργίας Βήμα - εκτελεί τις επόμενες εντολές μία κάθε φορά για να σας δώσει περισσότερο χρόνο για να ελέγξετε το αποτέλεσμα μετά από κάθε βήμα.</p> </td> </tr> </tbody> </table> <a id="menu-11"></a> <h2>Σημαντικά πράγματα που πρέπει να λάβετε υπόψη κατά τη χρήση άλλων μορφών στην προβολή πηγής</h2> <p><strong>Το Selenium IDE λειτουργεί καλά μόνο με HTML - άλλες μορφές βρίσκονται ακόμη σε πειραματική λειτουργία</strong> . <strong>ΔΕΝ</strong> είναι <strong>σκόπιμο</strong> να δημιουργείτε ή να επεξεργάζεστε δοκιμές χρησιμοποιώντας άλλες μορφές στην Προβολή προέλευσης, επειδή χρειάζεται ακόμη πολλή δουλειά για να γίνει σταθερή. Ακολουθούν τα γνωστά σφάλματα από την έκδοση 1.9.1.</p> <ul> <li>Δεν θα μπορείτε να εκτελέσετε αναπαραγωγή ούτε να επιστρέψετε στην Προβολή πίνακα εκτός εάν επιστρέψετε σε HTML.</li> <li>Ο μόνος τρόπος να προσθέσετε εντολές με ασφάλεια στον πηγαίο κώδικα είναι να τις καταγράψετε.</li> <li>Όταν τροποποιείτε τον πηγαίο κώδικα με μη αυτόματο τρόπο, θα χαθεί όταν μεταβείτε σε άλλη μορφή.</li> <li>Αν και μπορείτε να αποθηκεύσετε τη δοκιμαστική θήκη σας ενώ βρίσκεστε στην προβολή προέλευσης, το Selenium IDE δεν θα μπορεί να το ανοίξει.</li> </ul> <p><strong>Ο προτεινόμενος τρόπος για να μετατρέψετε τις δοκιμές σελήνης είναι να χρησιμοποιήσετε την επιλογή "Εξαγωγή υπόθεσης ως…" στο μενού Αρχείο και όχι μέσω της προβολής πηγής.</strong></p> <a id="menu-12"></a> <h2>Περίληψη</h2> <ul> <li>Τα σενάρια δοκιμής μπορούν να δημιουργηθούν είτε καταγράφοντας είτε πληκτρολογώντας χειροκίνητα τις εντολές και τις παραμέτρους.</li> <li>Κατά τη δημιουργία χειρογράφων χειροκίνητα, το Firebug χρησιμοποιείται για να πάρει τον εντοπιστή.</li> <li>Το κουμπί Εύρεση χρησιμοποιείται για να ελέγξει ότι η εντολή μπορεί να έχει πρόσβαση στο σωστό στοιχείο.</li> <li>Η προβολή πίνακα εμφανίζει ένα δοκιμαστικό σενάριο σε μορφή πίνακα, ενώ η προβολή προέλευσης το εμφανίζει σε μορφή HTML.</li> <li>Η αλλαγή της προβολής πηγής σε μορφή εκτός HTML είναι ακόμη πειραματική.</li> <li>Μην χρησιμοποιείτε την προβολή προέλευσης για τη δημιουργία δοκιμών σε άλλες μορφές. Χρησιμοποιήστε τις δυνατότητες εξαγωγής.</li> <li>Οι παράμετροι δεν απαιτούνται συνεχώς. Εξαρτάται από την εντολή.</li> <li>Υπάρχουν τρεις τύποι εντολών:</li> <ul> <li>Ενέργειες - αλληλεπιδρά άμεσα με στοιχεία σελίδας</li> <li>Accessors - "διαβάζει" μια ιδιότητα στοιχείου και την αποθηκεύει σε μια μεταβλητή</li> <li>Assertions - συγκρίνει μια πραγματική τιμή με μια αναμενόμενη</li> </ul> <li>Οι ισχυρισμοί έχουν τρεις τύπους:</li> <ul> <li>Επιβεβαίωση - μετά από αποτυχία, τα επόμενα βήματα δεν εκτελούνται πλέον</li> <li>Επαλήθευση - κατά την αποτυχία, τα επόμενα βήματα εξακολουθούν να εκτελούνται.</li> <li>WaitFor - περνά εάν η καθορισμένη συνθήκη γίνει αληθινή εντός του χρονικού ορίου. Διαφορετικά, θα αποτύχει</li> </ul> <li>Οι πιο κοινές εντολές είναι:</li> <ul> <li>Άνοιξε</li> <li>click / clickAndWait</li> <li>type / typeKeys</li> <li>verifikasiTitle / assertTitle</li> <li>verifikasiTextPresent</li> <li>verifyElementPresent</li> <li>Πίνακας επαλήθευσης</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">Δημοφιλείς Αναρτήσεις</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="/8003668-meta-refresh" title="Μετα-ανανέωση - CSS-Κόλπα" rel="bookmark"><img src="https://cdn.css-code.org/7025353/meta_refresh_css-tricks.png.webp" loading="lazy" alt="Μετα-ανανέωση - CSS-Κόλπα" title="Μετα-ανανέωση - CSS-Κόλπα" 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="/8003668-meta-refresh" title="Μετα-ανανέωση - CSS-Κόλπα" rel="bookmark">Μετα-ανανέωση - CSS-Κόλπα 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="/8003669-meta-tag-for-forcing-ie-8-to-behave-like-ie-7" title="Μεταετικέτα που αναγκάζει το IE 8 να συμπεριφέρεται όπως το IE 7 - CSS-Κόλπα" rel="bookmark"><img src="https://cdn.css-code.org/2122963/meta_tag_for_forcing_ie_8_to_behave_like_ie_7_css-tricks.png.webp" loading="lazy" alt="Μεταετικέτα που αναγκάζει το IE 8 να συμπεριφέρεται όπως το IE 7 - CSS-Κόλπα" title="Μεταετικέτα που αναγκάζει το IE 8 να συμπεριφέρεται όπως το IE 7 - CSS-Κόλπα" 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="/8003669-meta-tag-for-forcing-ie-8-to-behave-like-ie-7" title="Μεταετικέτα που αναγκάζει το IE 8 να συμπεριφέρεται όπως το IE 7 - CSS-Κόλπα" rel="bookmark">Μεταετικέτα που αναγκάζει το IE 8 να συμπεριφέρεται όπως το IE 7 - CSS-Κόλπα 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="/8003670-meta-tag-to-prevent-search-engine-bots" title="Μεταετικέτα για την αποτροπή ρομπότ μηχανών αναζήτησης - CSS-Κόλπα" rel="bookmark"><img src="https://cdn.css-code.org/1442824/meta_tag_to_prevent_search_engine_bots_css-tricks.png.webp" loading="lazy" alt="Μεταετικέτα για την αποτροπή ρομπότ μηχανών αναζήτησης - CSS-Κόλπα" title="Μεταετικέτα για την αποτροπή ρομπότ μηχανών αναζήτησης - CSS-Κόλπα" 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="/8003670-meta-tag-to-prevent-search-engine-bots" title="Μεταετικέτα για την αποτροπή ρομπότ μηχανών αναζήτησης - CSS-Κόλπα" rel="bookmark">Μεταετικέτα για την αποτροπή ρομπότ μηχανών αναζήτησης - CSS-Κόλπα 2025</a></h3> </div> </div> </li> </ul> </div> <div class="widget widget-popular-posts"> <h2 class="widget-title">Καλύτερη αξιολογήσεις για το μήνα</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="/8224167-sap-ds-data-services-in-hana" title="SAP DS (Υπηρεσίες δεδομένων) στο HANA" rel="bookmark">SAP DS (Υπηρεσίες δεδομένων) στο HANA</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="/8224181-sap-hana-join-tutorial" title="SAP HANA Εγγραφείτε στο Tutorial" rel="bookmark">SAP HANA Εγγραφείτε στο Tutorial</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="/8224182-sap-hana-modeling-complete-tutorial" title="SAP HANA Modeling: Πλήρες σεμινάριο" rel="bookmark">SAP HANA Modeling: Πλήρες σεμινάριο</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="/8224183-sap-hana-analytic-privileges-tutorial" title="Εκπαιδευτικό Πρόγραμμα SAP HANA Analytic Privileges" rel="bookmark">Εκπαιδευτικό Πρόγραμμα SAP HANA Analytic Privileges</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="/8224185-sap-hana-information-composer" title="Συνθέτης πληροφοριών SAP HANA" rel="bookmark">Συνθέτης πληροφοριών SAP HANA</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="/8224186-sap-hana-import-and-export-tutorial" title="Εγχειρίδιο εισαγωγής και εξαγωγής SAP HANA" rel="bookmark">Εγχειρίδιο εισαγωγής και εξαγωγής SAP HANA</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="/8224187-sap-hana-attribute-view-tutorial" title="Οδηγός προβολής χαρακτηριστικών SAP HANA" rel="bookmark">Οδηγός προβολής χαρακτηριστικών SAP HANA</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="/8224188-sap-hana-analytic-view-complete-tutorial" title="SAP HANA Αναλυτική προβολή: Πλήρες σεμινάριο" rel="bookmark">SAP HANA Αναλυτική προβολή: Πλήρες σεμινάριο</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="/8224189-top-15-sap-hana-interview-questions-and-answers" title="Κορυφαίες 15 ερωτήσεις συνέντευξης SAP HANA & Απαντήσεις" rel="bookmark">Κορυφαίες 15 ερωτήσεις συνέντευξης SAP HANA & Απαντήσεις</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="/8224190-sap-hana-reporting" title="Αναφορά SAP HANA" rel="bookmark">Αναφορά SAP HANA</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="/8224191-sap-hana-tutorial-pdf-beginners-book-free-download" title="SAP HANA Tutorial PDF: Βιβλίο για αρχάριους (ΔΩΡΕΑΝ λήψη)" rel="bookmark">SAP HANA Tutorial PDF: Βιβλίο για αρχάριους (ΔΩΡΕΑΝ λήψη)</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="/8224192-sap-hana-security-complete-tutorial" title="SAP HANA Security: Πλήρες σεμινάριο" rel="bookmark">SAP HANA Security: Πλήρες σεμινάριο</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="/8224197-sap-pa10-personnel-file-how-to-view-all-infotypes-in-sap-hr" title="Αρχείο προσωπικού SAP PA10: Πώς να προβάλετε όλους τους τύπους πληροφοριών στο SAP HR" rel="bookmark">Αρχείο προσωπικού SAP PA10: Πώς να προβάλετε όλους τους τύπους πληροφοριών στο SAP HR</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="/8224198-what-is-sap-hr-introduction-to-sap-hcm" title="Τι είναι το SAP HR; Εισαγωγή στο SAP HCM" rel="bookmark">Τι είναι το SAP HR; Εισαγωγή στο SAP HCM</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="/8224199-what-is-an-infotype" title="Τι είναι το Infotype;" rel="bookmark">Τι είναι το Infotype;</a></h3> </div> </div> </li> </ul> </div> <div id="container-5533149ee6411a5f99b370c693e87966"></div> <div class="widget widget-popular-posts"> <h2 class="widget-title">Κορυφή Άρθρα</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="/8004112-remove-privateprotected-from-post-titles" title="Κατάργηση ιδιωτικών / προστατευμένων από τους τίτλους ανάρτησης - CSS-Κόλπα" rel="bookmark"><img src="https://cdn.css-code.org/1023193/remove_privateprotected_from_post_titles_css-tricks.png.webp" loading="lazy" alt="Κατάργηση ιδιωτικών / προστατευμένων από τους τίτλους ανάρτησης - CSS-Κόλπα" title="Κατάργηση ιδιωτικών / προστατευμένων από τους τίτλους ανάρτησης - CSS-Κόλπα" 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="/8004112-remove-privateprotected-from-post-titles" title="Κατάργηση ιδιωτικών / προστατευμένων από τους τίτλους ανάρτησης - CSS-Κόλπα" rel="bookmark">Κατάργηση ιδιωτικών / προστατευμένων από τους τίτλους ανάρτησης - CSS-Κόλπα 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="/8004113-remove-paragraph-tags-from-around-images" title="Κατάργηση ετικετών παραγράφων από γύρω από εικόνες - CSS-Κόλπα" rel="bookmark"><img src="https://cdn.css-code.org/1284381/remove_paragraph_tags_from_around_images_css-tricks.jpg.webp" loading="lazy" alt="Κατάργηση ετικετών παραγράφων από γύρω από εικόνες - CSS-Κόλπα" title="Κατάργηση ετικετών παραγράφων από γύρω από εικόνες - CSS-Κόλπα" 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="/8004113-remove-paragraph-tags-from-around-images" title="Κατάργηση ετικετών παραγράφων από γύρω από εικόνες - CSS-Κόλπα" rel="bookmark">Κατάργηση ετικετών παραγράφων από γύρω από εικόνες - CSS-Κόλπα 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="/8004115-remove-whitespace-from-function-output" title="Αφαιρέστε το κενό διάστημα από τη λειτουργία εξόδου - CSS-Κόλπα" rel="bookmark"><img src="https://cdn.css-code.org/9197217/remove_whitespace_from_function_output_css-tricks.png.webp" loading="lazy" alt="Αφαιρέστε το κενό διάστημα από τη λειτουργία εξόδου - CSS-Κόλπα" title="Αφαιρέστε το κενό διάστημα από τη λειτουργία εξόδου - CSS-Κόλπα" 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="/8004115-remove-whitespace-from-function-output" title="Αφαιρέστε το κενό διάστημα από τη λειτουργία εξόδου - CSS-Κόλπα" rel="bookmark">Αφαιρέστε το κενό διάστημα από τη λειτουργία εξόδου - CSS-Κόλπα 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">Δημοφιλείς Αναρτήσεις</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8226450-20-best-siem-tools-and-software-solutions-2021" title="20+ BEST SIEM Εργαλεία & Λύσεις λογισμικού (2021)" rel="bookmark">20+ BEST SIEM Εργαλεία & Λύσεις λογισμικού (2021)</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8226451-top-88-data-modeling-interview-questions-and-answers" title="Κορυφαίες ερωτήσεις και απαντήσεις συνέντευξης για τη μοντελοποίηση δεδομένων" rel="bookmark">Κορυφαίες ερωτήσεις και απαντήσεις συνέντευξης για τη μοντελοποίηση δεδομένων</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8226452-data-warehouse-pdf-data-warehousing-concepts-book" title="Data Warehouse PDF: Έννοιες αποθήκευσης δεδομένων (βιβλίο)" rel="bookmark">Data Warehouse PDF: Έννοιες αποθήκευσης δεδομένων (βιβλίο)</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8226453-top-40-elasticsearch-interview-questions-and-answers" title="Κορυφαίες ερωτήσεις και απαντήσεις για συνέντευξη ElasticSearch" rel="bookmark">Κορυφαίες ερωτήσεις και απαντήσεις για συνέντευξη ElasticSearch</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8226454-top-15-devops-testing-tools-in-2021" title="Κορυφαία 15 εργαλεία δοκιμής DevOps το 2021" rel="bookmark">Κορυφαία 15 εργαλεία δοκιμής DevOps το 2021</a></h3> </div> </div> </li> </ul> </div> </div> <div class="col-lg-4"> <div class="widget"> <h2 class="widget-title">Επιλογή Συντάκτη</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8224610-how-to-set-session-in-codeigniter-with-example" title="Πώς να ρυθμίσετε την περίοδο λειτουργίας σε Codeigniter με παράδειγμα" rel="bookmark">Πώς να ρυθμίσετε την περίοδο λειτουργίας σε Codeigniter με παράδειγμα</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8224611-how-to-upload-image-and-file-in-codeigniter-with-example" title="Τρόπος μεταφόρτωσης εικόνας & Αρχείο στο CodeIgniter (με παράδειγμα)" rel="bookmark">Τρόπος μεταφόρτωσης εικόνας & Αρχείο στο CodeIgniter (με παράδειγμα)</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8224612-pagination-in-codeigniter-with-step-by-step-example" title="Σελιδοποίηση σε Codeigniter με βήμα προς βήμα παράδειγμα" rel="bookmark">Σελιδοποίηση σε Codeigniter με βήμα προς βήμα παράδειγμα</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8224613-how-to-send-email-using-codeigniter" title="Πώς να στείλετε email χρησιμοποιώντας το CodeIgniter" rel="bookmark">Πώς να στείλετε email χρησιμοποιώντας το CodeIgniter</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8224614-difference-between-cookie-and-session" title="Διαφορά μεταξύ cookie και περιόδου σύνδεσης" rel="bookmark">Διαφορά μεταξύ cookie και περιόδου σύνδεσης</a></h3> </div> </div> </li> </ul> </div> </div> <div class="col-lg-4"> <div class="widget"> <h2 class="widget-title">Κορυφή Άρθρα</h2> <ul class="post-list-small"> <li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8223803-sap-crm-marketing-plan-campaign-management-and-automation-segmentation" title="SAP CRM Marketing: Σχέδιο, Διαχείριση καμπάνιας & Τμηματοποίηση αυτοματισμού" rel="bookmark">SAP CRM Marketing: Σχέδιο, Διαχείριση καμπάνιας & Τμηματοποίηση αυτοματισμού</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8223804-sap-crm-interaction-center" title="Κέντρο αλληλεπίδρασης SAP CRM" rel="bookmark">Κέντρο αλληλεπίδρασης SAP CRM</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8223805-sap-crm-servicepro-service-agreements-contracts-plans-order-management" title="SAP CRM SERVICEPRO: Συμφωνίες υπηρεσιών, συμβόλαια, σχέδια, διαχείριση παραγγελιών" rel="bookmark">SAP CRM SERVICEPRO: Συμφωνίες υπηρεσιών, συμβόλαια, σχέδια, διαχείριση παραγγελιών</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8223806-sap-crm-business-partner-grouping-roles-relationships" title="SAP CRM Business Partner: Ομαδοποίηση, Ρόλοι, Σχέσεις" rel="bookmark">SAP CRM Business Partner: Ομαδοποίηση, Ρόλοι, Σχέσεις</a></h3> </div> </div> </li><li class="post-list-small__item"> <div> <div> <h3 class="post-list-small__entry-title"><a href="/8223807-sap-crm-product-master-hierarchy-categories-set-types-and-attributes" title="SAP CRM Product Master: Ιεραρχία, Κατηγορίες, Ορισμένοι τύποι & Γνωρίσματα" rel="bookmark">SAP CRM Product Master: Ιεραρχία, Κατηγορίες, Ορισμένοι τύποι & Γνωρίσματα</a></h3> </div> </div> </li> </ul> </div> </div> </div> <p>© Copyright el.css-code.org, 2025 Σεπτέμβριος | <a href="https://el.css-code.org/about-site" title="Σχετικά με τον ιστότοπο">Σχετικά με τον ιστότοπο</a> | <a href="https://el.css-code.org/contacts" title="Επαφές">Επαφές</a> | <a href="https://el.css-code.org/privacy-policy" title="Πολιτική απορρήτου">Πολιτική απορρήτου</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>