Functional Tester admet certains cas d'imbrication d'objets issus de domaines différents. Cela signifie qu'un objet d'un domaine particulier peut parfois être testé même s'il est imbriqué dans un objet d'un autre domaine. A condition que la combinaison des deux domaines soit reconnue par Functional Tester, celui-ci interprète avec précision les objets et leurs domaines. Si l'imbrication d'un domaine à l'intérieur d'un autre domaine n'est pas reconnue, Functional Tester modélise les objets de manière cohérente, mais il peut être dans l'incapacité de comprendre précisément à quels domaines ils appartiennent. Par exemple, Functional Tester ne reconnaît pas l'imbrication d'un contrôle .Net dans une application Windows. Dans ce cas, le contrôle .Net sera probablement perçu comme s'il s'agissait d'un contrôle Windows (car les contrôles .Net sont souvent implémentés avec les mécanismes sous-jacents des contrôles Windows). Un autre exemple est celui d'une boîte de dialogue Windows qui apparaît par-dessus une application Java. Dans ce cas, le domaine Java ne comprend pas les boîtes de dialogue Windows et n'a même pas connaissance de leur existence. Et comme, par défaut, Functional Tester n'active pas dynamiquement une application Java comme s'il s'agissait d'une application Windows, il n'y a pas de domaine Windows dans ce processus. Dans cette situation particulière, la boîte de dialogue n'est pas un objet testable. Le seul moyen de la tester est de passer par un codage manuel dans le script.
La liste suivante décrit les cas d'imbrications de domaines reconnus par Functional Tester.
HTML - ActiveX comme enfant -- Page HTML contenant des contrôles ActiveX.
HTML - Windows comme dépendant -- Certaines boîtes de dialogue communément affichées par Internet Explorer sont perçues comme des objets du domaine Windows.
.Net - ActiveX comme enfant -- Application .Net Winforms utilisant des contrôles ActiveX existants.
.Net - HTML comme enfant -- Application .Net WinForms qui incorpore un contrôle du navigateur Internet Explorer.
.Net - HTML comme dépendant -- Application .Net WinForms incorporant un contrôle du navigateur Internet Explorer qui, à son tour, affiche une boîte de dialogue composée de code HTML (ouverte par un appel ShowModalDialog en JavaScript™).
.Net - Windows® comme dépendant -- Application .Net WinForms qui affiche une forme de boîte de dialogue non-WinFor. Cette situation se rencontre, par exemple, lorsqu'une application .Net ouvre une boîte de dialogue commune (Ouverture de fichier, Impression, etc.) ou une boîte de message.
Java - HTML comme enfant -- Application Java SWT qui incorpore un contrôle du navigateur Internet Explorer.
Java - HTML comme dépendant -- Application Java SWT incorporant un contrôle du navigateur Internet Explorer qui, à son tour, affiche une boîte de dialogue composée de code HTML (ouverte par un appel à ShowModalDialog en JavaScript).
Windows - HTML comme enfant -- Application Windows générique (éventuellement VB 6.0 ou MFC) qui incorpore un contrôle du navigateur Internet Explorer.
Windows - HTML comme dépendant -- Application Windows générique (éventuellement VB 6.0 ou MFC) incorporant un contrôle du navigateur Internet Explorer qui, à son tour, affiche une boîte de dialogue composée de code HTML (ouverte par un appel à ShowModalDialog en JavaScript).
Windows -.Net comme enfant – Application Windows générique (éventuellement VB 6.0 ou MFC) qui incorpore des contrôles .Net WinForm.
Vous pouvez savoir si des objets appartiennent à des domaines de test différents en examinant la mappe d'objets. Celle-ci indique en effet le type et le domaine de chaque objet. Par exemple :
Java: Button: close-order: javax.swing.JButton
est un bouton Java dont le type d'objet est javax.swing.JButton. Le préfixe Java: révèle que l'objet appartient au domaine de test Java. Comme le montre l'exemple précédent, le domaine de test de chaque objet est toujours cité en premier dans la mappe. Si un objet enfant appartient à un domaine autre que celui de son objet parent, deux préfixes différents figurent dans l'entrée correspondante de la mappe d'objets.