如何使用Jasmine测试浏览器交互



我的问题是,我有一个键盘应用程序,它有一些JSON数据。一个应用程序是用C#编写的,它向服务器发送关于键盘信息的信息,并返回JSON数据。我为其编写测试的开发人员已经编写了一些javascript代码,将这些JSON数据表示在浏览器屏幕上。我的工作是编写Jasmine单元测试,比如说一个函数,它的工作是在屏幕上加载一个按钮。我可以监视函数的输入和输出,并检查我发送的内容是否就是我得到的内容。然而,使用Stock Jasmine和Javascript不可能模拟按钮点击或类似的事情,或者我不知道怎么做。由于Jasmine加载了它的SpecRunner.html来显示结果,我无法点击按钮并查看测试结果。所以,基本上,这个问题归根结底就是这个。我如何修改Jasmine,以便首先加载应用程序UI,比如单击一个按钮,运行测试,然后检查结果?

如果你想加载整个应用程序屏幕,那么你想要的更多的是一个UI自动化测试,它是使用Selenium等工具完成的。

相反,您可以在jasmine中使用fixtures,它们本质上是小的HTML片段,可以作为测试的一部分内联定义,也可以作为HTML文件加载到spec中。

HTML进入fixture,javascript通过SpecRunner.html加载,您只需要调用适当的方法,将事件绑定到测试中呈现的fixture。

此外,如果要触发用户操作,则可以使用jasmine-jquery来触发javascript处理程序。(还提供夹具功能)

看看这个:jasmine fixture和jasmine jquery

最新更新