C # транспортир угловой никогда не предоставлял резюмеBootstrap - PullRequest
0 голосов
/ 04 мая 2018

Это мой первый вопрос о переполнении стека. Я уже искал некоторые ответы на этом сайте, но все решения, которые я нашел, не работали для меня, или они были предназначены для Java или javascript.

Ситуация

Как младший тестировщик автоматизации, я создал своего рода среду автоматизации тестирования на C # с Selenium Webdriver и Protractor.Net. Каркас состоит из 2 частей.

  1. Объекты страницы

  2. Испытания

Существует также базовый класс объекта страницы. В этом классе я определил методы, которые используются каждым объектом страницы, например, метод для открытия определенного программного модуля. В тестах также есть базовый класс. В этом классе определены атрибуты теста (C # UnitTest), такие как TestInitialize, TestCleanup, AssemblyCleanup.

В классе Test Base я также определил NgWebDriver, ChromeDriver:

driver = new NgWebDriver(new OpenQA.Selenium.Chrome.ChromeDriver());
                driver.Manage().Window.Maximize();

В классе Page Object Base я определил метод для открытия определенной части сайт:

public void OpenSPA(string spa)
    {                      
        driver.Navigate().GoToUrl(spa, true);
        driver.Navigate().Refresh();

    }

Параметр spa содержит URL-адрес для навигации.

Тестовый набор

Тестовый пример очень прост: открыть модуль х сайта модуль х это просто URL

Полный код теста:

[TestMethod]
[TestCategory(cat), TestCategory(regression)]
public void Organisatie_CheckActief()
{
    bool is_actief;

    var organisatie = new CrmSPA(driver);

    organisatie.VulVeld("Vrij zoeken", "XXXX");
    is_actief = organisatie.IsRelatieActief();

    //Assertion
    Assert.IsTrue(is_actief == true, "Relatie is niet actief.");

Проблема: Так как пару недель назад я получаю следующую ошибку при запуске теста:

Test Name:  Organisatie_CheckActief
Test FullName:  FirstTest.Webdrivers.WijzigenOrganisatie_Basis.Organisatie_CheckActief
Test Source:    C:\Users\XXXX\TestCases\RelatieSPA\Organisatie\WijzigenOrganisatie_basis.cs : line 168
Test Outcome:   Failed
Test Duration:  0:00:41,1353784

Результат StackTrace:

bij OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)
   bij OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute, Dictionary`2 parameters)
   bij OpenQA.Selenium.Remote.RemoteWebDriver.ExecuteScriptCommand(String script, String commandName, Object[] args)
   bij OpenQA.Selenium.Remote.RemoteWebDriver.ExecuteAsyncScript(String script, Object[] args)
   bij Protractor.NgWebDriver.set_Url(String value) in c:\Users\Bruno\Projets\GitHub\bbaia\protractor-net\src\Protractor\NgWebDriver.cs:regel 163
 --- End of inner exception stack trace ---
    bij Protractor.NgWebDriver.set_Url(String value) in c:\Users\Bruno\Projets\GitHub\bbaia\protractor-net\src\Protractor\NgWebDriver.cs:regel 193
   bij Protractor.NgNavigation.GoToUrl(String url, Boolean ensureAngularApp) in c:\Users\Bruno\Projets\GitHub\bbaia\protractor-net\src\Protractor\NgNavigation.cs:regel 112
   bij FirstTest.PageObjects.BaseSPA.OpenSPA(String spa) in C:\Users\Rahied\Documents\Visual Studio 2015\Projects\BisProPortal\BisProPortal\FirstTest\PageObjects\BaseSPA.cs:regel 55
   bij FirstTest.PageObjects.CrmSPA.CrmSPA..ctor(NgWebDriver driver) in C:\Users\Rahied\Documents\Visual Studio 2015\Projects\BisProPortal\BisProPortal\FirstTest\PageObjects\CRM\CrmSPA\CrmSPA.cs:regel 37
   bij FirstTest.Webdrivers.WijzigenOrganisatie_Basis.Organisatie_CheckActief() in C:\Users\Rahied\Documents\Visual Studio 2015\Projects\BisProPortal\BisProPortal\FirstTest\TestCases\RelatieSPA\Organisatie\WijzigenOrganisatie_basis.cs:regel 174
Result Message: 
Test method FirstTest.Webdrivers.WijzigenOrganisatie_Basis.Organisatie_CheckActief threw exception: 
System.InvalidOperationException: **Angular could not be found on the page** 'https://XXXXX/CRM/Relaties/index?AdministratieID=10000000000144&ProgrammaID=10000000002099' ---> OpenQA.Selenium.WebDriverTimeoutException: asynchronous script timeout: result was not received in 30 seconds
  (Session info: chrome=66.0.3359.139)
  (Driver info: chromedriver=2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb),platform=Windows NT 6.1.7601 SP1 x86_64)

Результат на экране / в браузере

При запуске теста происходит следующее:

  1. браузер Chrome запускается (ОК)

  2. браузер Chrome открывается в развернутом виде (ок)

  3. браузер Chrome получает URL (нормально)

  4. браузер пуст показывает пустую страницу (NOK)

как-то я нашел следующую ошибку: угловой никогда не предоставляется резюмеBootstrap

Я искал в google и stackoverflow и попробовал некоторые ответы, такие как опция синхронизации: driver.IgnoreSynchronization проблема не всегда проявляется иногда страница загружается и тестирование продолжается. Я уже пытался переустановить protractor-net, более новый chromedriver и seleniumdriver. Проблема все еще существует.

Если кто-нибудь может мне помочь с этим.

1 Ответ

0 голосов
/ 04 мая 2018

Это сообщение об ошибке ...

OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError(Response errorResponse)

... означает, что RemoteWebDriver произошла ошибка при выполнении команды.

Selenium - это платформа с открытым исходным кодом, вы можете взглянуть на исходный код здесь .

GoToUrl() определен в RemoteNavigator.cs и принимает только один аргумент string url следующим образом:

    /// Navigate to a url for your test
    /// </summary>
    /// <param name="url">String of where you want the browser to go to</param>
    public void GoToUrl(string url)
    {
        this.driver.Url = url;
    }

Но в вашем кодовом блоке при вызове метода GoToUrl() вместе с string spa вы также передали true . Возможно, это вызывает ошибку.

Решение

В методе GoToUrl() удаление аргумента true решит вашу проблему.

...