CasperJS和警报框
CasperJS and alert boxes
本文关键字:CasperJS 更新时间:2023-09-26
如何测试页面上的警报框是否被调用?我可以获取警报框的文本并对其进行评估吗?
我在CasperJS中的点击是这样完成的:
casper.waitForSelector('a[href="javascript:UserLogin()"]',
function success() {
this.test.comment("Submiting the bad login info");
this.test.assertExists('a[href="javascript:UserLogin()"]');
this.click("a#h_login");
},
function fail() {
this.test.assertExists('a[href="javascript:UserLogin()"]');
});
UserLogin函数进行检查,在这种情况下,返回以下信息:
alert('Login has failed.');
我该如何检查?
您必须监听remote.alert
事件:
casper.on('remote.alert', function(message) {
this.echo('alert message: ' + message);
// or if you want to test it
this.test.assertMatch(message, /Login has failed/);
});
尝试使其更加同步:
function testAlert(message) {
this.test.assertMatch(message, /Login has failed/);
}
casper.then(function() {
// temporarily registering listener
this.on('remote.alert', testAlert);
});
casper.waitForSelector('#login', function success() {
this.test.pass('selector was found');
this.click("#login");
}, function fail() {
this.test.fail('selector was found');
});
casper.then(function() {
this.removeListener('remote.alert', testAlert);
});
1.1-beta4版本提供了casper.waitForAlert
功能。有了它,当你需要对页面上的不同警报做出反应时,你可以编写更好的测试。
相关文章:
- CasperJS在使用sendKeys时不会上传文件
- 我如何才能让CasperJS和PhantomJS在约塞米蒂玩得很好
- 从node.js向CasperJS传递参数数组
- CasperJS在每个URL中循环
- 当已经使用CasperJS选择了css类元素时,断言该类的存在
- Casperjs等待资源
- CasperJS(phantom 1.9.7),从昨天起就无法连接https
- CasperJS填充表单-输入名称有方括号
- 如何测试选择器是否存在于CasperJS中
- 使用CasperJS测试多个HTML页面
- casperjs对表单使用waittentivisible
- CasperJS-如何治疗'单击'在一个循环中
- casperjs-css选择器存在,但当单击它时会引发“”;CasperError:无法在不存在的选择器“”上调度mou
- 为什么不't CasperJS'sendAJAX函数为PUT请求发送任何内容
- 可以'无法在CasperJS中复制POST请求
- 如何从CasperJS访问iframe
- 将多个变量从php传递到casperjs
- casperjs滚动弹出层
- casperjs未捕获错误:TypeError:试图分配给readOnly属性
- 如何使casperjs继续而不是在出现异常时退出