자동화 된 테스트 라이브러리에서 작업 중이며 SendInput Win32 API을 사용하여 마우스 및 키보드 입력을 시뮬레이트하고 싶습니다. 이 API는 한 번의 호출로 여러 입력 항목을 API로 푸시 할 수있게합니다. SendInput을 사용하는 웹에는 다른 여러 예제와 유사한 라이브러리가 있습니다. 대부분의 API는 API 호출마다 단일 입력 작업을 전달합니다. 입력을 일괄 처리하거나 SendInput에 대한 호출 당 단일 입력을 사용하면 어떤 이점이 있습니까? 설명서가 지침을 제공하지 않는 것 같습니다. 아니면 내가 잘못 읽고 있습니다.SendInput API 사용에 대한 유용한 정보
2
A
답변
0
내가 아는 한 가지 기술과 다른 기술에는 실질적인 이점이 없습니다. 두 경우 모두 SendInput의 일반적인 잠재적 인 문제점은 입력을 보낼 때와 입력이 대상 응용 프로그램에 의해 수신 될 때 입력 포커스가 변경 될 수 있다는 것입니다. 고전적인 예는 비동기 적으로 표시되는 모달 대화 상자로 사용자에게 몇 가지 문제를 경고하고 포커스를 훔치고 다른 곳으로 가야 할 나머지 입력을 흡수합니다. 이 시나리오에서 일련의 SendInputs와 하나의 SendInput을 수행하는 것 사이에는 차이가 없습니다. _ "이러한 이벤트 :
내가 문서에서 읽을 수 있었던 유일한 힌트는이이었다관련 문제
- 1. 내비게이션 서랍 사용에 대한 유용한 정보
- 2. ASP.NET MVC 응용 프로그램에서 Silverlight 사용에 대한 유용한 정보
- 3. 통화 API에 대한 유용한 정보
- 4. 쿠키에 대한 유용한 정보
- 5. ShareKit 사용에 대한 유용한 자습서가 있습니까?
- 6. Lucene.Net 사용에 대한 유용한 자료는 무엇입니까?
- 7. MFSideMenu 사용에 대한 세부 정보
- 8. MySQL 암호화에 대한 유용한 정보
- 9. 기본 컨트롤러에 대한 유용한 정보
- 10. 소프트웨어 구성에 대한 유용한 정보?
- 11. 캐시 구현에 대한 유용한 정보
- 12. DLL 주입에 대한 유용한 정보
- 13. Entity Framework에 대한 유용한 정보
- 14. 개인 repo에 대한 유용한 정보
- 15. Azure 구성에 대한 유용한 정보
- 16. Python 예외에 대한 유용한 정보
- 17. 힘내 로그에 대한 유용한 정보
- 18. init 멤버에 대한 유용한 정보
- 19. 탭 탐색에 대한 유용한 정보
- 20. 인증서 관리에 대한 유용한 정보
- 21. REST 공유 보안 값에 대한 유용한 정보
- 22. RESTful API의 오류에 대한 유용한 정보
- 23. 이벤트 참석자에 대한 유용한 정보 얻기
- 24. Asp.net MVC 리소스 파일에 대한 유용한 정보
- 25. 상태 표시 줄 업데이트에 대한 유용한 정보
- 26. 컨트롤러 및 모델 코딩에 대한 유용한 정보
- 27. 저장 프로 시저 API에 대한 유용한 정보
- 28. 레일 3 : 모델 저장에 대한 유용한 정보
- 29. 효율적인 xpath 선택기에 대한 유용한 정보
- 30. mysql 데이터 버전 시스템에 대한 유용한 정보
(나는 ... 내부, SendInput을 그냥 어쨌든 전달 된 입력에 걸쳐 반복되는 것을 확신) 다른 키보드 또는 마우스 입력 이벤트가 산재되어 있지 않습니다. "_ 키 조합 **을 보내는 경우 다른 입력 이벤트가 키보드 상태를 매치하지 못하도록 일괄 처리로 보내는 것이 가장 좋습니다. – IInspectable
가장 좋은 방법은 SendInput을 사용하지 않는 것입니다 **. UI 자동화에 대한 기존 지원을 사용하십시오. http://msdn.microsoft.com/en-us/library/ee684009%28v=VS.85%29.aspx –
@HansPassant :이 작업은 실제로 수행하려는 작업에 따라 다릅니다. UIA는 UI 조작에 대한 기본적인 지원 만하고 있으며 마우스/키보드를 통해 수행되는 것과 동일한 작업과 일치하지 않는 경우도 있습니다. 테스트 자동화의 일반적인 패턴은 UIA를 사용하여 작업 전후에 예상대로 UI 상태를 읽고 확인하고 대상 UI 요소의 위치를 결정하지만 SendInput을 사용하여 실제 조작을 수행하는 것입니다. 또한 단축키 또는 끌기와 같은 사용자 지정 마우스 이벤트와 같은 일부 유형의 입력 작업은 UIA에서 지원하지 않으므로 SendInput이 필요합니다. – BrendanMcK