Weboldal keresés
Cypress-t használok egyéni parancsokkal és tesztesetekkel.
Szeretnék néhány globális enumerációt definiálni egy fájlban, pl.:
enum MyEnum{ A = "hello", B = "goodbye" }Most ezt az enumot minden fájlban importálás nélkül szeretném használni, így:
Cypress.Commands.add('testCommand', () => { let myEnum = MyEnum.A; })vagy :
describe("example", () => { További információ →Amikor az elemeket id alapján választjuk ki a cy.get() segítségével, majd gépelünk beléjük a .type() segítségével, a gépelés a rossz elembe történik. Ez időnként több általam írt tesztben is előfordul. Úgy tűnik, a get a megfelelő elemet választja ki, de a type egy másikba ír be.
Példa: elem helyesen kiválasztva érték a rossz elembe beírva
Próbáltam itt több dolgot. cy.get('#elementid').clear().type(&a
További információ →Jelenleg azt próbálom, hogy a Protractor tesztjeimet Cypress-re konvertáljam. A Protractor browser.executeScript() funkciójának Cypress-re való átültetése mindig falba ütközik nálam.
Például van egy Protractor függvényem, ami valahogy így néz ki alább. Ez a függvény rákattint a gomb elemre arra az esetre, ha a this.button.click() nem működne.
this.button = element(by.id(button)); clickExactButton(): promise.Promise<void> { return browser. További információ →
Cypress-szel dolgozom (kipróbáltam a 8.0.0, 8.7.0, 7.7.0 verziókat), hogy egyszerű e2e teszteket írjak, amelyek kitöltenek egy űrlapot.
Tegnap frissítettem egy .click()-t .click({ multiple: true })-re, majd eltávolítottam. Azóta a végrehajtott kód a régi, függetlenül attól, milyen módosításokat végeztem a tesztben.
A hiba a clickből ered, ahol multiple: true van
További információ →
Problémáim voltak egy logikával kapcsolatban, ami több oldalobjektum egy metódusban történő használatáról szól, nem tudtam találni semmilyen ötletet ennek a logikának a használatára, például;
Ezek a módszereim a usersTable nevű oldalobjektumomban;
get rolesAndStatusMenu( További információ →
Két kérdésem van a felugró ablakokkal kapcsolatban, amelyek meghatározott idő nélkül jelennek meg:
Amikor egy idő után megnyitom a weboldalt, egy felugró ablak jelenik meg az oldal közepén, amely tartalmaz egy űrlapot, amit tesztelni szeretnék. Hogyan tudom a cy.get() segítségével elérni az elemet anélkül, hogy tudnám, mikor jelenik meg?
És amikor más teszteket végzek, hogyan tudok aszinkron módon várni arra, hogy a űrlapelem megjelenjen, hogy bezárhassam (van egy
További információ →Próbálok létrehozni egy komponens tesztelési stratégiát egy új React repóhoz, amin itt dolgozunk.
A Cypress dokumentációja alapján nincsenek hasznos részletek arról, hogyan lehet komponens tesztelést konfigurálni egy ilyen egyedi fejlesztői szerver használatával.
import { defineConfig } from 'cypress' export default defineConfig({ component: { devServer(cypressConfig) { // return dev server instance or a promise that resolves to // a dev server instance További információ →
A tesztemben van egy aszinkron függvényhívás
describe('a', () => { after(() => { console.log('after call'); }); it('a', () => { myAsyncFunction().then(() => { console.log('async call'); }); }); }); További információ →
Küzdök annak érdekében, hogy a teszt lefedettséget működtessem e2e tesztekkel egy Next.JS alkalmazásban.
Létrehoztam az alapalkalmazást a következővel
yarn create next-app --typescript --eslint --experimental-appEzután követtem a mérőműszerek dokumentációját. Íme a beállításom:
A projektemben TypeScriptet használok, és a 5.2.2 verzióra való frissítés után nem tudom futtatni a Cypress e2e tesztjeimet. Íme a tsconfig.json fájlom tartalma:
"compilerOptions": { "experimentalDecorators": true, "emitDecoratorMetadata": true, "outDir": "./dist További információ →