Cypress
英語から自動翻訳されています。
英語で読む新しいアドレスでサインアップし、メールの確認リンクを開く Cypress テストです。Cypress タスクで proxymail-qa パッケージを使います。
パッケージをインストールする
Section titled “パッケージをインストールする”プロジェクトに proxymail-qa を追加します。
npm install --save-dev proxymail-qapnpm add -D proxymail-qayarn add -D proxymail-qabun add -d proxymail-qaタスクを登録する
Section titled “タスクを登録する”Cypress はタスクを Node で実行するため、設定ファイルで登録します。API キー は、Cypress が動く環境の
PROXYMAIL_QA_API_KEYから取得します。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),});},},});サインアップしてリンクを開く
Section titled “サインアップしてリンクを開く”アドレスでサインアップし、メールのリンクを開きます。
待機は最大 30 秒続くことがあるため、タスクのタイムアウトは 35 秒にしています。リンクではなくコードの場合は、
qa.waitForCode(address, { since })を呼び出すタスクを追加し、そのvalueをフォームに入力します。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);});});
何も届かない場合、エラーには Proxy Mail QA でわかる範囲の理由が示されます。たとえば、アプリのメールプロバイダーが確認済みのアドレスにしか送信しない、などです。CI での実行については CI での実行 を参照してください。spec から cy.request で直接 HTTP を使いたい場合は、すべての呼び出しが REST API ガイドにあります。
このページについて質問がありますか?
質問はどの言語でもかまいません。ドキュメントからすぐに回答を得ることも、Proxy Mail QA チームに質問を送ることもできます。チームからの返信は英語です。