我的测试团队目前使用QTP来测试GUI,但是像任何依赖于界面的自动化测试套件一样,它比自动化直接与代码交互的测试更脆弱。我正在尝试了解有关Siebel和Siebel Tools的更多信息,以便更好地了解我们如何能够在GUI下方进行测试,但是希望听到具有更多专业知识的人员了解是否可行。
答案 0 :(得分:0)
这真的取决于你想要测试的东西,我想。
我正在使用Siebel Java数据Bean(JDB)来访问Siebel。您基本上连接到Siebel服务器并执行与eScript非常相似的代码。这意味着您可以创建记录,调用工作流等等;基本上你可以在eScript中做的一切。这可能会有所帮助。这将应用所有常用验证,运行时事件和事件。
只要BusComps或Business Services或其他地方的某些脚本访问需要UI上下文(例如TheApplication().ActiveBusObject()
或TheApplication().ActiveApplet()
)的数据,这种方法就会失败,因为Siebel Data Bean没有UI上下文。
另一个缺点是您必须连接到Siebel服务器。这意味着您必须将SRF部署到开发服务器,然后才能运行测试。如果JDB可以连接到您的本地实例,肯定会好得多,但据我所知这是不可能的。但是,请查看Bookshelf中的Object Interfaces指南。有多种方法可以连接到Siebel,而不仅仅是Java。
如果您对此有任何疑问,请与我们联系。我可以发布一些如何连接到Siebel服务器等的示例代码。
答案 1 :(得分:0)
由于Siebel版本7.7 QTP使用Siebel Test Automation (STA) 需要与Oracle单独购买,因此快速搜索找到了关于如何set up testing with STA的解释(这是从QTP预期,但对于所有STA使用都是如此)。
如果您真的想避免使用GUI测试,那么您可以搜索API文档并尝试直接使用STA,但我不推荐它,QTP已经为您完成了所有繁重工作,为什么要重现努力(特别是因为贵公司已经拥有QTP许可证)。
答案 2 :(得分:0)
现在QTP是最好的方式 - 它仍然是PITA但是没有其他任何东西可以测试完整的Siebel Web客户端。这是因为Siebel UI是通过Internet Explorer提供的,具有专有的Active X和Java控件,所以你真的需要一个定制的包来测试它。
因为UI是业务对象层(用数据Bean / COM等访问的)的重新解释,而不仅仅是抽象,除了少量的单元外,在该层进行测试是没有用的。测试用例(例如在Siebel中有复杂的脚本时)。
如果您将客户端的URL结尾(当然首先登录到Siebel)更改为“SWEcmd = GotoPageTab& SWEScreen = Accounts + Screen& SWESetMarkup = XML”,那么您将看到许多XML标记 - 然后由专有控件消耗 - 您可能认为这将是构建自动化工具的一种很酷的方式,但它不是(我已经尝试过)。
如果你想真正使用正确的UI测试工具,比如Selenium,你将不得不测试HTML Siebel Web客户端 - 这是一个“瘦”的“标准交互”UI,它不使用Active X或Java ...它有很多不那么酷的UI控件,但它在完整的Siebel Web客户端(又名高交互性Siebel Web客户端,或简称HI)中的工作方式基本相同,并且可以在Firefox中使用!
答案 3 :(得分:0)
你看过Oracle Application testing Suite了吗?它是用于测试Siebel的预构建加速器,这使得测试Siebel变得更加容易。