Пытаюсь автоматизировать сайт на ангуляре.
Использую (Protractor 0.10.2 + C# + FireFox 54 + selenium 3.4)
На странице логина все прекрасно работает, пока я не перехожу на страницу регистрации.
На этой странице элемент ngWebDriver (ngWebDriver = new NgWebDriver(webDriver); ) падает с TimeOut.
Если отключить ignoreSynchronization=true, то на странице регистрации ngWebDriver не падет. Selenium так же работает на странице регистрации.
OpenQA.Selenium.WebDriverTimeoutException: Timed out
at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
at OpenQA.Selenium.Remote.RemoteWebDriver.ExecuteScriptCommand(String script, String commandName, Object[] args)
at Protractor.NgWebDriver.WaitForAngular() in c:\Users\Bruno\Projets\GitHub\bbaia\protractor-net\src\Protractor\NgWebDriver.cs:line 356
at UITestDirest2.UITestDirest2.Test() in C:\Users\e.eeee\Visual Studio 2017\Projects\UITestDirest2\UITestDirest2\Test.cs:line 75
Возможно мне нужно использовать другие версии браузера, #selenium и #protractor ?
Попробовал понизить браузер до версии ff 53. Теперь новая ошибка при старте.
System.InvalidOperationException : Error: Permission denied to access property "invoke"
at OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
at OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
at OpenQA.Selenium.Remote.RemoteWebDriver.ExecuteScriptCommand(String script, String commandName, Object[] args)
at Protractor.NgWebDriver.set_Url(String value) in c:\Users\Bruno\Projets\GitHub\bbaia\protractor-net\src\Protractor\NgWebDriver.cs:line 163
at Protractor.NgNavigation.GoToUrl(String url) in c:\Users\Bruno\Projets\GitHub\bbaia\protractor-net\src\Protractor\NgNavigation.cs:line 101
// Make sure the page is an Angular page.
long? angularVersion = this.ExecuteAsyncScript(ClientSideScripts.TestForAngular) as long?;
а в моей ветке этого кода нету
// Resume Angular bootstrap
this.jsExecutor.ExecuteScript(ClientSideScripts.ResumeAngularBootstrap,
String.Join(",", this.mockModules.Select(m => m.Name).ToArray()));
} else {
throw new InvalidOperationException(
String.Format("Angular could not be found on the page '{0}'", value));
}
}
вы по прежнему линкуетесь с кодом версии бруно
кстати место где на самом деле мой код это вот здесь (https://github.com/sergueik/powershell_selenium/tree/master/csharp/protractor-net):
Заметил, что проблема возникает только на страницах, где имеется кастомный скрол.
Консоль Chrome говорит такое
This page includes a password or credit card input in a non-secure context. A warning has been added to the URL bar. For more information, see https://goo.gl/zmWq3m.
Возможна причина проблемы в этом?
Может кто-то сталкивался с подобным?
This site appears to use a scroll-linked positioning effect. This may not work well with asynchronous panning; see https://developer.mozilla.org/docs/Mozilla/Performance/ScrollLinkedEffects for further details and to join the discussion on related tools and features!