2016-07-13 3 views
0

버튼을 클릭하거나 입력 텍스트를 편집하고 싶지만이 방법으로는 할 수 없습니다. 요소를 공용 정적 클래스에 저장하고 다른 공용 정적 클래스에서 요소를 호출합니다. 이 클래스를 사용하지 않으면 예외가 발생하지 않습니다.C#, Selenium의 요소로 작업을 수행 할 때 TypeInitializationException이 발생했습니다.

public static class SiteA 
{ 
    static uidriver = Program.uidriver; 

    public static class Functionality 
    { 
     public static void SomeTest() 
     { 
      //... 
      Inputs.Buttons.Authorize.Click(); //Here I get the exception 
      //Working code: uidriver.FindElement(By.Id("some_element")).Click(); 
      //... 
     } 
    } 

    public static class Inputs 
    { 
     public static class Buttons 
     { 
      public static IWebElement Authorize = uidriver.FindElement(By.Id("some_element")); 
     } 
    } 
} 

class Program 
{ 
    public static IWebDriver uidriver; 
    static void Main(string[] args) 
    { 
     uidriver = new FirefoxDriver(); 

     SiteA.Functionality.SomeTest(); 

    } 
} 

형 'System.TypeInitializationException'처리되지 않은 예외 MyExeName.exe

에 추가 정보를 발생 : 입력 '형식 이니셜 예외가 발생했습니다.

내부 예외는이 메시지를 포함

요소를 찾을 수 없음 : { "방법": "ID", "선택기": "some_element"}

다른 세부 (나는)해야 할 수 있다고 생각 :

유형 이름 : 입력

답변

0

static 매개 변수에 문제가 있습니다.

관련 문제