0
수행 할 메소드를 기다리는 메인 모듈을 만들려고합니다. Watin에 대해 비동기식/대기식 메서드를 만드는 방법은 무엇입니까?
다음과 같은 코드를 살펴 : 이Public static void CheckAvailItem(IE browser)
{
for (int i = 0; i < 6; i++)
{
browser.CheckBox(Find.ById("PickUpItem" + i)).Checked = true;
}
}
방법은 단순히 6 개 체크 박스를 확인합니다. WatIn의 문제는 각 확인란의 "확인"사이에 약 1 초의 지연이 있으며 문제는 주 프로그램이 계속 실행되고 6 개의 상자가 검사 될 때까지 기다리지 않는다는 것입니다.
비동기 프로그래밍을 사용하여이 작업을 수행하려고했지만이를 만드는 데 어려움을 겪고 있습니다.
"비동기"키워드는 "정적"과 "무효"사이에 들어 있지만 "대기"키워드를 넣을 위치는 모르겠다. 나는 그것을 "브라우저"뒤에 두려고했지만 그곳에 있으면 안된다는 것을 알고있다.
모든 의견을 환영합니다.
왜이 특정 메서드를 비동기로 설정 하시겠습니까? 당신은 그것으로 무엇을 얻을 것으로 예상합니까? 'async-await'에 대한 기본 사항을 배우려면 내 [async-await general curation] (http://curah.microsoft.com/45553/asyncawait-general)을보십시오. –
음,이 방법은 완료하는 데 6 초가 걸립니다. 나는 Watnt가 체크 박스를 체크하는데 너무 오래 걸리는 것을 모른다. 그 동안 나머지 코드는 계속 실행되고 Method가 완료 될 때까지 기다리지 않습니다. 나는 Await Task.Delay (6000)와 같은 것을 할 수 있다는 것을 알고 있지만 시간은 다양하다. 나는 이것을 달성하는 더 좋은 방법 인 것처럼 느낀다. – user3397856
'Task.Run'을 사용해 보셨습니까? –