Codeception in der täglichen Praxis

Codeception in der täglichen Praxis

Vortrag zum TYPO3Camp Mitteldeutschland

1e3f36cacc64d0a924cdbb3fdc59e8af?s=128

move:elevator

January 27, 2018
Tweet

Transcript

  1. None
  2. Codeception in der 
 täglichen Praxis

  3. Jan Männig Senior CMS-Developer

  4. Beispiele

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

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

    $I->canSeeInTitle('move:elevator - Full-Service-Agentur'); „WelcomeCest“
  7. 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
  8. 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
  9. 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
  10. https://github.com/portrino/codeception-sitemap-module XML-Validierung modules: enabled: - Sitemap: depends: PhpBrowser url: https://www.move-elevator.de

    sitemapParser: guzzle: verify: false
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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: xxxxx@email.test: 'XXXXXXXXXXXXXX' flags: ssl # optional. Default: '' Fla
  16. 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
  17. Vielen Dank!

  18. Grafiken: 
 
 Quellen