1

Windows Forms로 구성된 Windows 응용 프로그램을 테스트하고 싶습니다. 라이브러리 자동화 요소로 작업하기로 결정했습니다.automationelement 작업

문제는 내가 그것을 사용하는 법을 모르는 것입니다. 예를 들면 : automationelement로 처리중인 텍스트 상자에 어떻게 쓸 수 있습니까?

코드는 같은 수 있습니다 :

 var processStartInfo = new ProcessStartInfo(SATELITE_PATH); 
     var pSatelite = Process.Start(processStartInfo); 
     pSatelite.WaitForInputIdle(); 
     Delay(2); 
     satelite = AutomationElement.RootElement.FindChildByProcessId(pSatelite.Id); 
     AutomationElement loginUser = satelite.FindDescendentByIdPath(new[] {"frmLogin", "txtUserName"}); 

내가 loginUser의 사용자를 작성합니다. 내가 어떻게 해?

정말 고마워요!

답변

3

사용 ValuePattern :

var processStartInfo = new ProcessStartInfo(SATELITE_PATH); 
var pSatelite = Process.Start(processStartInfo); 
pSatelite.WaitForInputIdle(); 
Delay(2); 
satelite = AutomationElement.RootElement.FindChildByProcessId(pSatelite.Id); 
AutomationElement loginUser = satelite.FindDescendentByIdPath(new[] {"frmLogin", "txtUserName"}); 

if (loginUser != null) 
{ 
    ValuePattern valPattern = loginUser.GetCurrentPattern(ValuePattern.Pattern) as ValuePattern; 
    valPattern.SetValue(username); 
} 
관련 문제