我是RFT和Java编码的新手,我正在尝试使用IBM-RFT工具和Java自动化基于web的应用程序。我必须单击HTML表单元格中的一个链接。在回放时,它能够点击某些单元格的链接,但对于某些单元格,它不能,而是在单元格中的超链接上方或下方单击。它能够识别链接对象,并打印出它的属性,如".text",".href“,但当单击它时,它会单击单元格中的空白区域,而不是单击链接,这种情况只发生在某些单元格上。感谢任何人在这方面的帮助。
TestObject[] tablename = root.find(atDescendant(".class", "Html.TABLE", ".id", table_name), true);
GuiTestObject tablename_obj=(GuiTestObject)tablename[0];
TestObject cellObj = tablename_obj.find(atList(atChild(".class" , "Html.TBODY"),atChild(".class" , "Html.TR",".rowIndex", row),atChild(".class" , "Html.TD",".cellIndex",col)), false)[0];
TestObject cellObjClick = cellObj.find(atDescendant(".class","Html.A"))[0];
((GuiTestObject)cellObjClick).click();请帮帮我!
发布于 2015-01-06 03:54:59
我可以试着给你一些线索。.click()方法计算对象的中心作为单击点。由于您可以获得.href属性并且它是正确的,那么您就知道您拥有了要单击的链接。可能是来自DOM的关于对象范围(用于计算对象内的点的对象周围的矩形)的某些信息不正确。可能的情况是,计算出的点击点实际上并没有点击UI中链接的任何部分。您可以尝试为链接对象使用特定的x,y坐标,而不是.click()。注意坐标是相对于对象的左上角的。因此,您可以尝试.click(atPoint(x,y)),为x,y坐标选择一些值(像素),看看您是否有更好的运气。您还可以尝试获取链接(范围)的矩形以查看是否正确。我有时会使用.click(atPoint(1,1))。我不确定您是否可以使用RFT中的对象资源管理器在对象的属性中看到对象的矩形(您可以尝试这样做)。
发布于 2015-04-18 03:20:12
我更喜欢像下面的例子那样使用SelectGuiSubItem来点击((SelectGuiSubitemTestObject) textObj).select("<>");
尝试一下,而不是点击一下()
https://stackoverflow.com/questions/26550001
复制相似问题