在Blue Prism Application Modeller中使用正则表达式

时间:2018-10-13 11:59:05

标签: regex sap blueprism rpa

我正在使用Blue Prism 5在SAP中自动执行任务。我发现屏幕上的其中一个间谍在视觉上具有相同的控件,但具有不同的ID。查看这些ID,使我怀疑SAP客户端当时实际上显示了不同的字段,但是我的任务在逻辑上是等效的。

这三个ID就是一个例子,它们都是在显示城市名称的对话框中从同一位置监视的,但用于不同的人的地址:

/app/con[0]/ses[0]/wnd[0]/usr/subSCREEN_3000_RESIZING_AREA:SAPLBUS_LOCATOR:2036/subSCREEN_1010_RIGHT_AREA:SAPLBUPA_DIALOG_JOEL:1000/ssubSCREEN_1000_WORKAREA_AREA:SAPLBUPA_DIALOG_JOEL:1100/ssubSCREEN_1100_MAIN_AREA:SAPLBUPA_DIALOG_JOEL:1101/tabsGS_SCREEN_1100_TABSTRIP/tabpSCREEN_1100_TAB_01/ssubSCREEN_1100_TABSTRIP_AREA:SAPLBUSS:0028/ssubGENSUB:SAPLBUSS:7016/subA05P01:SAPLBUA0:0400/subADDRESS:SAPLSZA7:0600/subCOUNTRY_SCREEN:SAPLSZA7:0601/ctxtADDR2_DATA-CITY1
/app/con[0]/ses[0]/wnd[0]/usr/subSCREEN_3000_RESIZING_AREA:SAPLBUS_LOCATOR:2036/subSCREEN_1010_RIGHT_AREA:SAPLBUPA_DIALOG_JOEL:1000/ssubSCREEN_1000_WORKAREA_AREA:SAPLBUPA_DIALOG_JOEL:1100/ssubSCREEN_1100_MAIN_AREA:SAPLBUPA_DIALOG_JOEL:1101/tabsGS_SCREEN_1100_TABSTRIP/tabpSCREEN_1100_TAB_01/ssubSCREEN_1100_TABSTRIP_AREA:SAPLBUSS:0028/ssubGENSUB:SAPLBUSS:7016/subA05P01:SAPLBUA0:0400/subADDRESS:SAPLSZA7:0600/subCOUNTRY_SCREEN:SAPLSZA7:0601/txtADDR2_DATA-CITY1
/app/con[0]/ses[0]/wnd[0]/usr/subSCREEN_3000_RESIZING_AREA:SAPLBUS_LOCATOR:2036/subSCREEN_1010_RIGHT_AREA:SAPLBUPA_DIALOG_JOEL:1000/ssubSCREEN_1000_WORKAREA_AREA:SAPLBUPA_DIALOG_JOEL:1100/ssubSCREEN_1100_MAIN_AREA:SAPLBUPA_DIALOG_JOEL:1101/tabsGS_SCREEN_1100_TABSTRIP/tabpSCREEN_1100_TAB_01/ssubSCREEN_1100_TABSTRIP_AREA:SAPLBUSS:0028/ssubGENSUB:SAPLBUSS:7016/subA05P01:SAPLBUA0:0400/subADDRESS:SAPLSZA1:0300/subCOUNTRY_SCREEN:SAPLSZA1:0301/ctxtADDR1_DATA-CITY1

如您所见,它们几乎是相同的,只是在末尾有所不同。

我认为这是在Blue Prism Application Modeller中使用正则表达式的机会。因此,我尝试将其配置为此类。结果在以下屏幕截图中:

Screenshot from Blue Prism Object Studio

我显然尝试了几种RegExpr和表达式的变体,但是找不到它来找到该控件。

有人可以告诉我我在做什么错吗?是表达式语法还是我完全误解了RegExpr功能?

我的解决方法是分别监视每个变体,并等待一个查找所有变体的阶段。

感谢您的阅读,对于此方面的任何建议,我将不胜感激。

1 个答案:

答案 0 :(得分:0)

据我所知,正则表达式模式在SAP中不起作用。

我认为您的解决方法是正确的,在这种情况下,我会建议这样做。

替代方法是使用编码阶段连接到SAP API,但这很复杂。