如何在黄瓜中跟踪来自javascript的重定向?
Posted
技术标签:
【中文标题】如何在黄瓜中跟踪来自javascript的重定向?【英文标题】:How to follow redirect from javascript in cucumber? 【发布时间】:2010-09-02 06:45:05 【问题描述】:我有一个按钮(不是提交按钮),它在提交另一个表单之前执行 ajax 调用。
我想做的是
Given I am viewing homepage
When I press "JustAButton"
Then I should be on "/users/home"
但是重定向发生得有点晚,考虑到页面仍在主页中,“Then”语句失败。我怎样才能等到 ajax 调用(单击按钮的结果)完成并且页面获得提交者??
有什么想法吗?
编辑:示例 javascript 代码
对于
<input type="button" id="btn_Send" value="Send"/>
javascript 是(请忽略语法错误,我想你会明白的)
document.ready()
$("#btn_Send").click(function()
ajax.post('some url',<params>, callbackForSuccess);
function callbackForSuccess(result)
$("#form1").submit();
【问题讨论】:
您是否使用支持 Javascript 的驱动程序运行 Cucumber 场景,例如硒?如果没有,当您的场景运行时,您页面上的 javascript/ajax 将不会执行。 @sidane,是的,我正在这样做。正常的 ajax 调用被正确处理。但是当有javascript表单提交时,它无法识别它们 好的。如果您在浏览器中手动测试,这种行为是否有效?您能否发布任何代码以更清楚地了解您在做什么? 我添加了一个编辑。它在浏览器中手动工作。谢谢 【参考方案1】:正确 - 在 JavaScript 有机会加载另一个寻呼机之前,“我应该打开”立即执行断言。
您需要定义一个等待浏览器到达指定页面(或超时)的步骤。
【讨论】:
以上是关于如何在黄瓜中跟踪来自javascript的重定向?的主要内容,如果未能解决你的问题,请参考以下文章
如何删除 URL 中的参数并将其显示在地址栏中而不会导致 Javascript 中的重定向?
基于美国州的重定向页面,使用 Maxmind geoip2 JS
如何让 pycharm 确认从移动应用程序到移动浏览器的重定向已完成?
Keycloak:使用 nginx 后面的 javascript 适配器的重定向循环