为什么这个Spectron代码会在第一次点击后阻止我的Electron应用?

时间:2017-06-25 21:46:14

标签: electron spectron

这是我第一次尝试使用Spectron为Electron应用程序创建自动化测试。这可能是我对异步编程的生锈知识,但我不知道为什么下面的代码行为不端:

it ('should allow me to create an account', function() {
    return app.client
            .waitUntilWindowLoaded()
            .waitForExist('//a[text()="Create Free Account"]')
            .click('//a[text()="Create Free Account"]')
            .waitForExist('//button[text()="Create Account"]')
            .setValue('#Email', "test@test.com")
            .setValue('#Password', "Password1!")
            .click('//button[text()="Create Account"]')
            .waitForExist('//p[contains(text(),"Almost done.")]')
  });

测试似乎达到第一次点击(),然后它应该等待应用程序请求新页面,最终显示“创建帐户”按钮。但是,出于某种原因,应用程序本身似乎阻止了这一点。我知道点击正在发生。当我手动尝试时,应用程序表现正常。

标记

1 个答案:

答案 0 :(得分:0)

我认为您需要等到下一页加载

还链

.pause(3*1000) 

点击按钮

(或)

.waitUntilWindowLoaded(3*1000)