SAP系统实现自动化代码常用对象属性(Python)

背景:

通过Scripting track工具虽然可以实现sap系统自动化代码录制前,但是录制的代码无外乎是按键操作和鼠标点击操作。此外我们还需要对标签进行数据的获取,表格行数的读取等操作特殊操作,这是自动化录制的局限性,无法为我们获取文本和逻辑判断,所以我们得自己写点代码,已完成这部分工作。


授之于鱼,不如授之以渔

步骤1、通过Scripting Tracker工具(没使用过这工具可先学习下怎么使用),定位到自己需要操作的对象的Type。如下图,我们案例使用的是SAP系统界面的左下角的那消息框对象,通过工具得知其对象类型为GuiStatusbar。


步骤2、打开SAP系统的GUI脚本使用帮助(开发文档)。


步骤3、直接搜索对象(type)


步骤4、按需获取自己的属性(点进去可以直接看出该属性的说明)


步骤5、通过文档,我们可以直接使用该对象(例子)

# 连接SAP系统
import sys, win32com.client
SapGuiAuto = win32com.client.GetObject("SAPGUI")
application = SapGuiAuto.GetScriptingEngine
connection = application.Children(0)
session = connection.Children(0)

# 获取消息框对象的文本
mesText = session.findById("wnd[0]/sbar").Text
# 获取消息框对象的消息类型
mesType = session.findById("wnd[0]/sbar").MessageType

案例(以下列举一些常用的属性,懒得去查了。。):

1、连接sap系统:

import sys, win32com.client
SapGuiAuto = win32com.client.GetObject("SAPGUI")
application = SapGuiAuto.GetScriptingEngine
connection = application.Children(0)
session = connection.Children(0)

最大化窗口、设置文本、按回车:

session.findById("wnd[0]").maximize()  # 最大化窗口
session.findById("###").text = "RZ11"  # 设置数值
session.findById("###").sendVKey(0)  # 按回车键

复选框打钩:

# 复选框不能用press/select等一些动作,需要用属性去控制,
# 比如复选框的selected 等于-1时表示被选中,selected =0表示没被选中。
session.findById("####").selected = -1

获取表格的行数:

session.findById("####")..RowCount

获取文本:

session.findById("####").Text

表格滚动和选中:

session.findById("###/shellcont/shell").firstVisibleRow = 3 # 驱动纵向滚动条
session.findById("###/shellcont/shell").selectedRows = "14" # 选中第15行

获取左下角消息句柄:

sapMessage = session.findById("wnd[0]/sbar").text

未完,后续继续补充

你可能感兴趣的:(SAP系统实现自动化代码常用对象属性(Python))