是否可以在 GUI 后面自动化 Siebel 测试?

发布于 2024-08-16 00:50:21 字数 164 浏览 3 评论 0原文

我的测试团队目前使用 QTP 通过 GUI 进行测试,但与任何依赖于界面的自动化测试套件一样,它比直接与代码交互的自动化测试更加脆弱。我正在尝试了解有关 Siebel 和 Siebel Tools 的更多信息,以更好地了解我们如何能够在 GUI 下进行测试,但希望听取具有更多专业知识的人的意见,以确定这是否可行。

My test team currently uses QTP to test through the GUI, but like any automated test suite that relies on the interface, it is more fragile than automating tests that directly interact with the code. I am attempting to learn more about Siebel and Siebel Tools to better understand how we might be able to test below the GUI, but would like to hear from someone with more expertise to find out if this is feasible.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

何时共饮酒 2024-08-23 00:50:21

我想这实际上取决于你想测试什么。

我经常使用 Siebel Java Data Bean (JDB) 来访问 Siebel。您基本上连接到 Siebel 服务器并执行与 eScript 非常相似的代码。这意味着您可以创建记录、调用工作流程等;基本上您可以在 eScript 中执行的所有操作。这可能会有帮助。这将应用所有常见的验证、运行时事件和事件。

一旦 BusComps 或 Business Services 或其他地方的某些脚本访问需要 UI 上下文的数据(TheApplication().ActiveBusObject()TheApplication().ActiveApplet()但是,此方法将会失败,因为 Siebel 数据 Bean 没有 UI 上下文。

另一个缺点是您必须连接到 Siebel 服务器。这意味着您必须将 SRF 部署到开发服务器,然后才能运行测试。如果 JDB 可以连接到您的本地实例,那肯定会更好,但据我所知这是不可能的。不过,请查看书架中的对象接口指南。连接到 Siebel 的方法有多种,而不仅仅是 Java。

如果您对此有任何疑问,请告诉我。我也许可以发布一些如何连接到 Siebel 服务器等的示例代码。

it really depends on what you want to test, I guess.

I'm using the Siebel Java Data Bean (JDB) a lot to access Siebel. You basically connect to the Siebel Server and execute code very similar to eScript. That means you could create records, invoke workflows and so on; basically everything you could do in eScript. That might be helpful. This will apply all the usual validations, runtime events and events.

As soon as some of your scripts in BusComps or in Business Services or elsewhere access data that needs a UI context (TheApplication().ActiveBusObject() or TheApplication().ActiveApplet() for instance) this approach will fail, though, because the Siebel Data Bean doesn't have a UI context.

Another drawback is that you have to connect to a Siebel Server. That means you have to deploy your SRF to the development server and only then you can run your tests. It sure would be much better if the JDB could connect to your local instance, but as far as I know this is not possible. Have a look at the Object Interfaces guide in the Bookshelf, though. There are different ways to connect to Siebel, not just Java.

Let me know if you have any questions about this. I could maybe post some sample code of how to connect to the Siebel Server etc.

贪了杯 2024-08-23 00:50:21

目前,QTP 是最好的方法 - 它仍然是 PITA,但确实没有其他方法可以测试完整的 Siebel Web 客户端。这是因为 Siebel UI 是通过带有专有 Active X 和 Java 控件的 Internet Explorer 提供的,因此您确实需要一个定制包来测试它。

因为 UI 是业务对象层(使用 Data Beans/COM 等访问的)的重新解释,而不仅仅是抽象,因此除了少数单元测试用例之外,在该层进行测试没有什么用处(例如当您在 Siebel 中编写复杂的脚本时)。

如果您将客户端 URL 的末尾(当然首先登录到 Siebel)更改为“SWEcmd=GotoPageTab&SWEScreen=Accounts+Screen&SWESetMarkup=XML”之类的内容,那么您将看到大量 XML 标记,即然后被专有控件消耗 - 您可能认为这将是构建自动化工具的一种很酷的方式,但事实并非如此(我已经尝试过)。

如果您想真正使用合适的 UI 测试工具(例如 Selenium),则必须测试 HTML Siebel Web 客户端 - 这是一个不使用 Active X 或 Java 的“瘦”“标准交互”UI ...它有很多不太酷的 UI 控件,但它在完整的 Siebel Web 客户端(又名高交互性 Siebel Web 客户端,简称 HI)上的工作原理基本相同,并且它可以在 Firefox 中工作!

Right now QTP is the best way to go - it's still a PITA but there really is nothing else out there to test the full Siebel Web Client. This is because the Siebel UI is delivered through Internet Explorer with proprietary Active X and Java controls and so you really need a bespoke pack to test it.

Because the UI is a re-interpretation, not just an abstraction, of the Business Object layer (that one accesses with Data Beans / COM etc.) it is not useful to test at that layer except in a small number of unit test cases (such as when you have complex scripting in Siebel).

If you change the end of the URL for the client (login to Siebel first of course) to something like "SWEcmd=GotoPageTab&SWEScreen=Accounts+Screen&SWESetMarkup=XML" then you'll see lots of XML mark-up which is then consumed by the proprietary controls - you might think this would be a cool way to build an automation tool, but it is not (I've tried).

If you want to really use a proper UI testing tool, like Selenium, you'll have to test the HTML Siebel Web Client - this is a 'skinny' 'Standard Interactivity' UI that doesn't use Active X or Java ... it has a lot less cool UI controls but it works essentially the same at the full Siebel Web Client (aka High Interactivity Siebel Web Client, or HI for short), and it works in Firefox!

一袭水袖舞倾城 2024-08-23 00:50:21

您是否查看过 Oracle 应用程序测试套房。它配备了用于测试 Siebel 的预构建加速器,这使得测试 Siebel 变得更加容易。

Have you looked at Oracle Application testing Suite. It comes pre-built accelerators for testing Siebel which makes it all the more easier to test Siebel.

⒈起吃苦の倖褔 2024-08-23 00:50:21

由于 Siebel 版本 7.7 QTP 使用 Siebel Test Automation (STA) 需要从 Oracle 单独购买,快速搜索发现了关于如何使用 STA 设置测试(这是从 QTP 角度编写的,但适用于所有 STA 使用)。

如果你真的想避免使用 GUI 测试,那么你可以查找 API 文档并尝试直接使用 STA,但我不推荐它,QTP 已经为你完成了所有繁重的工作,为什么你要重现这个工作(特别是因为您的公司已经拥有 QTP 许可证)。

Since Siebel version 7.7 QTP uses Siebel Test Automation (STA) which needs to be purchased separately from Oracle, a quick search found this explanation on how to set up testing with STA (this is written from a QTP prespective but is true for all STA usage).

If you really want to avoid using GUI testing then you can hunt down the API documentation and try to use STA directly but I would not recommend it, QTP has already done all the heavy lifting for you, why would you want to reproduce the effort (especially since your company already owns QTP licenses).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文