通过以下简单配置:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> <head profile="http://selenium-ide.openqa.org/profiles/test-case"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link rel="selenium.base" href="https://localhost:8080/" /> <title>basic</title> </head> <body> <table cellpadding="1" cellspacing="1" border="1"> <tr> <td>open</td> <td>/upload.html</td> <td></td> </tr> <tr> <td>type</td> <td>foo</td> <td>C:\Temp\harmony\tests\02.basic\config.xml</td> </tr> <tr> <td>clickAndWait</td> <td>//input[@value='Upload']</td> <td></td> </tr> <tr> <td>clickAndWait</td> <td>link=go to home</td> <td></td> </tr> <tr> <td>click</td> <td>link=New order</td> <td></td> </tr> </table> </body> </html>
我收到以下错误:
[error] Unexpected Exception: code -> 1000, INDEX_SIZE_ERR -> 1, DOMSTRING_SIZE_ERR -> 2, HIERARCHY_REQUEST_ERR -> 3, WRONG_DOCUMENT_ERR -> 4, INVALID_CHARACTER_ERR -> 5, NO_DATA_ALLOWED_ERR -> 6, NO_MODIFICATION_ALLOWED_ERR -> 7, NOT_FOUND_ERR -> 8, NOT_SUPPORTED_ERR -> 9, INUSE_ATTRIBUTE_ERR -> 10, INVALID_STATE_ERR -> 11, SYNTAX_ERR -> 12, INVALID_MODIFICATION_ERR -> 13, NAMESPACE_ERR -> 14, INVALID_ACCESS_ERR -> 15, VALIDATION_ERR -> 16, TYPE_MISMATCH_ERR -> 17, DATA_CLONE_ERR -> 25, message -> Security error, result -> 2152924136, name -> NS_ERROR_DOM_SECURITY_ERR, filename -> chrome://selenium-ide/content/selenium-core/scripts/atoms.js, lineNumber -> 8910, columnNumber -> 0, location -> JS frame :: chrome://selenium-ide/content/selenium-core/scripts/atoms.js :: <TOP_LEVEL> :: line 8910, inner -> null, data -> null
在升级到Firefox 8之后,就会发生这种情况。在此之前,该测试工作正常。Selenium IDE版本是1.4.1,这似乎是最后一个版本。
请帮忙。
谢谢。
马丁
编辑: 该行从错误是:a.value = d。这是整个功能:
a.value = d
core.events.replaceText_ = function(a, b) { bot.events.fire(a, "focus", {bubble:!1}); bot.events.fire(a, "select"); var c = bot.dom.getAttribute(a, "maxlength"), d = b; c != null && (c = parseInt(c), b.length > c && (d = b.substr(0, c))); if(bot.dom.isElement(a, goog.dom.TagName.BODY)) { if(a.ownerDocument && a.ownerDocument.designMode && (new String(a.ownerDocument.designMode)).toLowerCase() == "on") { a.innerHTML = d } }else { a.value = d } try { bot.events.fire(a, "change") }catch(e) { } };
这听起来像是Selenium bug#2826。