ค้นหาเว็บไซต์
ฉันต้องการมีการวัดความครอบคลุมของโค้ดบนฟรอนต์เอนด์ด้วย Cypress ปัจจุบัน Cypress แนะนำให้ใช้ Istanbul สำหรับการวัดความครอบคลุม น่าเสียดายที่ฉันไม่สามารถใช้มันได้คู่กับสแต็คด้านล่างนี้:
เนื่องจากว่า: - ฉันไม่พบวิธีทำให้ Istanbul ทำงานร่วมกับ ts-loader ได้ เพราะว่า istanbul-instrumenter-loader ใช้ Babel อยู่เบื้องหลัง - babel-loader ไม่รองรับ decorators ในลักษณะเดียวกับที่ TypeS
อ่านต่อไป →
จากการดูตัวอย่างต่างๆ ของการทำ e2e tests บน Cypress ฉันพบว่าหลายคนใช้วิธีการสร้างอ็อบเจ็กต์ใหม่ แทนที่จะใช้ static พวกเขาทำแบบนี้ทำไม? ทำไมไม่ใช้ static กับเมธอดของ page-object เพราะเราก็ไม่เปลี่ยนข้อมูลใดๆ ในคลาสเอง และตามนั้นก็ไม่สื่อสารกับ this และเราก็ไม่จำเป็นต้องมีหลายอินสแตนซ์ของเพจเดียวกัน (หรือ
อ่านต่อไป →
ฉันกำลังใช้ Cypress สำหรับการทดสอบการรวมระบบจากต้นจนจบ (end to end Integration tests) ฉันมีกรณีการใช้งานที่เกี่ยวข้องกับการส่งคืนรายการวัตถุจากคำสั่งกำหนดเองของ Cypress และฉันมีความยากลำบากในการทำเช่นนั้น นี่คือตัวชี้โค้ดของฉัน:
อ่านต่อไป →ใน Cypress เมื่อกำลังสอดส่องฟังก์ชัน ไวยากรณ์คือ cy.spy(object, method) แต่ฉันต้องการสอดส่องฟังก์ชันที่นำเข้าจากไฟล์อื่นซึ่งไม่ได้อยู่ในออบเจกต์ มันเป็นไปได้หรือไม่?
หมายเหตุ: ฉันได้ลองวิธีต่อไปนี้เช่นกัน ซึ่งดูเหมือนไม่ได้ผล
//import { func } from 'src/file'; import * as funcObj from 'src/file'; describe('test', () => { it('test', () => { cy.spy(funcObj, 'func'); }) }) อ่านต่อไป →ฉันใช้ Cypress กับคำสั่งที่กำหนดเองและกรณีทดสอบ
ฉันต้องการกำหนด enum แบบทั่วโลกบางตัวในไฟล์ เช่น:
enum MyEnum{ A = "hello", B = "goodbye" }ตอนนี้ฉันต้องการใช้ enum นี้ในทุกไฟล์ โดยไม่ต้อง import แบบนี้:
Cypress.Commands.add('testCommand', () => { let myEnum = MyEnum.A; })หรือ :
describe("example", () => { it("example", () => อ่านต่อไป →เมื่อเลือกองค์ประกอบโดยใช้ id ด้วย cy.get() แล้วพิมพ์ลงไปโดยใช้ .type() ข้อมูลจะถูกพิมพ์ลงไปในองค์ประกอบที่ผิด เหตุการณ์นี้เกิดขึ้นเป็นครั้งคราวในหลายการทดสอบที่ฉันเขียน get ดูเหมือนว่าจะเลือกองค์ประกอบที่ถูกต้อง แต่แล้ว type กลับพิมพ์ลงในองค์ประกอบอื่น
ตัวอย่าง: เลือกองค์ประกอบถูกต้อง กรอกค่าลงในองค์ประกอบผิด
ฉันได้ลองทำหลายวิธีที่นี่ cy.get('#elementid').clear().type('new text') เป็น
อ่านต่อไป →ฉันกำลังพยายามแปลงการทดสอบ Protractor ของฉันไปเป็น Cypress การพยายามแปลงฟังก์ชัน browser.executeScript() ของ Protractor เป็น Cypress มักทำให้ฉันติดขัดเสมอ
ตัวอย่างเช่น ผมมีฟังก์ชัน Protractor หนึ่งฟังก์ชันที่มีลักษณะประมาณนี้ ฟังก์ชันนี้คลิกที่องค์ประกอบปุ่มในกรณีที่ this.button.click() ไม่ทำงาน:
this.button = element(by.id(button)); clickExactButton(): promise.Promise<void> { return browser.executeScript( "arguments[0].click();& อ่านต่อไป →
ฉันกำลังทำงานกับ Cypress (ลองใช้เวอร์ชัน 8.0.0, 8.7.0, 7.7.0) เพื่อเขียนการทดสอบ e2e ง่าย ๆ ที่กรอกแบบฟอร์ม
เมื่อวานฉันอัปเดต .click() เป็น .click({ multiple: true }) แล้วลบมันออก ตั้งแต่นั้นเป็นต้นมา โค้ดที่ทำงานยังเป็นโค้ดเก่า ไม่ว่าจะมีการแก้ไขในเทสต์ของฉันแค่ไหน
ข้อผิดพลาดเกิดจากการคลิกด้วย multiple: true
อ่านต่อไป →
ฉันกำลังประสบปัญหากับตรรกะบางอย่างเกี่ยวกับการใช้หลายวัตถุหน้าจอในหนึ่งเมธอด ฉันไม่สามารถหาวิธีใช้ตรรกะแบบนั้นได้ เช่นว่า;
นี่คือวิธีของฉันในออบเจ็กต์หน้าของฉันที่เรียกว่า usersTable;
get rolesAndStatusMenu() { return cy.get("#menu- > .MuiPaper-root > .Mui อ่านต่อไป →
ฉันมีคำถาม 2 ข้อเกี่ยวกับหน้าต่างป๊อปอัพที่ปรากฏโดยไม่มีเวลาที่ระบุ:
เมื่อฉันเปิดเว็บไซต์หลังจากเวลาผ่านไป หน้าต่างป๊อปอัพจะปรากฏตรงกลางหน้าซึ่งมีแบบฟอร์มที่ฉันต้องการทดสอบ ฉันจะใช้ cy.get() กับองค์ประกอบนั้นได้อย่างไรโดยที่ไม่รู้ว่ามันจะปรากฏเมื่อไหร่
และเมื่อฉันทำการทดสอบอื่น ๆ ฉันจะรออย่างไม่ประสานเวลาให้กับองค์ประกอบฟอร์มปรากฏเพื่อที่จะปิดมันได้อย่างไร (มันมีปุ่มปิด)