Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Codeception in der täglichen Praxis

Codeception in der täglichen Praxis

Vortrag zum TYPO3Camp Mitteldeutschland

move:elevator

January 27, 2018
Tweet

More Decks by move:elevator

Other Decks in Programming

Transcript

  1. 1. Codeception ruft Startseite auf 2. Codeception prüft den Titel

    der Webseite nach 
 erwartetem Inhalt Erreichbarkeit der Webseite „WelcomeCest“
  2. Erreichbarkeit der Webseite $I->wantTo('check if page is available.'); $I->amOnPage('/'); $I->wait(10);

    $I->canSeeInTitle('move:elevator - Full-Service-Agentur'); „WelcomeCest“
  3. 1. Codeception ruft Startseite auf 2. Codeception prüft ob ein

    erwartetes Element 
 vorhanden ist, betätigt es und ruft eine neue Seite auf 3. Codeception prüft ob es sich um die erwartete Zielseite handelt Test von CTA-Elementen Sicherstellung wichtiger Content-Elemente
  4. Test von CTA-Elementen $I->wantTo('check whether call to action button is

    available.'); $I->amOnPage('/'); $I->canSeeElement('#memberlink_button'); $I->click('#memberlink_button'); $I->wait(10); $I->canSeeInPageSource('<meta name="typo3-page-uid" content="1234">'); Sicherstellung wichtiger Content-Elemente
  5. 1. Codeception ruft Sitemap auf 2. Codeception prüft die XML-Struktur

    auf Validität 3. Codeception prüft Inhalte nach erwarteten Elementen XML-Validierung Prüfung extern verwendeter Strukturen
  6. XML-Validierung $I->wantTo('check if sitemap xml is available.'); $I->amOnPage('/sitemap.xml'); $I->seeSiteMapIsValid('sitemap.xml'); $I->seeElementInDOM('//rss/page/item/title');

    $I->dontSeeElement('parsererror'); $I->seeSiteMapResponseContainsUrlPath('/impressum'); Prüfung extern verwendeter Strukturen
  7. 1. Codeception ruft Loginseite auf 2. Codeception prüft ob Loginformular

    vorhanden
 ist, füllt es aus und führt den Login durch 3. Codeception prüft Ausgabe der Userdaten 4. Codeception prüft ob Logout vorhanden ist Prüfung Login Monitoring extern eingebundener Systeme
  8. Prüfung Login $I->wantTo('check if external login available'); $I->amOnPage('/loginarea/'); $I->canSeeInField('#username', '');

    $I->fillField('#username', 'misterX'); $I->fillField('#password', 'test123'); $I->click('.submit'); $I->canSeeInSource('<span class="logoutSection-appellation">misterX</span>'); $I->wait(10); $I->seeInPageSource('Ausloggen'); $I->click('Ausloggen'); Monitoring extern eingebundener Systeme
  9. Test E-Mail-Versand 1. Codeception leert E-Mail-Postfach 2. Codeception ruft Formular

    auf, füllt es aus und sendet es ab 3. Codeception Prüft ob im betreffenden Postfach eine E-Mail mit erwartetem Inhalt und Betreff angekommen ist Test des E-Mail-Versands der Webseite
  10. https://github.com/johnatannvmd/codeception-mailchecker-module Test E-Mail-Versand modules: enabled: - MailChecker config: MailChecker: provider:

    ImapMail options: host: imap.email.test port: 993 service: imap credentials: [email protected]: 'XXXXXXXXXXXXXX' flags: ssl # optional. Default: '' Fla
  11. Test E-Mail-Versand $I->wantTo('check whether "contact form" send mails'); $I->clearMailbox(); $I->amOnPage('/index.php?id=contact');

    $checkString = md5(time()); $I->fillField('#frage', 'testnachricht'); $I->fillField('#vorname', $checkString); $I->fillField('#nachname', 'Nachname'); $I->checkOption('#datum2'); $I->selectOption('#anrede', ‚1'); $I->click('input[type=submit]'); $I->wait('30'); $I->canSeeInLastEmailSubject('Kontaktanfrage'); $I->canSeeInLastEmail('testnachricht'); $I->canSeeInLastEmail('Vorname : ' . $checkString); Test des E-Mail-Versands der Webseite