문제

응용 프로그램을 자동화하기위한 정보를 찾고 있습니다. 나는 전통적인 매뉴얼을 통해 예측할 수있는 것을 대체하는 것을 구체적으로 언급하고 있다고 언급하고있다.

우리는 자동 테스트를 수행하기 위해 내부적으로 Autoit을 사용하고 응용 프로그램의 무인 처리를 제공하는 것과 동일한 접근 방식을 고려했지만 사용자가 "우연히"응용 프로그램과 상호 작용하는 가능성으로 인해 꺼려합니다. 병행하여 예정된 "자동화"를 실행하고 자동화를 "파괴"합니다.

알려진 이벤트와 미리 정의 된 조치 세트를 제어하기위한 알려진 이벤트와 고정 된 인수가있는 자체 스케줄러에 부끄러워하는 것은 어떤 접근법을 평가/고려해야하고 어떤 도구가 필요한가?

추가 정보 : 일부는이 기능을 응용 프로그램 컨텍스트 내에서 "배치 처리"라고합니다.

도움이 되었습니까?

해결책

일반적으로 UI를 자동화하는 것은 위험한 관행입니다. 단기적인 문제에 대한 유용한 해킹이 될 수 있습니다. 일부 상황에서 Autohotkey를 사용하여 몇 가지 지루한 작업을 실행하지만 작업이 변경 사항을 구현하기 위해 코드를 작성할 가치가없는 경우에만 (즉, 한 번,, 한 번,. 15 분 작업).

그렇지 않으면 일부 화면, 일관되지 않은 UI 등의 지연된 응답으로 인해 일관되지 않은 실행으로 고통받을 수 있습니다. 대부분의 응용 프로그램은 API를 사용할 수 있으며 사용하지 않는 경우 99%에서 획득하고 사용하는 것보다 훨씬 고통 스럽습니다. .

불행히도 UI가없고 스크래핑/조작으로 줄어드는 상황에서 자동 테스트를 수행하는 도구는 아마도 얻을 수있는만큼 좋을 것입니다. 그것은 당신을 허용합니다 확인하다 앱의 상태 (어느 정도) 따라서 일부 안전 네트를 구축 할 수 있습니다. 또한 키보드와 마우스가 호기심 많은 사용자로부터 잠겨있는 상태 에서이 작업에 워크 스테이션을 전념 할 것입니다. (원격 데스크탑 또는 VNC 스타일 연결은 이에 적합합니다. 프로세스를 시작하고 분리하여 변조에 저항 할 수 있습니다.)

그러나 나는 그 접근법을 절망적 인 최후의 수단으로 간주 할 것이다. API를 조작하는 것은 멀리 떨어져 있고, 멀리 떨어져 있습니다 (나는 거기에 충분한 "fars"를 얻었습니까?) 더 지속 가능합니다.

다른 팁

내가 올바르게 이해하면 자동화하고 싶다. 처리 주어진 소프트웨어 시스템에서 사전 정의 된 작업 목록을 실행하는 일부 도구를 사용합니다. 이것은 자동화 된 것과 다릅니다 테스트.

처리를 수행하기 위해 테스트를위한 도구를 사용하지 않아도됩니다. 많은 주요 소프트웨어 시스템에는 직접 사용자 상호 작용없이 작업을 수행하는 데 사용할 수있는 공개 API가 있습니다. 이것은 자동화 된 프로세스를 예약하는 훨씬 더 강력하고 신뢰할 수있는 방법입니다. 작업중인 소프트웨어의 공급 업체에 문의하면 요청시 API를 사용할 수 있습니다.

Godeke와 Dave는 가능한 경우 API가 가장 좋은 경로라는 것을 절대적으로 맞습니다. 그러나 실제로 이것은 때때로 불가능하며 GUI 자동화 경로를 가야합니다. 자동화를 실행하기 위해 이전에 언급 된 전용 워크 스테이션 외에도 일부 감사 트레일에서 코딩하는 것이 좋습니다. 따라서 문제가 발생하면 디버그하거나 역 추적하는 것이 더 쉽습니다. 배치 처리 자동화는 처리 된 레코드, 처리 시점 및 처리 방법에 대한 자세한 로그를 유지해야합니다. 레코드 자체 (기본 응용 프로그램)가 자동화를 통해 업데이트/처리되었음을 반영하도록 설정해야합니다. 예를 들어, 각 레코드에 업데이트 가능한 메모/댓글 필드가있는 경우 자동화는 "Automation 사용자, 2009-02-25 10:05:11 AM에 의해 처리 된"ABC123 '으로 변경되었습니다. DEF456 ' "그런 식으로 자동화 된 모드는 GUI에서 레코드를 수동으로 끌어 올리는 사용자에게 쉽게 알 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top