>>b.frame(:name, 'rightFrame2').select_list(:name,level).set(bu)

1)  You might want to try using .select  instead of .set    You might
also want to first clear any selected items using .clearSelection

2)  The value for the method is invalid, none of the <option value>
tags for that list have '00907' as a label (nor a value to be
returned).  And note that select lists are normally selected by the
visible label that the user would see, not the value that selection
returns on form submission.   So use bu="ABPorts" or something similar
to that.

3) it's not finding the element, and based on your code identifying it
via :name, "level0" ought to work, so that means there's some other
problem, are you sure you have the right frame?  that it's not say
"rightFrame1" perhaps?

4) I notice there's an onchange event bound to that selection list
element, so you might need to fire that event against the selection
list after you've changed which item in the list is selected

b.frame(:name,
'rightFrame1').select_list(:name,level).fire_event('onchange')

5)  From a code readability standpoint, it's a lot more direct to just
use something like

b.frame(:name, 'rightFrame1').select_list(:name,
'level0').select('ABPorts')

rather than using variables which has the effect of forcing someone
trying to read the code to go look and see where the variable was
assigned, or else memorize those assignments.   Otherwise if you want
to use variables like that, assign them at the last possible instant
so it's clearer to someone reading your code what the values are.

On Aug 22, 11:17 pm, sudhir <prem...@gmail.com> wrote:
>  require 'watir'
>  test_site = 'http://newpmr2prod.jpmorgan.com/PM/PMlogin.do'
>  b = Watir::Browser.new
>  username='sudhikumar'
>  pwd='jpm'
> level='level0'
>  bu='00907'
>  b.goto(test_site)
>  b.text_field(:name, 'userID').set(username)
>  b.text_field(:name, 'password').set(pwd)
>  b.form(:action, '/PM/PMlogin.do').submit
>  b.frame(:name, 'menuMiddle').link(:text, 'Performance').click
>  b.frame(:name, 'rightFrame2').select_list(:name,level).set(bu)
> => false
> => "http://newpmr2prod.jpmorgan.com/PM/PMlogin.do";
> => #<Watir::IE:0xc752478 url="about:blank" title="">
> => "sudhikumar"
> => "jpm"
> => "level0"
> => "00907"
> => 6.37
> => ""
> => ""
> => 5.137
> => 1.468
> Watir::Exception::UnknownObjectException: Unable to locate element,
> using :name, "level0"
>         from C:/Ruby/lib/ruby/gems/1.8/gems/watir-1.6.5/lib/watir/element.rb:
> 56:in `assert_exists'
>         from C:/Ruby/lib/ruby/gems/1.8/gems/watir-1.6.5/lib/watir/
> input_elements.rb:62:in `select_item_in_select_list'
>         from C:/Ruby/lib/ruby/gems/1.8/gems/watir-1.6.5/lib/watir/
> input_elements.rb:46:in `set'
>         from (irb):136
>         from :0
>
> <!---->
>
> <html>
>         <head>
>                 <title>JPM PM system</title>
>
> <base href="http://newpmr2prod.jpmorgan.com:80/PM/";>
>
> <script language='javascript'>
>         history.go(1);
> </script>
>
> <script language="javascript" src="./includes/common/TimerDiv.js"></
> script>
> <link rel="stylesheet" href="./stylesheet.css" type="text/css">
>
>                 <script language="javascript" 
> src="./includes/common/lib_func.js"></
> script>
>                 <script language="javascript" 
> src="./includes/common/common.js"></
> script>
>                 <script language="javascript" src="./includes/common/
> lib_submitfrm.js"></script>
>                 <script language="javascript" 
> src="./includes/reporttemplate/perf/
> perftemplateview.js"></script>
>                 <script language="javascript">
>                         var isTemplateAvbl = false;
>                         function submitReportTypes(mode){
>                                 var selectIndex =
> document.forms[0].selectedReportDetailsString.selectedIndex;
> parent.rightFrame2.document.forms[0].reportDetailsString.value=parent.right 
> Frame2.document.forms[0].selectedReportDetailsString.options[selectIndex].v 
> alue;
>
> parent.rightFrame2.document.forms[0].operation.value="ReportTemplate_Report 
> select";
>                                 parent.rightFrame2.document.forms[0].submit();
>                         }
>
>                 function changetext(whichcontent,i){
>                         if (document.all||document.getElementById){
>                                 desc = "descriptions"+i;
>                                 var cross_el=document.getElementById?
> document.getElementById(desc):eval("document.all."+desc);
>                                 cross_el.style.visibility = "visible";
>                         }
>                         else if (document.layers){
>                                 desc1 = "a"+i;
>                                 obj1 = eval("document."+desc1);
>                                 obj1.visibility = "visible";
>                         }
>                 }
>
>                 function hidetext(i){
>                         if (document.all||document.getElementById){
>                                 desc = "descriptions"+i;
>                                 var cross_el=document.getElementById?
> document.getElementById(desc):eval("document.all."+desc);
>                                 cross_el.style.visibility="hidden";
>                         }else{
>                                 desc1 = "a"+i;
>                                 obj1 = eval("document."+desc1);
>                                 obj1.visibility = "hidden";
>                         }
>                 }
>
>                 function MM_reloadPage(init) {  //reloads the window if Nav4 
> resized
>                   if (init==true) with (navigator) {if
> ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
>                         document.MM_pgW=innerWidth;  onresize=MM_reloadPage; 
> }}
>                   else if (innerWidth!=document.MM_pgW ) location.reload();
>                 }
>                 MM_reloadPage(true);
>                 // -->
>
>                 function MM_findObj(n, d) { //v4.0
>                   var p,i,x;  if(!d) d=document;
> if((p=n.indexOf("?"))>0&&parent.frames.length) {
>                         d=parent.frames[n.substring(p+1)].document; 
> n=n.substring(0,p);}
>                   if(!(x=d[n])&&d.all) x=d.all[n]; for 
> (i=0;!x&&i<d.forms.length;i+
> +) x=d.forms[i][n];
>                   for(i=0;!x&&d.layers&&i<d.layers.length;i++)
> x=MM_findObj(n,d.layers[i].document);
>                   if(!x && document.getElementById) 
> x=document.getElementById(n);
> return x;
>                 }
>
>                 function MM_showHideLayers() { //v3.0
>                   var i,p,v,obj,args=MM_showHideLayers.arguments;
>                   for (i=0; i<(args.length-2); i+=3) if 
> ((obj=MM_findObj(args[i]))!
> =null) { v=args[i+2];
>                         if (obj.style) { obj=obj.style; 
> v=(v=='show')?'visible':
> (v='hide')?'hidden':v; }
>                         obj.visibility=v; }
>                 }
>
>         </script>
>         </head>
>
>         <body class="FormBackground" leftmargin="0" topmargin="0"
> marginwidth="0" marginheight="0">
>                 <form name="ReportTemplateListBean" method="POST" action="/PM/
> perfreporttemplate.do">
>                         <input type="hidden" name="selectedLevel" value="0">
>                         <input type="hidden" name="dimensionVOString" 
> value="">
>                         <input type="hidden" name="reportDetailsString" 
> value="">
>                         <input type="hidden" name="reportType" value="">
>                         <input type="hidden" name="currentUser" 
> value="sudhikumar">
>                         <input type="hidden" name="PERF_BY_DIM" 
> value="Performance by
> Dimension">
>                         <input type="hidden" name="buMigStatus" value="">
>                         <input type="hidden" name="reportMode" value="">
>
>                         <input type="hidden" name="roleId" value="PS">
>
>                         <script language="javascript">
>                                 
> parent.rightFrame1.location.href="./perfreporttemplateButton.do";
>                         </script>
>                         <center>
>
>                         </center>
>
>                         <center>
>
>                         </center>
>
>                         <br>
>                         <table class="innertablewidth" border ="0" 
> cellspacing="0"
> cellpadding="0" width="100%">
>
>    <input type="hidden" name="operation" value="">
>
>                         <tr align="left">
>                                         <td class="label" colspan="2">
>                                                 Business Unit<font 
> face="verdana,arial,helvetica" size="1"
> color="#FF0000"></font>
>                                         </td>
>                         </tr>
>
>                                 <tr align="left">
>                                          <td class="label" width="18.5%" >
>                                                  Level One<font 
> face="verdana,arial,helvetica" size="1"
> color="#FF0000">*</font>
>                                          </td>
>
>                                          <td align="left" width="81.5%">
>                                                  <font 
> face="verdana,arial,helvetica" size="2" color="#FF0000">
>                                                          <select 
> name="level0" width="300"
> onchange="javascript:selectcombo_Report('0','ReportTemplate_Buselect',this. 
> form)"
> class="select-menut"><option value="-1" selected="selected">- Select
> One -</option>
> <option value="DEMO-00908">ABC Company</option>
> <option value="DEMO-UK016">ABC-GBP</option>
> <option value="00901">ABPorts</option>
> <option value="ABSCOMBINED">ABS Combined</option>
> <option value="BU5514">ADP DC and DB Plans</option>
> <option value="03354">Advance Publications</option>
> <option value="04252">Alcon Laboratories</option>
> <option value="04253">Alcon-Puerto Rico Active Balanced Fund</option>
> <option value="03031">Allen and Company</option>
>
> I have given the details and still I am unable to select from
> selectlist
>
> Thanks for your help
>
> On Aug 17, 6:43 am, Pallavi Sharma <write2pall...@gmail.com> wrote:
>
>
>
> > Hi Sudhir
>
> > Chuck is right in here stating the same, i am just trying here to identify
> > hat after you login you get frames in your application, just make sure if
> > your select list is in a frame you give the right object identification, and
> > another thing, if the select list is identified as an object than like Chuck
> > stated, there must be an event which has to be fired so that you are able to
> > select the element in the list, if just .select is not working.
>
> > require 'watir'
> > begin
>
> > test_site = 'http://newpmr2prod.jpmorgan.com/PM/PMlogin.do'
> >  b = Watir::Browser.new
> >  b.goto(test_site)
> >  b.text_field(:name, "userID").set("sudhikumar")
> >  b.text_field(:name, "password").set("jpm")
> >  b.form(:action, "/PM/PMlogin.do").submit
> >  b.show_frames
> >  b.frame(:name, "menuMiddle").link(:text, "Performance").click
> >  if b.select_list(:name, 'level0').exists? then
> >   puts "true"
> >    b.select_list(:name, 'level0').select ("00990")
> >  end
> > rescue Exception => ex
> >  puts ex.message
> > end
>
> > Whats your out put in here? Is it possible to give a session like using team
> > viewer or web ex, to see whats happening in there... if not allowed to
> > access the site?
>
> > Regards
> > Pallavi.
>
> > On Tue, Aug 17, 2010 at 4:37 AM, Chuck van der Linden 
> > <sqa...@gmail.com>wrote:
>
> > > It doesn't make any sense that a change later in the script would
> > > cause a problem with logging in, unless perhaps you had not logged out
> > > the prior user, it was the same browser session, and an active session
> > > still existed?, or there were cookies or some other means by which an
> > > active session was persisted?   For tests like this I'd always make
> > > sure the user is logged out, before you try to run the script.
>
> > > The selection list looks pretty much like a normal select list other
> > > than having a javascript onchange event in there.  So I'd try
> > > addressing it like a normal selection list, but I'd also after
> > > using .select  to pick an option by name, I'd add a command to fire
> > > the onchange method on the select_list element, which should give the
> > > javascript a chance to do it's stuff.
>
> > > On Aug 16, 6:04 am, sudhir <prem...@gmail.com> wrote:
> > > > require 'watir'
> > > > begin
> > > >  test_site = 'http://newpmr2prod.jpmorgan.com/PM/PMlogin.do'
> > > >  b = Watir::Browser.new
>
> > > >  b.goto(test_site)
> > > >  b.text_field(:name, "userID").set("sudhikumar")
> > > >  b.text_field(:name, "password").set("jpm")
> > > >  b.form(:action, "/PM/PMlogin.do").submit
> > > >  #b.show_frames()
> > > >  b.frame(:name, "menuMiddle").link(:text, "Performance").click
> > > >  #b.select_list(:name, 'level0').select ("00990")
> > > >  rescue Exception => ex
>
> > > >  end
> > > > => false
> > > > => 2.172
> > > > irb(main):087:0> require 'watir'
> > > > begin
> > > >  test_site = 'http://newpmr2prod.jpmorgan.com/PM/PMlogin.do'
> > > >  b = Watir::Browser.new
>
> > > >  b.goto(test_site)
> > > >  b.text_field(:name, "userID").set("sudhikumar")
> > > >  b.text_field(:name, "password").set("jpm")
> > > >  b.form(:action, "/PM/PMlogin.do").submit
> > > >  #b.show_frames()
> > > >  b.frame(:name, "menuMiddle").link(:text, "Performance").click
> > > >  b.select_list(:name, 'level0').select ("00990")
> > > >  rescue Exception => ex
>
> > > >  end
> > > > => false
> > > > Errno::EBADF: Bad file descriptor
> > > >      
>
> ...
>
> read more »

-- 
Before posting, please read http://watir.com/support. In short: search before 
you ask, be nice.

You received this message because you are subscribed to 
http://groups.google.com/group/watir-general
To post: watir-general@googlegroups.com
To unsubscribe: watir-general+unsubscr...@googlegroups.com

Reply via email to