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 →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 →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 →
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 →
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 →
Mám 2 otázky týkajúce sa vyskakovacích okien, ktoré sa zobrazujú bez určeného času:
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í?
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ť)
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 →
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 →
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-appPotom som nasledoval dokumentáciu k prístrojovému vybaveniu. Tu je moje nastavenie:
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 →