The JavaScript call:
document.getElementById("myTable").rows[0].cells.length returns 0 when TH is
used as the initial element instead of TD. This doesn't appear to conform with
the w3c standard, but I've been wrong before.
(http://www.w3.org/TR/1999/REC-html401-19991224/struct/tables.html#edef-TD)
Also, document.getElementById("myTable").rows[1].cells.length returns 1 for my
example below, as does the JS above for all of the other browsers I've tested
this example with.
Here is the error:
BUILD FAILED
C:\Documents and
Settings\ccopeland\Desktop\canoo-webtest\tests\test-innerHTML.x
ml:10: Canoo Webtest: R_1345.
Test failed.
Test step verifyElementText (C:\Documents and
Settings\ccopeland\Desktop\canoo-w
ebtest\tests\test-innerHTML.xml:23: ) named "verify the Text" failed with
messa
ge "Wrong contents found in HTML element (type="null", name="null",
htmlId="tmp"
)! Expected "NumCols = 1" but got "numCols = 0""
Here's the test case:
------ WebTest TestCase -------
<?xml version="1.0"?>
<!DOCTYPE project SYSTEM "WebTest.dtd"[
<!ENTITY config SYSTEM "configForInnerHTML.xml">
]>
<project name="Testing 1.2.3" basedir="." default="main">
<property name="webtest.home" location="C:\Documents and
Settings\ccopeland\Desktop\canoo-webtest" />
<import file="${webtest.home}/lib/taskdef.xml"/>
<target name="main">
<webtest name="myTest">
&config;
<steps>
<enableJavaScript enable="true"/>
<invoke
description="get Test Page"
url="test.htm" />
<verifyTitle
description="verify the Title"
text="Test" />
<verifyElementText
description="verify the number of columns found by the JS call"
htmlId="tmp"
text="NumCols = 1" />
</steps>
</webtest>
</target>
</project>
-------------------------------
-------- test.htm File --------
<HTML>
<HEAD>
<TITLE>Test</TITLE>
<script language="javascript" src="test.js" type="text/javascript">
</script>
</HEAD>
<BODY>
<P id="tmp">tmp</P>
<TABLE id="myTable">
<TR><TH>Some Heading</TH></TR>
<TR><TD>some desc</TD></TR>
</TABLE>
<script type="text/javascript">
testIt();
</script>
</BODY>
</HTML>
-------------------------------
-------- test.js File ---------
function testIt() {
var numCols = document.getElementById("myTable").rows[0].cells.length;
document.getElementById("tmp").innerHTML = "numCols = " + numCols;
}
-------------------------------
__________________________________________________
Do You Yahoo!?
Tired of spam? Yahoo! Mail has the best spam protection around
http://mail.yahoo.com
_______________________________________________
WebTest mailing list
[email protected]
http://lists.canoo.com/mailman/listinfo/webtest