2014-11-26 3 views
0

셀렌 드라이버를 사용하여 웹 시스템에 파일을 업로드하는 데 문제가 있습니다. 그래서 내 페이지에는 파일 경로를 설정하는 입력이 없으며 네트워크에서 설립 한 대부분의 솔루션이 저에게 맞지 않습니다. 나는 파일 업로드 버튼을 클릭하고 창 대화 상자에서 파일의 경로를 설정해야합니다. (- 경로가없는 대화에 어딘가에 전송되지 않았을 경우)셀레늄 WebDriver 업로드 파일 C#

SendKeys.SendWait(filePath); 
SendKeys.SendWait(@"{Enter}"); 

가 작동하지만 테스트는 컴퓨터의 모든 권한이있는 경우에만 : 나는 윈폼에서 SendKeys 클래스에서 사용하는 방법을 발견했다. 테스트가 실행중인 컴퓨터를 완전히 제어 할 수 없기 때문에 이것이 문제입니다. SendKeys를 사용하지 않고 파일을 업로드하는 방법을 알고 있습니까?

+0

대신 공유 드라이브를 사용하십시오. 이것은 파일 업로드를 처리하는 가장 쉬운 방법입니다. 그리고, 파일을 업로드하는 방법에 상관없이 filepath를 입력해야합니다. 그렇지? – Saifur

+0

어떻게 공유 드라이브를 사용 하시겠습니까? hdd에서 파일을 사용해야합니다. – Piotr

+0

[This] (http://www.dummies.com/how-to/content/network-administration-granting-share-permissions.html)에서 방법을 보여 주어야합니다. 권한을 올바르게 구성해도 문제가되지 않습니다. – Saifur

답변

0

아마 내가이 문제를 해결했습니다. 아래는 자바의 예제입니다.하지만이 솔루션의 핵심은 AutoIt 스크립트를 만든 다음 C# 코드에서 exe 파일을 실행하는 것입니다.

WinWaitActive("Choose file") 

그 라인이 다른 브라우저를 제외 : 그것은 IE에서만 작동하기 때문에

Solution

샘플 스크립트를 변경해야합니다. Chrome에서는 예를 들어 '열기'라는 창이 열립니다. 스크립트를 작성하고 컴파일 한 후 다음을 호출하십시오.

Process.Start(filePath);