If in your test you need to check whether an XML document stores appropriate data, but you cannot use XML checkpoints for some reason, you can take one of the following alternative approaches:
Create a Custom Verification Procedure
In your tests you can load XML files and work with them via Microsoft XML DOM objects. You create these objects via COM and then use them to get access to elements and attributes of the desired XML document. To perform verification actions over an XML document, follow the steps below:
IXMLDOMDocumentobject that corresponds to the desired XML document (
IXMLDOMDocumentis an object of the Microsoft XML DOM library. It is used to work with XML documents. For more information on it, see the XML Core Services and Document Object Model article in the MSDN Library.
Write script code that will walk down the document node's and perform the desired verification operations.
Note: To compare XML node values with expected values, you can use the
if … then … elsestatement and various comparison operations like =, < or gt;.
Report the results.
For more information on using XML DOM objects and for sample code, see Working With XML Files From Scripts.
Writing custom verification code yourself lets you create more flexible procedures. However, this approach requires knowledge of XML.
Use XML.XMLElementName.Compare Scripting Method
In scripts, to verify the XML document contents, you can use the
XML.XMLCheckpointElement.Compare method. The method compares the contents of the specified XML document with baseline data stored in the corresponding XMLCheckpoint element. To call the method in keyword tests, you can use the Call Object Method, Run Code Snippet or Run Script Routine operation.
XML.XMLCheckpointName.Compare method is similar to the XML checkpoint, but it has additional MessageType and ReportDifference parameters. The ReportDifference parameter specifies whether the method should log notifications about differences found between compared XML documents. The MessageType parameter specifies what kind of message (an error, warning, informative message or no message at all) will be posted to the test log if the actual and the baseline XML documents are not equal.
The following example demonstrates using the method:
var xmlPath = "C:\\Work\\Data.xml";
if (! XML.XmlCheckpoint1.Compare(xmlPath, true, lmNone))
Log.Warning(xmlPath + " differs from the stored XML document.");
def Test(): xmlPath = "C:\\Work\\Data.xml" if not XML.XmlCheckpoint1.Compare(xmlPath, True, lmNone): Log.Warning(xmlPath + " differs from the stored XML document.")
xmlPath = "C:\Work\Data.xml"
If Not XML.XmlCheckpoint1.Compare(xmlPath, true, lmNone) Then
Log.Warning(xmlPath & " differs from the stored XML document.")
xmlPath := 'C:\Work\Data.xml';
if not XML.XmlCheckpoint1.Compare(xmlPath, true, lmNone) then
Log.Warning(xmlPath + ' differs from the stored XML document.');
var xmlPath = "C:\\Work\\Data.xml";
if (! XML["XmlCheckpoint1"]["Compare"](xmlPath, true, lmNone))
Log["Warning"](xmlPath + " differs from the stored XML document.");
Similar to the XML checkpoint, the method supports the XMLCheckpoint element data update. If the Update XML data option is enabled, the method updates the baseline data stored in the corresponding XMLCheckpoint element replacing it with the actual data retrieved from the specified XML document.
Use File Checkpoints
To verify the contents of an XML file by comparing it byte-to-byte with the baseline XML file, use a file checkpoint. In keyword tests, use the File Checkpoint operation to verify file contents. In scripts, use the
Files.FileCheckpointName.Check method. For more information, see About File Checkpoints.