[APPIUM WINAPP DRIVER [BoDi.ObjectContainerException:不支持具有相同最大参数计数的多个公共构造函数

问题描述

技术堆栈:C#,SpecFlow,WinAppDriver,Nunit [测试运行器]

场景:

这是一个自动化测试项目,我需要在其中集成使用Selenium网格体系结构的并行测试。我已经设置了HUB和NODE,并且当我尝试运行多个测试用例时[说2]我得到以下异常。


BoDi.ObjectContainerException:不支持具有相同最大参数计数的多个公共构造函数

堆栈跟踪:

----> BoDi.ObjectContainerException:不支持多个具有相同最大参数计数的公共构造函数! OpenQA.Selenium.Appium.AppiumDriver`1 [[OpenQA.Selenium.Appium.Windows.WindowsElement,Appium.Net,Version = 4.2.0.0,Culture = neutral,PublicKeyToken = null]] 堆栈跟踪: RuntimeMethodHandle.InvokeMethod(对象目标,对象[]参数,签名sig,布尔值构造函数) RuntimeConstructorInfo.Invoke(BindingFlags invokeAttr,活页夹活页夹,Object []参数,CultureInfo文化) ObjectContainer.CreateObject(类型类型,ResolutionList resolutionPath,RegistrationKey keyToResolve) TypeRegistration.Resolve(ObjectContainer容器,RegistrationKey keyToResolve,ResolutionList resolutionPath) ObjectContainer.ResolveObject(RegistrationKey keyToResolve,ResolutionList resolutionPath) ObjectContainer.Resolve(Type typetoResolve,ResolutionList resolutionPath,字符串名称) ObjectContainer.Resolve(Type typetoResolve,字符串名称) TestObjectResolver.ResolveBindingInstance(Type bindingType,IObjectContainer容器)第11行 lambda_method(Closure,IContextManager,String) BindingInvoker.InvokeBinding(IBinding绑定,IContextManager contextManager,Object []参数,ITestTracer testTracer,TimeSpan&持续时间)第70行 TestExecutionEngine.ExecuteStepMatch(BindingMatch match,Object [] arguments)第20行 TestExecutionEngine.ExecuteStep(IContextManager contextManager,StepInstance stepInstance)第100行 TestExecutionEngine.OnAfterLastStep()第21行 TestRunner.CollectScenarioErrors()第78行

挂钩类文件

public Hooks(ScenarioContext sc){
  this.sc = sc;
  this.objectContainer = sc.ScenarioContainer.ObjectContainer;
}
 
 [BeforeScenario]
 public InitializeWinAppDriver(){
   this.webDriver = new WindowsDriver<WindowsElement>("{uri of Hub}","{appium options}");
   objectContainer.RegisterInstanceAs<WindowsDriver<WindowsElement>>(webDriver);
   }
  

步骤类 私人LoginUi loginUiObj;

public LoginStep(ScenarioContext sc){
 this.WebDriver = sc.ObjectContainer.Resolve<WindowsDriver<WindowsElement>>();
 this.loginUiObj - new LogionUi(WebDriver);
}

UI元素类

  private WindowsDriver<WindowsElement> winAppDriver   
   public LoginUi(WindowsDriver<WindowsElement> driver) =>  winAppDriver = driver;

在运行测试用例时,我具有功能文件。得到上述异常。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...