通過selenium函數讀取XML的web page時,for ex."assertTrue(exceptionCodeManagement.hasText("exceptionCodeList"));", 會提示ERROR: Couldn't access document.body. Is this HTML page fully loaded?
配置完selenium-browserbot.jar後即可以通過selenium讀取和驗證XML網頁了:
//轉載自 http://www.mernin.com/blog/?p=28
If you are one of the chosen few using (or having to use) the Selenium suite of software test tools, then you may have discovered that it does not natively support XML content. Here is a useful way to modify it so that it does:
- Download the latest version in JAR format from your usual Maven repository (e.g. selenium-server-0.9.0.jar)
- Unpack this JAR somewhere on your system
Edit the file /tmp/ss090/core/scripts/selenium-browserbot.js and locate the getBody function (line 1573 approximately) Modify this function as follows:$ cd /tmp
$ mkdir ss090 ; cd ss090
$ jar xf ~/Desktop/selenium-server-0.9.0.jar
Repack the JAR taking care to specify the correct MANIFEST file:PageBot.prototype.bodyText = function() { //PageBot即是browserbot
if (this.getDocument() instanceof XMLDocument) {
return new XMLSerializer().serializeToString(this.getDocument());
} else {
return getText(this.getDocument().body);
}
};
If you want to produce an MD5 signature for this JAR file, you can do so using the md5sum program.$ cd /tmp/ss090
$ jar cfm selenium-server-xml-0.9.0.jar META-INF/MANIFEST.MF *