Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Coffeescript 使用zombie.js测试模态对话框_Coffeescript_Pug_Zombie.js - Fatal编程技术网

Coffeescript 使用zombie.js测试模态对话框

Coffeescript 使用zombie.js测试模态对话框,coffeescript,pug,zombie.js,Coffeescript,Pug,Zombie.js,我在模式对话框中有一些输入字段,如下所示(这是jade): 我希望能够在测试中填写这些表格。我尝试按下打开模式的链接,并使用zombie.js浏览器对象填充字段,咖啡中的代码如下: browser.clickLink 'a#open-planner', () -> browser .fill('event-planner-email', someEmail)

我在模式对话框中有一些输入字段,如下所示(这是jade):

我希望能够在测试中填写这些表格。我尝试按下打开模式的链接,并使用zombie.js浏览器对象填充字段,咖啡中的代码如下:

          browser.clickLink 'a#open-planner', () ->
                browser
                    .fill('event-planner-email', someEmail)
                    .fill('event-planner-name', someName)
                    .pressButton 'Create', () ->
                         do done

但我得到一个错误,说:“没有与‘活动策划人电子邮件’匹配的输入”。如果有人知道如何做到这一点,我们将不胜感激。谢谢

当您的回拨启动时,可能还没有看到模式。如果出现显示模态的转换,则必须等待该转换完成

也许可以尝试在您的
点击链接的回拨中添加
设置超时

browser.clickLink 'a#open-planner', ->
    fillForm = ->
        browser
            .fill('event-planner-email', someEmail)
            .fill('event-planner-name', someName)
            .pressButton 'Create', ->
                 do done

    setTimeout fillForm, 1000

你需要在模式加载后运行你的僵尸代码,所以你应该使用“显示”事件


我不知道如何在咖啡中表达这一点

谢谢大家,我只是没有为输入元素使用正确的css选择器,所以

                .fill('event-planner-email', someEmail)
应该是

                .fill('input#event-planner-email', someEmail)
因为在上面的jade代码片段中,“event planner email”是输入元素的id。我想删除我的问题,这样我就不会再暴露我的愚蠢了,但显然为时已晚

                .fill('event-planner-email', someEmail)
                .fill('input#event-planner-email', someEmail)