TypeScript/Cypress globálny Enum bez importu

Používam Cypress s vlastnými príkazmi a testovacími prípadmi.

Chcem definovať niekoľko globálnych enumerácií v súbore, napr.:

enum MyEnum{ A = "hello", B = "goodbye" }

Teraz chcem používať tento enum v každom súbore bez importu takto:

Cypress.Commands.add('testCommand', () => { let myEnum = MyEnum.A; })

alebo :

describe("example", () => { it(&q

Čítaj viac →

javascript - Cypress sa zdá, že cieli na nesprávny element

Pri výbere prvkov podľa id pomocou cy.get() a následnom písaní do nich pomocou .type() sa píše do nesprávneho prvku. Tento problém sa objavuje nepravidelne v niekoľkých testoch, ktoré som napísal. get sa zdá vyberať správny prvok, ale potom type zadáva údaje do iného.

Príklad: prvok správne vybraný hodnota zadaná do nesprávneho prvku

Skúsil som tu niekoľko vecí. cy.get('#elementid').clear().type('

Čítaj viac →

json - Aký je ekvivalent funkcie browser.executeScript() z Protractora v Cypress?

Momentálne sa snažím previesť svoje testy z Protractora na Cypress. Pokúšanie sa previesť funkciu browser.executeScript() z Protractora do Cypressu mi vždy spôsobilo problémy.

Napríklad mám jednu funkciu Protractor, ktorá vyzerá niečo podobné ako nižšie. Táto funkcia klikne na tlačidlový element pre prípad, že this.button.click() nefunguje.

this.button = element(by.id(button)); clickExactButton(): promise.Promise<void> { return browser.ex

Čítaj viac →

typescript - Prečo Cypress spúšťa starý kód namiesto aktualizovaného?

Pracujem na Cypress (vyskúšal som 8.0.0, 8.7.0, 7.7.0), aby som napísal jednoduché end-to-end testy, ktoré vyplnia formulár.

Včera som aktualizoval .click() na .click({ multiple: true }), potom som ho odstránil. Odvtedy sa vykonáva starý kód, bez ohľadu na úpravy, ktoré som urobil vo svojom teste

Chyba pochádza z kliknutia s multiple: true

Čítaj viac →

javascript - Cypress JS používanie viacerých objektov stránok v jednej metóde

Snažím sa riešiť určitú logiku týkajúcu sa použitia viacerých objektov stránok v jednej metóde, nemohol som nájsť žiadny nápad, ako použiť takúto logiku, napríklad;

Toto sú moje metódy v mojom objektovom stránkovom prvku nazvanom usersTable;

get rolesAndStatusMenu() {

Čítaj viac →

javascript - Cypress: Ako môžem počkať, kým sa objaví vyskakovacie okno?

Mám 2 otázky týkajúce sa vyskakovacích okien, ktoré sa zobrazujú bez určeného času:

  1. Keď otvorím webovú stránku, po nejakej dobe sa na strede stránky objaví vyskakovacie okno, ktoré obsahuje formulár, ktorý by som chcel testovať. Ako môžem použiť cy.get() na tento prvok, bez toho aby som vedel, kedy sa objaví?

  2. A keď vykonávam ďalšie testy, ako môžem asynchrónne počkať, kým sa zobrazí prvok formulára, aby som ho mohol zatvoriť (má tlačidlo zatvoriť)

Čítaj viac →

reactjs - Cypress komponentové testovanie pre React Microbundle (Rollup) vlastnú konfiguráciu vývojového servera

Snažím sa nastaviť stratégiu testovania komponentov pre nové React úložisko, na ktorom tu pracujeme.

Na základe dokumentácie Cypress nie sú k dispozícii žiadne užitočné informácie o tom, ako nakonfigurovať testovanie komponentov pomocou vlastného vývojového servera ako je tento.

import { defineConfig } from 'cypress' export default defineConfig({ component: { devServer(cypressConfig) { // return dev server instance or a promise that resolves to // a dev

Čítaj viac →

typescript - Cypress hook after all sa volá pred dokončením asynchrónneho volania

V mojom teste mám asynchrónne volanie funkcie

describe('a', () => { after(() => { console.log('after call'); }); it('a', () => { myAsyncFunction().then(() => { console.log('async call'); }); }); });

Čítaj viac →

typescript - Pokrytie testov Cypress nie je nástrojovo vybavené

Snažil som sa zabezpečiť pokrytie testov e2e pri práci s aplikáciou Next.JS.

Vytvoril som základnú aplikáciu s

yarn create next-app --typescript --eslint --experimental-app

Potom som nasledoval dokumentáciu k prístrojovému vybaveniu. Tu je moje nastavenie:

  • package.json (obmedzené na nevyhnutné)
{ "scripts": { "cypress:e2e": "cypress open --e2e" }, "devDependencies": {

Čítaj viac →

TypeScript 5.2.2 s Cypress.js

V mojom projekte používam TypeScript a po aktualizácii na verziu 5.2.2 nemôžem spustiť moje Cypress e2e testy. Tu je obsah môjho súboru tsconfig.json:

"compilerOptions": { "experimentalDecorators": true, "emitDecoratorMetadata": true, "outDir": "./dist/",

Čítaj viac →