如何解决TestCafe可以按照顺序浏览多个页面吗?
我对TestCafe很陌生,(但是我所看到的很兴奋),所以这可能是一个愚蠢的错误。 我发现的所有TestCafe示例均取决于单个URL。 但是,我想测试一个非常熟悉的序列:
- 用户在X页中做出一些选择,然后点击“提交”,
- 在页面Y中为用户显示多个匹配记录,并在一个结果中单击某项,
- 用户看到详细信息页面Z,其中包含一条记录的完整信息
当我在TestCafe中尝试此操作时,我的测试会在控件离开X时终止。它永远不会看到Y。 因此,在测试的最后几行中,它提交了第X页
await t
.click(submitButton);
..如果我寻找应该在Y页中的值,
await t
.expect(Selector('#back-to-home-page').innerText)
.contains ('Back to Page X');
选择器找不到它们。它只会在X页中找到内容。 (我有testcafe v 6.14,但这不是特定于版本的)。 谢谢。
解决方法
我不确定我是否能准确理解您的问题,页面Y是否是打开的其他页面? (例如,您单击提交,然后在新标签页/窗口中打开Y页) 为此,请参见:https://devexpress.github.io/testcafe/documentation/guides/advanced-guides/multiple-browser-windows.html
另外,根据您提供的最后一个示例,可能是元素加载速度不够快的情况?
尝试类似的东西:
await t
.expect(Selector('#back-to-home-page').innerText).contains('Back to Page X',{timeout: 20000})
查看元素是否在testcafe期望之前就已经存在了。
,谢谢你这个主意。 我的情况仅在单个窗口中,而不在多个窗口或选项卡中。页面X和Y是同一域上的不同URL:一个表单,然后是一个搜索结果页面。完全典型的流程。
我尝试了您的好建议,但没有成功,现在我知道为什么了。
由于到目前为止未知的原因,即使在TestCafe完成所需的输入之后,Page X提交按钮仍保持禁用状态。它可见但变灰。对于人工输入,只有使用TestCafe数据输入才不会发生这种情况。某些JQuery验证未触发。
作为新手,在此之前,我不确定在任何情况下Testcafe是否都可以从X页转到Y页,这是一个可怕的限制。但是,当我在其他站点上使用TestCafe时,我现在向我证明了这种方法是可行的。 我无法在测试站点上解决JQuery,它过于详细,无法在此处发布。但我很高兴结束这个问题。
谢谢你们。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。