CasperJS测试没有运行

时间:2014-03-14 15:30:11

标签: casperjs

我在CasperJS中遇到了测试问题。

这是我的代码:

var casper = require('casper').create({
    viewportSize:{
        width:1920,
        height: 1080
    }
});

casper.start('http://myweb.es/', function() {


})

//COMPROBACION DE POPUP LOGIN
casper.then(function(){
    this.click('.btn-attendee');

    this.waitForSelector(
        '#form_signup2',
        function(){
            //El parametro 'INFO' es para que el echo aparezca en color VERDE
            this.echo('Existe el popup SIGNUP', 'INFO');



            this.capture('signup.jpg', undefined, {
                        format: 'jpg',
                        quality: 75,
                    });
            this.echo('pantallazo signup', 'INFO');

            this.wait(4000, function() {
                this.fill('form#form_signup2', {
                    'first_name':    'Perico',
                    'last_name':    'Palotes',
                    'email':    new Date().getTime()+'@testing.es',
                    'password':    '123456'
                    //Ponemos false porque sino nos haria el SUBMIT del formulario y no queremos eso.
                    //En el email la pasamos un numero aleatorio para que no de fallo al ejecutar el script varias veces
                }, true);



                            //PROBLEM HERE! No run this CLICK
                        this.click('.checkbox');    

                                this.capture('form.jpg', undefined, {
                                            format: 'jpg',
                                            quality: 75,
                                        });

                                        this.echo('pantallazo  form', 'INFO');

            });
        },
        function(){
            //El parametro 'ERROR' es para que el echo aparezca en color ROJO
            this.echo('error login', 'ERROR')
        },
        10000
    );
});

casper.run();

我的问题是在评论//PROBLEM this.capture中运行但this.click没有运行,这个类很好,可以在Mozilla的firebug控制台中运行。

this.click不会在此部分代码中运行。

我的问题是什么?

1 个答案:

答案 0 :(得分:1)

你需要了解casperjs如何使用jquery。它必须传递给你的casper函数内的evaluate函数。

如果你不想点击jquery,你可以说casper.click(x(' yourXpath'));

否则,您需要确保您的jQuery尝试单击正在使用正确的上下文。

使用jquery的高级示例...

casper.then(function () {
// this is your casper function 
    this.evaluate(function () {
        // this is the function that can now manipulate the page using jQuery
        $('.yourClass').click();
    });
});