Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/google-cloud-platform/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java RFT中的数据驱动列表框-填写列表框(如果存在)_Java_Javascript_Listbox_Rft - Fatal编程技术网

Java RFT中的数据驱动列表框-填写列表框(如果存在)

Java RFT中的数据驱动列表框-填写列表框(如果存在),java,javascript,listbox,rft,Java,Javascript,Listbox,Rft,我对Java编程比较陌生,目前正在使用IBM的RationalFunctionalTester工具版本8.5。在我开始之前,我的编程术语不是最好的,所以如果我在不同的地方使用了错误的术语,我深表歉意。我还查看了IBM网站、本网站和其他各种网站,但没有找到解决此问题的方法: 我目前正试图为一个web应用程序创建一个自动测试流,但我在一个特定的部分中遇到了困难 场景如下:在第1页,我有一组简单的是/否单选按钮。在第2页,我有一组列表框,一列中有一组列表框,另一列中有另一组列表框,这两组列表框包含不同

我对Java编程比较陌生,目前正在使用IBM的RationalFunctionalTester工具版本8.5。在我开始之前,我的编程术语不是最好的,所以如果我在不同的地方使用了错误的术语,我深表歉意。我还查看了IBM网站、本网站和其他各种网站,但没有找到解决此问题的方法:

我目前正试图为一个web应用程序创建一个自动测试流,但我在一个特定的部分中遇到了困难

场景如下:在第1页,我有一组简单的是/否单选按钮。在第2页,我有一组列表框,一列中有一组列表框,另一列中有另一组列表框,这两组列表框包含不同的信息。第2页的列表框数量取决于第1页给出的是/否答案数量。如果用户对每个问题都说是,那么将有大量的列表框用于数据驱动,接近100个

目前,我正在使用此代码填充这些列表框:

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是我的第一种编程语言,对它几乎一无所知。