Functional Tester에는 사전 정의된 일련의 부속 항목이 있으며 레코딩 시 프록시에서 이를 사용할 수 있습니다. 레코딩 중에 프록시가 한 지점에서 부속 항목을 판별하여 부속 항목 세부사항을 TestObject의 사용자 조치 메소드와 함께 송신합니다. 재생 시 프록시가 다시 부속 항목의 좌표를 판별하며 사용자 조치가 재생됩니다.
listBox.click(atText("Item1"));
이 예제에서 클릭이 해당 이벤트입니다. atText("Item1") 매개변수는 해당 위치에서 프록시가 찾는 부속 항목입니다. .Net의 경우, GetActionArgs() API는 제어의 부속 항목을 하나 이상 리턴합니다. 사용할 부속 항목을 판별하는 일은 제어에 따라 다릅니다.
다음 예제에서는 Java에서 부속 항목을 사용하여 레코딩 메소드를 구현하는 것을 보여줍니다.
{ . . Vector args = new Vector(20); SubItem subItem = null; IMouseEventInfo event0 = action.getEventInfo(0); Point firstPoint = new Point ( event0.getX(), event0.getY() ); Point firstPointToList = new Point ( firstPoint.x, firstPoint.y ); int itemIndex = locationToIndex(firstPointToList); String itemText = ((java.awt.List)theTestObject).getItem(itemIndex); if (itemText!= null && ! itemText.equals("") ) subItem = new Text(item); else subItem = new Index(atIndex); . . args.addElement(subItem); . . }
다음 예제에서는 .Net에서 부속 항목을 사용하여 레코딩 메소드를 구현하는 것을 보여줍니다.
protected override System.Collections.ArrayList GetActionArgs(System.Drawing.Point point) { System.Collections.ArrayList args = new System.Collections.ArrayList() ; Subitem subitem = null ; System.Drawing.Point clientPoint = ((Control)theTestObject).PointToClient(point) ; int itemIndex = ((ListBox)theTestObject).IndexFromPoint(clientPoint) ; string itemText = ((ListBox)theTestObject).GetItemText(item); if (itemText == null || itemText.Length == 0) { // item has no text so generate an index subitem = new Rational.Test.Ft.Script.Index(itemIndex) ; } if ( subitem != null ) { args.Add(subitem) ; } return args ; }
다음 예제에서는 Java에서 부속 항목을 사용하여 재생 메소드를 구현하는 것을 보여줍니다.
public void click(MouseModifiers modifiers, Subitem subitem) { . . Point pt = this.getScreenPoint(subitem); new Screen().click( modifiers, pt); . . } public java.awt.Rectangle getScreenPoint (Subitem subitem) { int index = getItemIndex(subitem); if ( index == -1 ) return null; java.awt.Rectangle rectCell = getCellBounds(index); java.awt.Rectangle rectScreen = this.getScreenRectangle(); return new java.awt.Rectangle ( rectScreen.x + rectCell.x, rectScreen.y + rectCell.y, rectCell.width, rectCell.height ); }
다음 예제에서는 .Net에서 부속 항목을 사용하여 재생 메소드를 구현하는 것을 보여줍니다.
protected override System.Drawing.Rectangle GetSubitemRect(Rational.Test.Ft.Script.Subitem subitem) { int index = GetItemIndex(subitem) ; return ((ListBox)theTestObject).GetItemRectangle(index) ; }