我的网站上有以下设置:
您在登录页面上输入凭据,然后将您带到第二个页面(通常不产生屏幕输出),该页面验证用户并将他们重定向到适当的主页。
我的步骤定义包括三个步骤:
- 加载初始登录页面。
- 输入凭据并提交。
- 验证(通过检查页面标题)我是否在主页中创建了它。
我的第一步以优异的成绩通过。
我的第二步声称通过了。
我的第三步失败了。
回顾了一下,发现是因为第二步,虽然官方没有失败,但是没有做到应该做的。僵尸卡在验证页面上。起初我以为它只是缺少重定向,但它似乎没有在验证页面上执行任何操作。我什至注释掉了整个页面,并简单地将“Hello”的输出放在页面顶部。如果我的 browser.html(); 可以相信,它甚至没有看到。我知道我会进入第二页,因为我有
console.log("\n" + browser.location.href);
它向我显示了第二页的 URL。
然后我有
console.log(browser.html());
这是空的。
我什至有一个:
browser.wait(10000,callback);
事先给它一些处理时间,但无济于事。
一些可能相关的信息:
这是一个 ColdFusion 站点。我知道僵尸正在处理 CF 的概念,因为它最初是在加载登录页面,尽管那里没有太多实际的 CF 处理。
正在发生数据库访问。如果僵尸像普通浏览器一样访问,它不应该有所作为,但它就在那里。尽管即使我将所有内容都注释掉,它仍然不起作用,所以我怀疑这实际上是否相关。
这是我登录步骤的脚本部分。请告知我是否以错误的方式处理此问题。
this.When(/^I input my credentials$/, function(callback) {
browser.fill("login", "myusername").fill("password", "mypassword");
browser.document.forms[0].submit();
// Put in here to account for redirect time it will take to get past validation page to actual home page
browser.wait(10000,callback);
callback();
});
如果您需要任何其他信息,请告诉我。对于能够完成这项工作的任何帮助,我将不胜感激!