2016-10-25 3 views
1

일부 코드를 Selenium C#에서 작성하고 있는데 문제가 생겼습니다. 테스트 머신에 Selenium을 설치하고 Firefox에서 작동하도록했습니다. 브라우저를 업데이트 할 때 문제가 발생했지만 Selenium 3.0을 설치할 때 문제가 해결되었습니다. 내 파이어 폭스 버전은 49.0.2이며 나에게 다음과 같은 오류 던지고 내 일반 기계에 셀레늄을 설치 :Selenium C# System.ComponentModel.Win32Exception 'System.dll 오류가 발생했습니다.

을 "형 'System.ComponentModel.Win32Exception'의 처리되지 않은 예외가 System.dll을 추가 발생 정보 : 지정된 실행 파일이이 OS 플랫폼에 유효한 응용 프로그램이 아닙니다. "

이전에이 문제가 발생 했습니까? 기계의 운영 체제는 모두 동일합니다. 내가 뭔가 잘못 설치했는지 궁금합니다. 감사.

답변

0

이 내용을 주석에 추가해야합니다. 그러나 거기에 맞지 않을 것이라고 생각하지 않습니다.

기본적으로 win32 예외는 dotnet 기본 예외의 일부가 아닙니다. 그러나 dotnet은 win32Execption을 처리 할 수있는 메커니즘을 제공합니다. N 개의 Win32 예외가 있지만 특정 문제를 알지 못한다면 문제를 해결하는 것이 매우 어렵습니다.

아래와 같이 "try .... catch"문을 C# 코드에 추가하십시오. 그런 다음 메시지를 인쇄하십시오. 그것은 당신이 메시지를 읽을 수 있다면, 당신이 일어나고있는 /없는 것을 알 수 잘못

try { 

//YOUR CODE/BUSINESS 


    } 
    catch(Win32Exception w) 
{ 

      Console.WriteLine(w.Message); 
      Console.WriteLine(w.ErrorCode.ToString()); 
    } 

을 무슨 일이 일어나고 있는지에 대한 자세한 정보를 제공합니다.

내 시스템에 존재하지 않는 일부 실행 파일이나 라이브러리에서 기능에 액세스하려고합니다.

네임 스페이스 추가 : System.ComponentModel.Win32Exception (나는 알고 계실 것입니다).

+0

응답 해 주셔서 감사합니다. Try Catch를 추가했고 "지정된 실행 파일이이 OS 플랫폼에 유효한 응용 프로그램이 아닙니다." 콘솔에. 그것 이외에 그것은 나에게 많이 말하지 않고있다. 그것이 32 대 64 비트 기계와 관련이 있는지 확실하지 않습니다. – AndrewC10

+0

흠 .. 좀 더 시도하고 볼 수 있습니다. catch 블록에이 두 줄을 추가하고 더 많은 도움이되는지 확인하십시오 예외 e = w.GetBaseException(); Console.WriteLine (e.Message); – Naidu