Cypress
Automatisch aus dem Englischen übersetzt.
Auf Englisch lesenEin Cypress-Test, der sich mit einer neuen Adresse registriert und den Bestätigungslink aus der E-Mail öffnet, mit dem Paket proxymail-qa in Cypress-Tasks.
Paket installieren
Abschnitt betitelt „Paket installieren“Füge proxymail-qa zum Projekt hinzu.
npm install --save-dev proxymail-qapnpm add -D proxymail-qayarn add -D proxymail-qabun add -d proxymail-qaTasks registrieren
Abschnitt betitelt „Tasks registrieren“Cypress führt Tasks in Node aus, also registriere sie in der Konfiguration. Der API-Schlüssel kommt aus
PROXYMAIL_QA_API_KEYin der Umgebung, in der Cypress läuft.cypress.config.ts import { defineConfig } from 'cypress';import { ProxyMailQA } from 'proxymail-qa';export default defineConfig({e2e: {setupNodeEvents(on) {const qa = new ProxyMailQA(); // reads PROXYMAIL_QA_API_KEYon('task', {createAddress: () => qa.createAddress({ persona: true }),waitForLink: ({ address, since }: { address: string; since: string }) => qa.waitForLink(address, { type: 'verify', since }),deleteAddress: (address: string) => qa.deleteAddress(address).then(() => null),});},},});Registrieren und Link öffnen
Abschnitt betitelt „Registrieren und Link öffnen“Registriere dich mit der Adresse und öffne dann den Link aus der E-Mail.
Das Task-Timeout beträgt 35 Sekunden, weil ein Wartevorgang bis zu 30 dauern kann. Für einen Code statt eines Links fügst du einen Task hinzu, der
qa.waitForCode(address, { since })aufruft, und gibst dessenvalueins Formular ein.cypress/e2e/signup.cy.js it('verifies the email', () => {cy.task('createAddress').then(({ address }) => {const since = new Date().toISOString();cy.visit('/signup');cy.get('[name=email]').type(address);cy.contains('Sign up').click();cy.task('waitForLink', { address, since }, { timeout: 35000 }).then(({ value }) => cy.visit(value));cy.task('deleteAddress', address);});});
Wenn nichts ankommt, sagt der Fehler, warum, soweit Proxy Mail QA das erkennen kann, zum Beispiel dass der E-Mail-Anbieter deiner App nur an verifizierte Adressen sendet. Zum Ausführen in CI siehe Ausführen in CI. Lieber einfaches HTTP aus der Spec mit cy.request? Jeder Aufruf steht im Leitfaden REST API.
Eine Frage zu dieser Seite?
Frag in jeder Sprache. Die Doku kann dir sofort antworten oder deine Frage an das Team von Proxy Mail QA schicken, das auf Englisch antwortet.