我是Ruby的初学者,我在使用Ruby和Watir自动化测试时遇到了一些问题。我的问题是我无法访问网页中的文本字段 'id = namecolumnbeginswith'和'name = ProjectsList_namecolumnbeginswith_0'
我试过这个:
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来访问文本字段
Ie.div(:class)尝试所有类我总是有这个错误
Watir::Exception::UnknownObjectException: Unable to locate element
总结一下,我需要一些建议来使用Ruby&amp; amp;来访问网页中的文本字段。 Watir自动化Web应用程序测试。
答案 0 :(得分:0)
我们需要更多信息才能告诉您问题的位置(除了键盘后面的松散螺母;-)我自己和其他watir用户会很乐意提供帮助但是没有您回复评论(编辑问题)我们没有足够的工作。
特别是为了告诉你什么可能是错的,我们至少需要两件事之一。
1)网页'源'代码,其中定义了您尝试与之交互的元素。您尝试与之交互的页面元素都不会出现在您包含的一小部分HTML中。甚至你试图使用“嵌套框架”的框架也没有出现在那里,所以不幸的是,在向我们提供帮助你所需的信息时,一点点HTML完全没用。
2)特定错误。 “所有这些命令中没有一个工作”传达零有用信息。如果我们能够看到您尝试过的各种事物所返回的具体错误,那么我们可以更深入地了解一些事情如何以及为什么某些事情无效,并且知道错误的根本原因可能会告诉我们您需要做什么才能使代码正常工作。
最后只是一些建议,您为要尝试解决的其中一个元素提供ID值。如果某个项目具有ID,则由于HTML标准ID在页面中应该是唯一的,因此仅此一项就足以识别该元素。在这一点上添加类,名称或任何其他属性将是多余的。