2016-07-13 43 views
0

我只想单击按钮或编辑输入的文本,但我无法使用此方法执行此操作。我将这些元素存储在公共静态类中,然后从另一个公共静态类中调用它们。如果我不使用这个类,我不会例外。TypeInitializationException在使用c#中的元素执行操作时,Selenium

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参数。

相关问题