【发布时间】:2019-09-11 14:42:04
【问题描述】:
我目前正在进行赛普拉斯测试,遇到了一个我找不到答案的问题。希望有人可以提供帮助。
因此,在 ReactJs 中,我有以下要测试的组件:
<Link
to={`/example/${exampleId}/subexample/create`}
className={classes.linkIcon}
title="Create subexample"
data-test="new-subexample"
>
为了测试这件作品,我首先在赛普拉斯创建了一个新的example,它工作正常,但随后测试subexample 给我带来了问题,因为data-test="new-subexample" 没有达到我的预期(即点击在/example/:exampleId/subexample/create 链接上)。这是一些代码:
cy.get("[data-test=new-subexample]").click()
const subexample = faker.lorem.paragraph().substring(0, 200);
......
cy.get('[data-test="submit-subexample"]').click();
cy.get(".toast--success").should("be.visible");
});
以前有没有人遇到过这种情况,您是如何设法单击 id 一直在变化的链接的?
另外,也许一种方法是在创建example(也通过赛普拉斯)之后获取:exampleId,但我找不到任何地方如何使用赛普拉斯从 URL 中获取元素。
提前致谢。
更新:问题在于重定向需要一些时间并且从未及时完成以使测试通过。我在重定向之前添加了一个等待(使用 cy.wait())时间,现在测试通过了。
【问题讨论】:
-
错误截图似乎与您代码中提到的元素无关。
-
很好,你注意到了,会用解决方案更新我的问题。