Useful Information About DOM

This functionality is supported only if you are using the Classic Agent.

Internet Explorer

  • When you use the DOM extension with Internet Explorer, in order to interact with a browser dialog box, the dialog box must be the active (foreground) window. If another application is active, then Silk Test Classic is not able to interact with the browser dialog box, and the test case times out with an Application not ready exception.
  • You may receive a Window not found error when you are running scripts using the DOM extension. This error occurs when the test case calls Exists() on the browser page before it is finished loading. This problem is due to the fact that the DOM extension does not check for DOM Ready in the Exists() method. The workaround is to call Browser.WaitForReady() in your script, prior to the Exists() method.
  • If you are using the Classic Agent, see the GetProperty method and GetTextProp method for information about how Silk Test Classic recognizes tags.
  • If you are using the Classic Agent, you may see differences in image tags based on the same URL if you used two different URLs to get there. For example, Silk Test Classic cannot differentiate between two images if Internet Explorer displays two different URLs that both point to the same image.
  • The DOM extension does not record inside a secure frame. This means that if an Html page contains frames with security, for example on a banking page, the DOM extension on Internet Explorer will not be able to record the window declaration for the page because the secure site prevents DOM from getting any information.

Mozilla Firefox

There are several things to remember when you work with Mozilla Firefox and XML User-interface Language (XUL). XUL is a cross-platform language for describing user interfaces of applications. The support of XUL elements in Silk Test Classic is limited. All menu, toolbar, scrollbar, status bar and most dialog boxes are XUL elements. Almost all elements in the browser are XUL elements except the area that actually renders HTML pages.

  • If you are using the Classic Agent, you can record window declarations on the menu and toolbar by pointing the cursor to the caption of the browser.
  • You can record actions and test cases against the menu and toolbar through mouse actions.
  • If you are using the Classic Agent, you can record window declarations on a single frame XUL dialog box, such as the authentication dialog box. However, you cannot record window declarations on a multi-framed XUL dialog box, for example, the preference dialog box.
  • Silk Test Classic does not support:
    • Keyboard recording on the menu and toolbar. There is no keyboard recording on the URL.
    • Record actions and record test case on XUL dialog boxes.
    • Record identifier and location on XUL elements.

For information about new features, supported platforms, and tested versions, refer to the Release Notes.

Recording and playback

  • When you record using the Internet Explorer DOM extension, a rectangle will flash to indicate the current target object of the recorder.
  • Silk Test Classic can recognize XML Node objects in your Web page if your Web page contains XML content.
  • The DOM extension supports HTML Components (HTCs), including those implemented using the viewLink property.
  • It is a limitation of DOM that it cannot see the location of any text that is a direct descendant of the <body> tag. GetRect() does not work for body text. For example, when you record window declarations with the Classic Agent over body text, you do not get any objects. This was implemented for HTML pages where no <p> tags or other text formatting tags preface the displayed text.
  • DOM cannot find an insertion on a multi-line text field.
  • If you are using the Classic Agent, images created with the <input type="image"> tag are seen as HtmlPushButtons.
  • If you are using the Classic Agent and you open a font statement on a Web page with several HtmlText fields and HtmlCheckbox controls, but do not close it off, the DOM extension will not recognize anything beyond the first object. Closing off the font statement with a </font> tag enables Silk Test Classic to work correctly.
  • The DOM extension is not designed to handle multiple links with the same file name. If you do have multiple links, be sure to use the full URL to identify links.
  • If you are using the Classic Agent to test Html pages that do not have explicit titles and which load ActiveX applications, you may have to modify test frames that you have previously recorded using the VO Extension before you can use them with the DOM extension. This is because the DOM extension tags the BrowserChild slightly differently. Alternatively you could record new declarations for the page.
  • If you are using the Classic Agent, the GetPosition() function of the TextField class always returns the last position when called on an HtmlTextField. There is no method in the DOM which allows Silk Test Classic to get the cursor position in an HtmlTextField.
  • If you are using the Classic Agent to record a window declaration over a table that has indented links, the indentation is recorded as an additional HtmlText object.
  • If you are using the Classic Agent and you are recording with the DOM extension, TypeKeys ("<Tab>") are not captured. Since the script refers to the object to type in directly, it is not necessary to record this manual Tab. You can manually enter a TypeKeys ("<Tab>") into your script if you want to; it just is not recorded.
  • For additional information about Silk Test Classic's rules for object recognition, refer to Object Recognition with the Classic Agent. To open the document, click (in Microsoft Windows 7) Start > Programs > Silk > Silk Test > Documentation > Silk Test Classic > Tutorials or (in Microsoft Windows 10) Start > Silk.

The 4Test language and the DOM extension

  • If you are using the Classic Agent, use the ForceReady method when Silk Test Classic never receives a Document complete message from the browser. Unless Silk Test Classic receives the Document complete message, Silk Test Classic acts as if the browser is not ready and will raise an Application not ready error.
  • For a list of the supported classes for the DOM extension on each agent, see Differences in the Classes Supported by the Open Agent and the Classic Agent.
  • If you are using the Classic Agent, use the FlushCache method of the BrowserChild class to re-examine the currently loaded page and to get any new items as they are generated. This method is very useful when you are recording dynamic objects that may not initially display.