问题标签 [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.

0 投票
1 回答
4721 浏览

javascript - 在 Nodejs 而不是浏览器中执行测试时,茉莉花中的 Mock/Spy sessionStorage

我试图在茉莉花中窥探 sessionStorage 对象。我编写了以下代码来实现对真实 sessionStorage 的监视

但是在遇到错误后,sessionStorage is undefined
我突然意识到我是在 NodeJs 环境而不是浏览器上执行 jasmine 测试。
由于 NodeJs 全局上下文测试用例中没有名为 sessionStorage 的东西失败。

我必须在浏览器中单独运行此测试或完全忽略。
有什么方法可以将浏览器的全局window上下文模拟为 NodeJs 的global

我试图将 sessionStorage 添加到globalnodejs 中,但打字稿没有让我....

如何解决这个问题?

0 投票
1 回答
1031 浏览

automation - 窥探蓝棱镜

我正在使用 SAP 模式来监视 SAP GUI 中的元素。

我想单击一个标签,其中标签将作为输入参数。

例如,如果我传递“客户”,则应单击客户标签。

但标签文本字段位于信息说明之下。由应用程序导航器捕获 - 信息说明已禁用

请建议。

0 投票
3 回答
1123 浏览

sharepoint - Blue Prism 中 Sharepoint 的间谍活动非常缓慢

如果记录在列表中记录为 100-200,我有一个共享点,并且间谍活动效果很好。一旦记录增加到超过 500 条,间谍活动就会变得缓慢,并且需要一分钟以上的时间来进行间谍活动。我尝试使用 Path 属性并将 MatchIndex 设置为 1 的间谍活动。到目前为止,我已经尝试过 html 模式,看到这个之后,我对 AA 模式的间谍活动没有信心。有没有人遇到过这样的挑战,加快间谍活动的程序是什么,任何投入都会有所帮助。

0 投票
1 回答
4414 浏览

amazon-ami - 蓝色棱镜 - 过程/对象元素“未连接”中的问题

我有一个使用业务对象的流程。它从流程转到对象页面以启动网站,然后返回流程,然后链接到与先前相同的对象中的另一个页面。当我运行它时,我收到“在‘登录’页面上的 WaitStart 阶段‘Wait11’中发生 AMI 错误 - 未连接”。我有一个等待阶段来检查元素是否存在

似乎当我在对象-进程-对象之间进行更改时,元素被分离是为了避免这种情况。如果我逐步完成该过程,我不会收到此错误。

0 投票
1 回答
2074 浏览

blueprism - Blueprism 在导航阶段附加到窗口,但子索引不起作用

我正在 Blueprism 中的一个小项目上工作,在 mspaint.exe 上绘制一些示意图。由于 BP 允许我们在类似的附加应用程序之间切换,我想从 mspaint 的第一个窗口切换到第二个窗口。但是由于两者都没有以任何文件名保存,因此两者的窗口文本都是“无标题 - 绘画”。

在 Blueprism 中,当为一个 exe 打开多个实例时,它们都具有相同的窗口标题,无法附加到任何打开的实例。

尝试使用完全匹配或通配符匹配以及子索引选择(其中任何一个+导航阶段中的进程名称)进行附加,所有打开的实例都响应为真。我认为,exe(mspaint)没有给OS提供实例编号,以便BP可以识别它。

在导航阶段,给出子索引,给出异常:
“多个应用程序符合条件”。

如果标题相同并且无法获得子索引,那么附加窗口的常用方法是什么?有什么方法可以获得独特的窗口句柄并使用它?

0 投票
2 回答
425 浏览

region - 不同的显示器导致 Blue Prism 区域间谍错误

在这里,我试图展开 DDL 并选择其中一个选项。我在我的显示器上监视并构建了我的 BP 应用程序,在我的笔记本电脑上进行测试时,所有区域都略有偏差。在浏览器模式下监视的所有元素都很好。在区域编辑器中,我尝试将 Location Method 更改为Image并将 Position 更改为Anywhere,这在使用监视器和视图滚动时有效,但不幸的是,这并不能解决我笔记本电脑上的区域问题。我检查了以前的线程,我认为缩放不是问题。

使用我的显示器时突出显示该区域:

在此处输入图像描述

在笔记本电脑上突出显示:

在此处输入图像描述

有没有人有什么建议?

谢谢

0 投票
0 回答
18 浏览

javascript - AngularJS 上的 Jasmine:确保对间谍方法的调用次数

我有一个名为 的服务MessageBarFactory,有一个void 名为 的方法addAlert()。我有一个单元测试,我不希望调用该方法,所以我只是按如下方式监视它:

在我正在测试的代码库分支中,有两次连续调用此方法:

为了确保遵循该分支,我正在测试该方法是否已被“调用”两次:

但是我收到一条消息,其中还涉及我的其他一些间谍在同一服务的其他方法中,例如clearAlertByName

现在,当然,我可以做类似的事情:

但这有点不自然,并且需要您还放入一个假函数,这会增加 spy 的运行时开销(这不是测试上下文中最重要的一点,但仍然如此)。

我想看看我是否在想这个错误:toHaveBeenCalledWithTimes()与 spyed on 方法不兼容?我认为这正是您可能想要监视方法的原因。我在这里想念什么?作为参考,我使用的是 Jasmine 3.1.0,不幸的是,这对于这个项目来说是不可协商的,它有一个很大的向后兼容性重点。