问题标签 [spying]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 在 Nodejs 而不是浏览器中执行测试时,茉莉花中的 Mock/Spy sessionStorage
我试图在茉莉花中窥探 sessionStorage 对象。我编写了以下代码来实现对真实 sessionStorage 的监视
但是在遇到错误后,sessionStorage is undefined
我突然意识到我是在 NodeJs 环境而不是浏览器上执行 jasmine 测试。
由于 NodeJs 全局上下文测试用例中没有名为 sessionStorage 的东西失败。
我必须在浏览器中单独运行此测试或完全忽略。
有什么方法可以将浏览器的全局window
上下文模拟为 NodeJs 的global
我试图将 sessionStorage 添加到global
nodejs 中,但打字稿没有让我....
如何解决这个问题?
automation - 窥探蓝棱镜
我正在使用 SAP 模式来监视 SAP GUI 中的元素。
我想单击一个标签,其中标签将作为输入参数。
例如,如果我传递“客户”,则应单击客户标签。
但标签文本字段位于信息说明之下。由应用程序导航器捕获 - 信息说明已禁用
请建议。
sharepoint - Blue Prism 中 Sharepoint 的间谍活动非常缓慢
如果记录在列表中记录为 100-200,我有一个共享点,并且间谍活动效果很好。一旦记录增加到超过 500 条,间谍活动就会变得缓慢,并且需要一分钟以上的时间来进行间谍活动。我尝试使用 Path 属性并将 MatchIndex 设置为 1 的间谍活动。到目前为止,我已经尝试过 html 模式,看到这个之后,我对 AA 模式的间谍活动没有信心。有没有人遇到过这样的挑战,加快间谍活动的程序是什么,任何投入都会有所帮助。
amazon-ami - 蓝色棱镜 - 过程/对象元素“未连接”中的问题
我有一个使用业务对象的流程。它从流程转到对象页面以启动网站,然后返回流程,然后链接到与先前相同的对象中的另一个页面。当我运行它时,我收到“在‘登录’页面上的 WaitStart 阶段‘Wait11’中发生 AMI 错误 - 未连接”。我有一个等待阶段来检查元素是否存在
似乎当我在对象-进程-对象之间进行更改时,元素被分离是为了避免这种情况。如果我逐步完成该过程,我不会收到此错误。
blueprism - Blueprism 在导航阶段附加到窗口,但子索引不起作用
我正在 Blueprism 中的一个小项目上工作,在 mspaint.exe 上绘制一些示意图。由于 BP 允许我们在类似的附加应用程序之间切换,我想从 mspaint 的第一个窗口切换到第二个窗口。但是由于两者都没有以任何文件名保存,因此两者的窗口文本都是“无标题 - 绘画”。
在 Blueprism 中,当为一个 exe 打开多个实例时,它们都具有相同的窗口标题,无法附加到任何打开的实例。
尝试使用完全匹配或通配符匹配以及子索引选择(其中任何一个+导航阶段中的进程名称)进行附加,所有打开的实例都响应为真。我认为,exe(mspaint)没有给OS提供实例编号,以便BP可以识别它。
在导航阶段,给出子索引,给出异常:
“多个应用程序符合条件”。
如果标题相同并且无法获得子索引,那么附加窗口的常用方法是什么?有什么方法可以获得独特的窗口句柄并使用它?
javascript - AngularJS 上的 Jasmine:确保对间谍方法的调用次数
我有一个名为 的服务MessageBarFactory
,有一个void
名为 的方法addAlert()
。我有一个单元测试,我不希望调用该方法,所以我只是按如下方式监视它:
在我正在测试的代码库分支中,有两次连续调用此方法:
为了确保遵循该分支,我正在测试该方法是否已被“调用”两次:
但是我收到一条消息,其中还涉及我的其他一些间谍在同一服务的其他方法中,例如clearAlertByName
:
现在,当然,我可以做类似的事情:
但这有点不自然,并且需要您还放入一个假函数,这会增加 spy 的运行时开销(这不是测试上下文中最重要的一点,但仍然如此)。
我想看看我是否在想这个错误:toHaveBeenCalledWithTimes()
与 spyed on 方法不兼容?我认为这正是您可能想要监视方法的原因。我在这里想念什么?作为参考,我使用的是 Jasmine 3.1.0,不幸的是,这对于这个项目来说是不可协商的,它有一个很大的向后兼容性重点。