使用Python向Siebel提交数据

时间:2018-02-09 22:44:43

标签: python automation autohotkey browser-automation siebel

我正在寻找有关如何使用Python在工作中直接向Siebel应用程序提交数据的建议。目前我将数据输入到Autohotkey GUI中,当选择一个按钮时,它会使用鼠标移动和鼠标单击为我输入数据到Siebel,为每个数据选择正确的条目。显然这容易出错,如果可能的话我想让应用程序更好。使用面向对象的编程语言可以大大改善这一点。只是为了澄清,这不适用于自动化测试。我提交的数据和帐户/页面也经常发生变化。因此,就我所知,像Selenium,Mechanize和BeautifulSoup这样的模块并没有为此工作。因为并非所有内容都有表格或友好标签,我可以提交数据。如果有人有Siebel的经验,并且知道从中复制数据并将数据直接提交给不同的条目的方法。

现在我最好的选择是使用像Pyautogui和Pywinauto这样的模块来执行鼠标移动和点击来复制我的Autohotkey脚本所做的事情。但这似乎效率低下且可能容易出错。必须有一种更好的方法来使用Python完成同样的事情。我不确定如何,我会感谢你们可能有的任何建议。即使那是"也没有其他方式"它会帮助我弄清楚下一步该做什么。提前谢谢!

1 个答案:

答案 0 :(得分:1)

与Siebel CRM应用程序交互可以通过多种方式完成(SOAP,REST,COM,Java,UI,仅举几例supported),用例和环境通常定义首选做法。一位体面的Siebel开发人员/顾问将能够帮助您做出正确的选择。

自动化UI的简易性和可用工具在很大程度上取决于您运行的Siebel版本。在OpenUI之前,这主要是大型测试自动化供应商(HP,Mercury,Oracle)的领域,并且需要购买单独的许可模块。

发布Open UI后,Web UI本身就变成了一个DOM对象,更适合使用像Selenium这样的开源测试工具进行自动化。通过激活Test Automation许可模块,它还将引入additional HTML attributes,以帮助创建稳定的定位器。

如果与UI交互只是改变数据的一种方法,那么我建议采用另一种方法:直接与业务层交互。另外一个优点是数据对象中的信息比单个UI屏幕中通常可用的信息要多得多,而且结构更多。

最简单的方法可能是使用Web服务。旧版本主要支持SOAP,但最新版本也支持REST。大多数编程语言都支持这些方法,并允许您导入其WSDL文件。请记住,当他们向UI添加字段时,您依赖于DEV团队来扩展这些接口。

另一种提供最大灵活性的方法是使用Java(Bean)或COM直接与业务层交互。 java方法只需要两个JAR文件,Google有足够的示例来解释如何使用它。当Python是您的首选方法时,COM接口是一种有趣的方法。这个GitHub project有一些很好的例子可以让你顺利上路。