我有一个小的CasperJS测试脚本,如下所示。 url
中使用的网站建立在角度上。
var deals;
var url;
var login_url;
casper.test.begin('Paytm test', function(test) {
casper.start(login_url, function() {
test.assertExists('form', 'form is found');
this.fill('form', {
username: 'username',
password: 'password'
}, true);
});
casper.then(function(){
casper.start(url);
casper.waitForSelector(".border-radius.profile1",
// click login/signup button on home page
function success() {
test.assertExists(".border-radius.profile1");
this.click(".border-radius.profile1");
},
function fail() {
test.assertExists(".border-radius.profile1");
});
casper.waitForSelector(deals,
// click on deals
function success() {
test.assertExists(deals);
this.click(deals);
},
function fail() {
test.assertExists(deals);
});
casper.waitForSelector("selector",
// select an item from coupons page
function success() {
test.assertExists("selector");
this.click("selector");
},
function fail() {
test.assertExists("selector");
});
casper.waitForSelector(".discraption button",
// clicked on buy button
function success() {
test.assertExists(".discraption button");
this.click(".discraption button");
},
function fail() {
test.assertExists(".discraption button");
});
casper.waitForSelector("#mpCart div div.order-summary.fr > button",
// clicked on proceed button from cart
function success() {
test.assertExists("#mpCart div div.order-summary.fr > button");
casper.debugHTML("#mpCart div div.order-summary.fr > button");
console.log('clicked on proceed button');
},
function fail() {
test.assertExists("#mpCart div div.order-summary.fr > button");
});
casper.thenEvaluate(function(){
console.log('in then evaluate');
angular.element(document.querySelectorAll('#mpCart div div.order-summary.fr > button')).triggerHandler('click');
}, 'CasperJS');
});
casper.run(function() {
test.done();
});
});
每个waitforSelector工作正常,但控件不会进入casper.thenEvaluate函数,我想触发一个角点击事件。
我已经测试了
angular.element(document.querySelectorAll('#mpCart div div.order-summary.fr >
button')).triggerHandler('click');
它从firebug控制台运行良好,但不在这里。
任何帮助都会非常感激。
答案 0 :(得分:0)
我调试了最终的url调用,现在我正在做一个this.openUrl('那个特定的url')。 正如这种情况一样,它可行。
感谢所有人的回复。