часть свойств и методов селена IWebElement не работает с geckodriver - PullRequest
0 голосов
/ 30 ноября 2018

Мой предыдущий вопрос, похоже, прошел, поэтому я хотел бы опубликовать новый вопрос и удалить мой старый вопрос.Я пишу тест для веб-сайта на c #, код работает отлично при использовании драйвера chrome, однако, когда я пытаюсь запустить тот же код с помощью geckodriver, все начинает работать неправильно.

Вот информация журнала

Error Message: Exception has been thrown by the target of an invocation.
Stacktrace:       
       at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
       at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
       at SeleniumExtras.PageObjects.WebElementProxy.Invoke(MethodInfo targetMethod, Object[] args)
    --- End of stack trace from previous location where exception was thrown ---
       at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
       at System.Reflection.DispatchProxyGenerator.Invoke(Object[] args)
       at generatedProxy_1.get_Displayed()
       at testAuto.Framework.Pages.Dashboard.DashboardPage.Logged_in() in "Path to code file":line 350

«Путь к файлу кода» - это путь к файлу, в котором находится код.

Вот код, в котором указана ошибка

public void Logged_in()
{           
    Assert.True(LogOut.Displayed);
}

Код для поиска кнопки выхода из системы

[FindsBy(How = How.CssSelector, Using = "a[href *= '/Private/Logout']")]
private IWebElement LogOut;

Соответствующая HTML-часть кнопки выхода из системы

<ul>
  <li>
    <a href="/Private/Logout.aspx" target="_self">
      Log out
    </a>
  </li>
<ul>

Я не контролирую html-часть, поэтому предложение о методе будет приветствоваться,Кроме того, у меня есть код, который ожидает полной загрузки страницы, прежде чем я выполню это утверждение.Версия geckodriver - 0.23.0Больше информации:Я пытался проанализировать значение стиля, но GetAttribute () тоже попадает в похожее исключение.Вот файл журнала

Error Message: Exception has been thrown by the target of an invocation.
Stacktrace:
   at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
   at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
   at SeleniumExtras.PageObjects.WebElementProxy.Invoke(MethodInfo targetMethod, Object[] args)
   --- End of stack trace from previous location where exception was thrown ---
   at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
   at System.Reflection.DispatchProxyGenerator.Invoke(Object[] args)
   at generatedProxy_1.GetAttribute(String )
   at testAuto.Framework.Helper.IsElemVisible(IWebElement element) in "Path to code file":line 107
   at testAuto.Implementation.dashboardSpec.Verify_log_in() in "Path to code file":line 120
...