这是我第一次尝试使用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.")]')
});
测试似乎达到第一次点击(),然后它应该等待应用程序请求新页面,最终显示“创建帐户”按钮。但是,出于某种原因,应用程序本身似乎阻止了这一点。我知道点击正在发生。当我手动尝试时,应用程序表现正常。
标记
答案 0 :(得分:0)
我认为您需要等到下一页加载
还链
.pause(3*1000)
点击按钮
(或)
.waitUntilWindowLoaded(3*1000)