CasperJS使用多个提交按钮单击无法正常工作

时间:2016-10-12 03:42:28

标签: casperjs

我有一个带有3个保存按钮的表单,其中包含ID' save',' save_new' &安培; ' save_copy&#39 ;.我的服务器代码在保存后执行不同的操作,具体取决于http请求块中是否存在其中一个字段。当我使用浏览器并单击保存时,例如保存参数出现在请求对象中。当我使用CasperJS时,单击请求块中不存在save参数,因此我的代码只执行默认操作,这不是正确的结果。

casper.test.begin('Routine sample test', function suite (test) {
    casper.start();
    casper.setHttpAuth('<login>', '<pw>');
    casper.thenOpen('http://localhost/<sitename>/sample/routine/edit/0', function eval() {
        test.assertSelectorHasText("h1", "Routine Sample" );
        this.fill('form#routine_form', {
            <fill parameters>
        }, false);
        this.click("#save_new");                                 
    });
    casper.then(function() {
        this.echo(this.getCurrentUrl()); 
        test.assertSelectorHasText("h1", "Routine Sample" );
        var sample_id = this.fetchText('[name="sample_id"]');
        test.assertEval( function(sample_id) { return sample_id > 0 }, "Sample created" );
    });
    casper.run(function() {test.done();});
});

最终测试失败,因为服务器没有返回我期望的页面。

0 个答案:

没有答案