Slide 1

Slide 1 text

No content

Slide 2

Slide 2 text

Codeception in der 
 täglichen Praxis

Slide 3

Slide 3 text

Jan Männig Senior CMS-Developer

Slide 4

Slide 4 text

Beispiele

Slide 5

Slide 5 text

1. Codeception ruft Startseite auf 2. Codeception prüft den Titel der Webseite nach 
 erwartetem Inhalt Erreichbarkeit der Webseite „WelcomeCest“

Slide 6

Slide 6 text

Erreichbarkeit der Webseite $I->wantTo('check if page is available.'); $I->amOnPage('/'); $I->wait(10); $I->canSeeInTitle('move:elevator - Full-Service-Agentur'); „WelcomeCest“

Slide 7

Slide 7 text

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

Slide 8

Slide 8 text

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(''); Sicherstellung wichtiger Content-Elemente

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

https://github.com/portrino/codeception-sitemap-module XML-Validierung modules: enabled: - Sitemap: depends: PhpBrowser url: https://www.move-elevator.de sitemapParser: guzzle: verify: false

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

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('misterX'); $I->wait(10); $I->seeInPageSource('Ausloggen'); $I->click('Ausloggen'); Monitoring extern eingebundener Systeme

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

Vielen Dank!

Slide 18

Slide 18 text

Grafiken: 
 
 Quellen