This is a migrated thread and some comments may be shown as answers.

NullReferenceException with frames in IE9

1 Answer 48 Views
General Discussions
This is a migrated thread and some comments may be shown as answers.
Anton
Top achievements
Rank 1
Anton asked on 04 Oct 2012, 01:51 PM

Hello.

I have a problem with frames.

My code:

var frame1 = ActiveBrowser.Frames["leftFrame"];
frame1.Find.ByXPath<HtmlSpan>("/html/body/form/span[2]/div/div/div/span").Click();
and Html:

<frameset cols="*,70%">
<frame scrolling="auto" src="/webstudio-test/faces/pages/modules/trace/tree.xhtml?first=true&uri=file%3A%2FC%3A%2Fopenl-tests%2Fuser-workspace%2Fa1%2FLLZIHOD%2Frules.xls%3Fsheet%3DRules%26range%3DB3%253AE13" name="leftFrame">
<html>
<head>
<body>
<form id="j_idt5" enctype="application/x-www-form-urlencoded" action="/webstudio-test/faces/pages/modules/trace/tree.xhtml" method="post" name="j_idt5">
<input type="hidden" value="j_idt5" name="j_idt5">
<span class="traceTreeParams">
<span id="j_idt5:traceTree">
<div id="j_idt5:j_idt8" class="rf-tr tree">
<div id="j_idt5:j_idt8:1:j_idt9" class="rf-tr-nd rf-tr-nd-colps rf-tr-nd-last">
<div id="j_idt9" class="rf-trn">
<span class="rf-trn-hnd-colps rf-trn-hnd"></span>
<span class="rf-trn-cnt">
</div>
<div id="j_idt5:j_idt8:1.1:j_idt12" class="rf-tr-nd rf-tr-nd-colps rf-tr-nd-last">
</div>
<input id="j_idt5:j_idt8__SELECTION_STATE" class="rf-tr-sel-inp" type="hidden" value="" name="j_idt5:j_idt8__SELECTION_STATE">
<script type="text/javascript">
</div>
</span>
<input id="javax.faces.ViewState" type="hidden" autocomplete="off" value="3034330929021769213:-4432157085689481536" name="javax.faces.ViewState">
</form>
</body>
</html>
</frame>
<frame scrolling="auto" src="/webstudio-test/faces/pages/modules/trace/showTraceTable.xhtml?first=true&uri=file%3A%2FC%3A%2Fopenl-tests%2Fuser-workspace%2Fa1%2FLLZIHOD%2Frules.xls%3Fsheet%3DRules%26range%3DB3%253AE13" name="mainFrame">
<noframes> <body> <p>To view content you need frames capable browser</p> </body> </noframes>
</frameset>

In FF works fine but in IE9 throw exception: 

          • System.NullReferenceException: Object reference not set to an instance of an object at click method.
          • Env: Win7 x64, IE9 x32. WebAii 2012.2 920.

1 Answer, 1 is accepted

Sort by
0
Stoich
Telerik team
answered on 09 Oct 2012, 04:26 PM
Hello Anton,

the error message System.NullReferenceException: Object reference not set to an instance of tells us that you're trying to access an object that is simply not there.

The error was thrown on the following line:

frame1.Find.ByXPath<HtmlSpan>("/html/body/form/span[2]/div/div/div/span").Click();

This line of code can be broken down into two separate lines:

HtmlSpan a = frame1.Find.ByXpath<HtmlSpan>("/html/body/form/span[2]/div/div/div/span");

a.Click();

Now we have two options. Either frame1 is actually null (which means the previous line of code fail to find the frame). Or the variable "a" is null which means the Find statement invoked on the frame did not return any elements. 

The way you're locating the frame and I know it works fine on our end for both IE and FF. So it's unlikely to be that.

The xPath is not the most reliable way to locate elements. So that's probably the problem. Unfortunately I cannot offer any suggestion for an alternative because I don't actually have access to the content of the frame. You might be wondering why it works in IE and FF but browser differences are a known occurrence:
http://www.telerik.com/automated-testing-tools/support/documentation/user-guide/troubleshooting_guide/browser-inconsistencies.aspx

Regards,
Stoich
the Telerik team
Quickly become an expert in Test Studio, check out our new training sessions!
Test Studio Trainings
Tags
General Discussions
Asked by
Anton
Top achievements
Rank 1
Answers by
Stoich
Telerik team
Share this question
or