用CasperJS阻止测试

时间:2014-03-17 10:48:28

标签: casperjs

这是我的代码:

casper.then(function() {
    this.click('.btn-attendee');

    this.waitForSelector(
        '#form_signup2',
        function() {
             this.wait(3000, 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
                }, false);

                this.evaluate(function() {
                    document.getElementById('checkbox1').style.display="block";
                })

                this.click('#checkbox1');
                this.wait(1000, function() { this.click('.final_button'); });

                    this.wait(15000, function() {                     
                         this.capture('signup2.jpg', undefined, {
                            format: 'jpg',
                            quality: 75,
                        });

                        this.echo('pantallazo  signup2', 'INFO');
                        this.wait(1000, function() {
                                    this.echo('Existe el popup del paso2 SIGNUP', 'INFO');
                                    this.wait(2000, function() {
                                            //RELLENAMOS EL FORMULARIO DEL 2º POPUP DE SIGNUP EMAIL
                                            //FORMUARIO FASE 1 
                                            this.fill('form#form_step3', {
                                                'user_alias':    new Date().getTime()+'Perico',
                                                'town':    'Valencia',
                                                'role':    'uno',
                                                'company': 'testing_company'
                                                //Ponemos false porque sino nos haria el SUBMIT del formulario y no queremos eso.
                                            }, false);

                                            this.wait(2000, function() {
                                                this.capture('form2.jpg', undefined, {
                                                    format: 'jpg',
                                                    quality: 75,
                                                });

                                                this.echo('pantallazo  form2', 'INFO');
                                                 //MY PROBLEM
                                                 //Here I try to make a this.wait with a this.echo, but if I do get stuck in the test phase ... this.echo('pantallazo  signup2', 'INFO')
                                            });
                                    });      
                        });                            
                    });
            });             
            });
        },
        function(){
            //El parametro 'ERROR' es para que el echo aparezca en color ROJO
            this.echo('error login', 'ERROR')
        },
        10000
    );
});

在最后一次尝试this.wait我已经使用this.wait等其他this.wait,但是如果我这样做并且我运行脚本我会卡在这里:

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

我可以做的就是让我再次等待我提到的测试没有被阻止?

0 个答案:

没有答案