【问题标题】:How do I test browser interaction using Jasmine?如何使用 Jasmine 测试浏览器交互?
【发布时间】:2014-10-25 13:37:37
【问题描述】:

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

【问题讨论】:

  • 关键字是:phantomjs

标签: javascript jasmine


【解决方案1】:

如果您希望加载整个应用程序屏幕,那么您正在寻找更多的是 UI 自动化测试,它使用像 Selenium 这样的工具来完成。

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

HTML 位于fixture 内部,javascript 是通过SpecRunner.html 加载的,您只需调用适当的方法将事件绑定到测试中呈现的夹具。

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

看看这个:jasmine-fixturejasmine-jquery

【讨论】:

    猜你喜欢
    • 2011-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-04
    • 1970-01-01
    • 1970-01-01
    • 2017-06-18
    相关资源
    最近更新 更多