赛普拉斯点击不会触发操作
Posted
技术标签:
【中文标题】赛普拉斯点击不会触发操作【英文标题】:Cypress click doesn't trigger the action 【发布时间】:2022-01-19 23:07:51 【问题描述】:我有一个包含产品数量控制元素和价格的产品页面。在网站上,当我点击增加数量按钮+
时,价格会相应变化。
但是当我使用 Cypress 时,我可以单击增加按钮,产品数量发生变化但价格保持不变。就像事件从未被触发一样。
是否有类似toHaveBeenCalledWith
或任何我应该添加到流程中的听众?
我的一段代码:
describe("checkout", describeCheckout);
function describeCheckout()
beforeEach(() =>
populateCart();
cy.loginUi();
cy.visitPath("/checkout");
cy.wait(3000);
);
// This part works
it("should click increase button on item", increaseItemQty);
function increaseItemQty()
cy.get("increase-qty").click()
【问题讨论】:
请添加+
按钮的html。
嗨。拥有 HTML 和运行日志以便更好地理解会很棒。尝试通过事件名称触发事件:cy.get("increase-qty").trigger('click')
1.包括更新价格的函数的代码。 2.在里面放一个log,看看有没有被调用,有没有报错。 3. 检查左侧的 cypress 窗口是否会导致更新价格的 API 调用实际触发。 4.题名有误。它确实触发了动作(增加数量)。在它调用的函数中存在问题。
【参考方案1】:
试试下面的代码:
describe("checkout", describeCheckout);
function describeCheckout()
beforeEach(() =>
populateCart();
cy.loginUi();
cy.visitPath("/checkout");
cy.wait(3000);
);
// This part works
it("should click increase button on item", increaseItemQty);
function increaseItemQty()
cy.get("increase-qty").scrollIntoView().click( force:true )
【讨论】:
点击正常,显示的数量上升到2就可以看出 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center。以上是关于赛普拉斯点击不会触发操作的主要内容,如果未能解决你的问题,请参考以下文章