2011-10-06 43 views
-3

我是一个开始与Ruby,我有一些问题使用Ruby和Watir来自动化测试。我的问题是我不能在网页与 'ID = namecolumnbeginswith',并达到文本字段名= ProjectsList_namecolumnbeginswith_0'问题与Ruby自动化问题

我想这:

ie.text_field(:name, "ProjectsList_namecolumnbeginswith_0").set("gapc") 

然后

ie.hidden(:xpath, "//input[ @id='namecolumnbeginswith' @title='Search By Name' @name='ProjectsList_namecolumnbeginswith_0' @iniValue='Starts With' @prompt='Starts With' @value='Starts With']/").set("gapc") 

然后

ie.frame(:name, "FRAME").frame(:name, "nested_frame").text_field(:name, "ProjectsList_namecolumnbeginswith_0").set("gapc") 

然后

ie.link(:href, "/pwcollab/wdk/theme/documentum/css/dragdrop.css").click 

然后

ie.link(:class, "projectsList").click 

然后

ie.frame(:name,"FRAME").frame(:name,"nested_frame").button(:value,"ProjectsList_OK_0").click 

没有这方面的所有命令之一的作品

该网页由引用:

'</script>' 
</head> 
<frameset onload="onLoad()" rows="100%,*" border="0"> 
    <frame title="Frame for system use" src="/pwcollab/wdk/blank.htm" noresize /> 
    <frame title="Frame for system use" src="/pwcollab/wdk/blank.htm" /> 
</frameset> 
</html> 

我用的Watir找到我的框架,并得到这个结果与IRB:

irb(main):048:0> ie.show_frames 

有0帧

=> 0..-1 

然后我试图DOM来访问该文本字段使用

即.div(:class)尝试所有的类我总是有这个错误

Watir::Exception::UnknownObjectException: Unable to locate element 

To s ummarize我需要一些建议来访问网页中的文本字段,使用Ruby & Watir来自动化Web应用程序测试。

+0

几乎不可能在没有看到页面本身或者至少是页面的相关HTML(至少定义了输入字段)的情况下判断出错的地方。 –

+0

另一个有用的事情是获得你所看到的特定于你所尝试的错误信息,因为这通常提供了更多关于问题的线索,而不是所有这些命令中没有一个起作用,这基本上告诉我们没有什么 –

+0

由于缺乏来自用户的回应而陷入低潮。他们在22天前最后一次看到,显然没有兴趣与我们合作解决他们的问题。 –

回答

0

我们需要更多的信息来告诉你问题可能出在哪里(除了键盘背后松动的螺母;-)我和其他watir用户很乐意提供帮助,但是没有你对评论的回应(编辑问题)我们没有足够的工作。

具体来说,为了告诉你什么可能是错误的,我们至少需要两件事中的一件。

1)网页'源代码'代码,你试图与之交互的元素被定义。您正在尝试与之交互的任何页面元素都不在您所包含的一小部分HTML中。即使您尝试使用“嵌套框架”的框架也没有出现,所以不幸的是,当给我们提供我们需要的信息以帮助您时,一点点HTML完全没用。

2)具体错误。 “所有这些命令都不起作用”传达零有用信息。如果我们可以看到从您尝试过的各种事情中返回的特定错误,那么我们可以更深入地了解HOW和WHY有什么不起作用,并且知道错误的根本原因可能会告诉我们你需要做的是让你的代码工作。

最后只提供一点建议,您给出了您尝试解决的其中一个元素的ID值。如果一个项目有一个ID,那么由于HTML标准中的ID在页面中应该是唯一的,所以它本身就足以识别该元素。在这一点上添加类,名称或任何其他属性将是多余的。