Java RFT中的数据驱动列表框-填写列表框(如果存在)
我对Java编程比较陌生,目前正在使用IBM的RationalFunctionalTester工具版本8.5。在我开始之前,我的编程术语不是最好的,所以如果我在不同的地方使用了错误的术语,我深表歉意。我还查看了IBM网站、本网站和其他各种网站,但没有找到解决此问题的方法: 我目前正试图为一个web应用程序创建一个自动测试流,但我在一个特定的部分中遇到了困难 场景如下:在第1页,我有一组简单的是/否单选按钮。在第2页,我有一组列表框,一列中有一组列表框,另一列中有另一组列表框,这两组列表框包含不同的信息。第2页的列表框数量取决于第1页给出的是/否答案数量。如果用户对每个问题都说是,那么将有大量的列表框用于数据驱动,接近100个 目前,我正在使用此代码填充这些列表框:Java RFT中的数据驱动列表框-填写列表框(如果存在),java,javascript,listbox,rft,Java,Javascript,Listbox,Rft,我对Java编程比较陌生,目前正在使用IBM的RationalFunctionalTester工具版本8.5。在我开始之前,我的编程术语不是最好的,所以如果我在不同的地方使用了错误的术语,我深表歉意。我还查看了IBM网站、本网站和其他各种网站,但没有找到解决此问题的方法: 我目前正试图为一个web应用程序创建一个自动测试流,但我在一个特定的部分中遇到了困难 场景如下:在第1页,我有一组简单的是/否单选按钮。在第2页,我有一组列表框,一列中有一组列表框,另一列中有另一组列表框,这两组列表框包含不同
TestObject[] listboxes
listboxes = html_application().find(atDescendant(".class", "Html.SELECT"), false);
for(int i = 0 < i < listboxes.length; i++)
{
GuiTestObject button = (GuiTestObject)listboxes[i];
RootTestObject boxes = getRootTestObject();
TestObject[] list = boxes.find(atDescendant(".class", "Html.SELECT"));
SelectItemGuiTestObject gto = (SelectGuiSubItemTestObject) list_viewFormList2View();
gto.select(dpString("Identity_Type"));
RootTestObject boxes2 = getRootTestObject();
TestObject[] list2 = boxes2.find(atDescendant(".class", "Html.SELECT"));
SelectItemGuiTestObject gto2 = (SelectGuiSubItemTestObject) list_viewFormList2View2();
gto2.select(dpString("Identity_Proven"));
}
代码以类似的方式继续运行,但我无法让它在所有可能的情况下都工作,原因有两个:
直到运行时才知道对象位置。
B第1页上提供的信息决定了用户将在第2页上看到什么
有没有更好的方法来做到这一点,然后添加几个重复的代码段,如上图所示?因为数据驱动器可能有很多很多列表框
我已经在很多地方寻找了解决方案,但我真的很难让这个特定的逻辑工作
非常感谢您给予的任何帮助 我真的不明白你的代码应该做什么。在我看来,box和boxes2是相同的对象,所以list和list2也应该是eqal。然后从Helper类中获得两个相等的对象gto和gto2,它们与之前搜索的对象无关 关于A和B:因为在testcase中应该知道,第1页提供了哪些信息,所以还应该给出第2页显示的列表框。还是我错过了什么 如果要防止代码重复,需要在列表框和数据池之间建立某种链接,例如:
for (int i = 0; i < listboxes.length; i++) {
SelectGuiSubitemTestObject listbox = (SelectGuiSubitemTestObject)listboxes[i];
String listboxID = listbox.getProperty(".id").toString();
listbox.select(dpString(listboxID));
}
这将获取列表框的ID,并从使用此ID存储的数据池中选择值。但我不确定这是否是您所需要的–遗憾的是,我的声誉太低,无法为您的问题添加注释。为了为您的问题提供更好的解决方案框架,我需要您根据以下问题回答问题在以下情况下: 考虑用户选择2个单选按钮为true /是的情况,这将导致第二页中的5个列表框/组合框。 你们知道下一页有多少个列表框吗?在这种情况下,5 您知道每个列表框中要选择的项目吗?此数据选择是来自数据池还是excel工作表? 如果您不知道第1点的答案,您打算如何选择列表框中的项目。我想问的是,您如何知道需要从数据池为这个页面提供多少数据?
根据您的回答,我可以推荐一个框架或代码snnipet。对不起,我可能还不够清楚。第1页询问用户他们的地址、其他详细信息等。第2页是运行前唯一不知道对象的页面,因为第1页上给出的信息决定了他们在第2页上会看到多少列表框。关于“Box”对象:我不确定“GuitesObject”在本例中是否可以反映屏幕对象的多个实例ListBox。Java是我的第一种编程语言,对它几乎一无所知。