如何讓selenium 支持 XML web page

通過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:

  1. Download the latest version in JAR format from your usual Maven repository (e.g. selenium-server-0.9.0.jar)
  2. Unpack this JAR somewhere on your system

$ cd /tmp
$ mkdir ss090 ; cd ss090
$ jar xf ~/Desktop/selenium-server-0.9.0.jar

Edit the file /tmp/ss090/core/scripts/selenium-browserbot.js and locate the getBody function (line 1573 approximately) Modify this function as follows:

PageBot.prototype.bodyText = function() {                     //PageBot即是browserbot
if (this.getDocument() instanceof XMLDocument) {
return new XMLSerializer().serializeToString(this.getDocument());
} else {
return getText(this.getDocument().body);
}
};

Repack the JAR taking care to specify the correct MANIFEST file:

$ cd /tmp/ss090
$ jar cfm selenium-server-xml-0.9.0.jar META-INF/MANIFEST.MF *

If you want to produce an MD5 signature for this JAR file, you can do so using the md5sum program.
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章