2023 Trialbee Internship - Cypress
[Internship] Cypress E2E Web Automation | Interacting with Elements | Handling Mouse Events
olivia_yj
2023. 4. 26. 17:13
import "cypress-iframe";
require("@4w/cypress-drag-drop");
describe("Mouse Operations", () => {
it.skip("MouseHover", () => {
cy.visit("https://demo.opencart.com/");
cy.get(
"body > main:nth-child(3) > div:nth-child(1) > nav:nth-child(1) > div:nth-child(3)>ul:nth-child(1)>li:nth-child(2)>a:nth-child(1)"
).should("not.be.visible");
cy.get(".nav > :nth-child(1) > .dropdown-toggle")
.trigger("mouseover")
.click();
cy.get(
"body > main:nth-child(3) > div:nth-child(1) > nav:nth-child(1) > div:nth-child(3)>ul:nth-child(1)>li:nth-child(2)>a:nth-child(1)"
).should("be.visible");
});
it.skip("Right click", () => {
cy.visit("http://swisnl.github.io/jQuery-contextMenu/demo.html");
// Approach 1
cy.get(".context-menu-one.btn.btn-neutral").trigger("contextmenu");
cy.get(".context-menu-icon-copy > span").should("be.visible");
// Approach 2
cy.get(".context-menu-one.btn.btn-neutral").rightclick();
cy.get(".context-menu-icon-copy > span").should("be.visible");
});
it.skip("Double click", () => {
cy.visit(
"https://wwww.w3schools.com/tags/tryit.asp?filename=tryhtml5_ev_ondblclick3"
);
cy.frameLoaded("#iframeResult"); // Load the frame
// Approach 1 - trigger()
cy.iframe("#iframeResult")
.find('button[ondblclick="myFunction()"]')
.trigger("dbclick");
cy,
iframe("#iframeResult")
.find("#field2")
.should("have.value", "Hello World!");
// Approach 2 - dbclick()
cy.iframe("#iframeResult")
.find('button[ondblclick="myFunction()"]')
.dblclick();
cy,
iframe("#iframeResult")
.find("#field2")
.should("have.value", "Hello World!");
});
it.skip("Drag and Drop using plugin", () => {
cy.visit(
"http://www.dhtmlgoodies.com/scripts/drag-drop-custom/demo-drag-drop-3.html"
);
cy.get("#box6").drag("#box106", { forcd: true });
});
it.skip("Scrolling page", () => {
cy.visit("https://www.countries-ofthe-world.com/flags-of-the-world.html");
// Indian flag
cy.get(
":nth-child(1)>tbody>:nth-child(86)>:nth-child(1)>img"
).scrollIntoView({ duration: 2000 });
cy.get(":nth-child(1)>tbody>:nth-child(86)>:nth-child(1)>img").should(
"be.visible"
);
cy.get(
":nth-child(1)>tbody>:nth-child(4)>:nth-child(1)>img"
).scrollIntoView({ duration: 2000 });
cy.get(":nth-child(1)>tbody>:nth-child(4)>:nth-child(1)>img").should(
"be.visible"
);
});
});