작업을 중지하고 내 코드는코딩 된 UI 테스트 Mouse.StartDragging은 ... 한 번 작동하고 나는 (내가 코드를 편집 할 수 있도록) 내가 UIMap.cs로 이동하도록 코딩 된 UI 테스트를
public void Drag_Item(Point from, Point to)
{
#region Variable Declarations
WpfPane uIItemPane = this.UIOMyWindow.UIDesignSurfaceCustom.UIItemTabList.UIControlTabPage.UIControlText.UIItemPane;
#endregion
Mouse.StartDragging(uIItemPane, from);
Mouse.StopDragging(uIItemPane, to);
}
내 시험에서이 메소드를 호출
...
[TestMethod()]
public void Drag_3_Items()
{
Positions positions = new Positions();
Point start = positions.adaptorsAlert;
this.UIMap.Drag_Item(start, positions.pos1);
this.UIMap.Drag_Item(start, positions.pos2);
this.UIMap.Drag_Item(start, positions.pos3);
this.UIMap.Close_AdaptorsWindowOnDesignGrid();
}
내 문제는 첫 번째 호출이 작품을 Drag_Item 할 수 있지만, 두 번째 통화와 세 번째 호출이 없다는 것입니다. 첫 번째 드래그가 작동 한 후 커서는 올바른 내 창 아이콘으로 돌아가고 무한정 기다립니다. 마우스를 흔들면 갑자기 작동합니다. 내 테스트가 스스로 실행될 때 나는 분명히 마우스를 움직일 수 없을 것입니다. 어떻게 해결할 수 있습니까? 나는 다양한 Thread.Sleep 라인 인 Mouse.Hover와 Mouse.Move를 추가하는 것을 포함하여 많은 것을 시도했다. 내 손으로 물리적으로 움직이는 마우스를 제외하고는 아무 것도 작동하지 않습니다. 다른 사람들은 좋은 질문없이 여러 포럼에 동일한 질문을 게시했습니다. 내가 생각할 수있는
내 포지션 클래스는 정보에 대한...
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MyCodedUITesting
{
//[Serializable]
public class Positions
{
public Point pos1 = new Point(40, -500);
public Point Pos1
{
get { return pos1 ; }
set { this.pos1 = value; }
}
public Point pos2 = new Point(440, -500);
public Point Pos2
{
get { return pos2 ; }
set { this.pos2 = value; }
}
public Point pos3 = new Point(840, -500);
public Point Pos3
{
get { return pos3 ; }
set { this.pos3 = value; }
}
}
}
죄송합니다. Ryanman, 별다른 차이는 없습니다. 첫 번째 시도에서는 여전히 작동하지만 이후 드래그 앤 드롭 시도에서는 실패합니다. – Ewan
두 가지 제안 - Mouse.Move (uIItemPane, from)를 호출 해보십시오. 드래그 시작하기 전에. 두 번째 제안은 의존하고있는 항목 창이 잘못되었을 수 있다는 것입니다. 컨트롤 계층 구조를 살펴보면 텍스트 상자 안에있는 창 내부를 보는 것처럼 보입니다. 나는 물론 당신의 시나리오를 모르지만 내 직감은 부모의 통제가 다른 무엇인가라고 말합니다. – Ryanman
감사합니다. Ryanman, Mouse.Move를 시도했지만 두렵습니다. 나는 Mouse.Hover도 시도했다. 두 번째 제안에, 그렇습니다 그것은 텍스트 상자 안의 창이지만 dev 팀이 만들었 기 때문에 변경할 수는 없습니다. 그것은 처음부터 작동하기 때문에 어느 시점에서 정확해야합니다. 흥미롭게도 처음에는 작동을 멈추고 나중에 다시 시도하기 시작했습니다. 그것은 마치 마우스 상태에 생기는 물고기 같은 것입니다. – Ewan