Protractor: Ошибка: ошибка при ожидании синхронизации транспортира со страницей: "angular не может быть найден в окне"

Созданный на 28 янв. 2015  ·  52Комментарии  ·  Источник: angular/protractor

После обновления Protaractor до 1.6.1, webdriver, chromedriver, jasmine до 2.0, когда я пытаюсь запустить свои тесты, я получил:

"Using ChromeDriver directly...
[launcher] Running 1 instances of WebDriver
Start test TC06_01_01_Binary_1_1
Started
Execute test TC06_01_01_Binary_1_1
Login as Admin
Execute script no 18
F

Failures:
1) TC06_01_01_Binary_1_1 TC06_01_01_Binary_1_1 Should be able to add record with different values
  Message:
    Failed: Error while waiting for Protractor to sync with the page: "angular could not be found on the window"
  Stack:
    Error: Failed: Error while waiting for Protractor to sync with the page: "angular could not be found on the window"
       at C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\jasminewd2\index.js:104:1
6
        at C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\go
og\base.js:1582:15
        at [object Object].webdriver.promise.ControlFlow.runInNewFrame_ (C:\Users\E2Euser\AppData\Roaming\npm\
node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\promise.js:1654:20)
        at notify (C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdrive
r\lib\webdriver\promise.js:465:12)
  Message:
    Failed: Error while waiting for Protractor to sync with the page: "angular could not be found on the windo
w"
  Stack:
    Error: Failed: Error while waiting for Protractor to sync with the page: "angular could not be found on th
e window"
        at C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\jasminewd2\index.js:104:1
6
        at C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\go
og\base.js:1582:15
        at [object Object].webdriver.promise.ControlFlow.runInNewFrame_ (C:\Users\E2Euser\AppData\Roaming\npm\
node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\promise.js:1654:20)
        at notify (C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdrive
r\lib\webdriver\promise.js:465:12)
  Message:
    Failed: Error while waiting for Protractor to sync with the page: "angular could not be found on the windo
w"
  Stack:
    Error: Failed: Error while waiting for Protractor to sync with the page: "angular could not be found on th
e window"
        at C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\jasminewd2\index.js:104:1
6
        at C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdriver\lib\go
og\base.js:1582:15
        at [object Object].webdriver.promise.ControlFlow.runInNewFrame_ (C:\Users\E2Euser\AppData\Roaming\npm\
node_modules\protractor\node_modules\selenium-webdriver\lib\webdriver\promise.js:1654:20)
        at notify (C:\Users\E2Euser\AppData\Roaming\npm\node_modules\protractor\node_modules\selenium-webdrive
r\lib\webdriver\promise.js:465:12)

1 spec, 1 failure
Finished in 1.409 seconds
[launcher] 0 instance(s) of WebDriver still running
[launcher] chrome #1 failed 1 test(s)
[launcher] overall: 1 failed spec(s)
[launcher] Process exited with error code 1"

есть идеи, почему нельзя найти Angular? или как мне это исправить?

needs investigation

Все 52 Комментарий

На самом деле у меня была такая же проблема на OSX.

... snip ...
Running "connect:test" (connect) task
Started connect web server on http://localhost:9001

Running "protractor:run" (protractor) task
Using the selenium server at http://127.0.0.1:4444/wd/hub
[launcher] Running 1 instances of WebDriver
Uncaught exception: Error while waiting for Protractor to sync with the page: "angular could not be found on the window"
[launcher] Process exited with error code 1
>>
Fatal error: protractor exited with code: 1
... snip ...

После этого экземпляр Chrome, который он открыл, остается открытым в зависшем состоянии.

У меня такая же проблема сегодня на Mac OS. После закрытия всех терминалов и браузеров и повторного открытия этой ошибки остановитесь (по крайней мере, далеко).

Я тоже испытываю это с версией 2.0.0 .

даже я столкнулся с той же проблемой.

В среду, 1 апреля 2015 г., в 11:03, Уолтер Х. Роман [email protected]
написал:

Я тоже испытываю это с версией 2.0.0.

-
Ответьте на это письмо напрямую или просмотрите его на GitHub
https://github.com/angular/protractor/issues/1760#issuecomment -88355894.

я тоже

То же самое и здесь, почему этот вопрос закрыт?

при переходе на версию 1.8.0 эта проблема была устранена.

Вы вызываете browser.get() внутри своей функции onPrepare ? См. # 1978

Я использую browser.get (), но не думаю, что использую onPrepare, я запускаю этот пример для angular todomvc - https://github.com/mknabe/angular-testing-starter/blob/ мастер / тест / e2e / сценарии.js

удар...

например @ cm325, я получаю сообщение об ошибке «angular не может быть найден в окне» при запуске 2.0.0, но переход на 1.8.0 устраняет проблему.

УДАР!

та же проблема после обновления до версии 2.1.0, пришлось перейти на версию 1.8.0, чтобы устранить проблему.

Имея такую ​​же проблему и на OSX

Отредактировано - Исправлено

Поэтому я исправил это, изменив следующий код в одном из конструкторов страниц:

this.currentUrl =  browser.getCurrentUrl();

К

this.currentUrl = function(){
    return browser.getCurrentUrl();
  };

Мои тесты проходили нормально, и ни по какой причине это не обнаружилось. Я не вносил никаких изменений в систему или код, чтобы вызвать это. Я не могу перейти на более раннюю версию, мне нужна версия 2.0. Я сделал последний обход для currentUrl, и это тоже не помогает. Любая помощь будет потрясающей ..

Я испытал то же самое в понедельник. В прошлую пятницу все было хорошо, затем с понедельника я не могу запустить ни один тест, потому что, когда необходимо загрузить страницу входа, которая не является страницей Angular, я получаю ту же ошибку. Пытался понизить транспортир до 1.8.0 и 1.4.0, ничего, попытался изменить фреймворк на 'jasmine2', опять ничего, я не использую browser.get в onPrepare. Я понятия не имею, что я могу попробовать. Есть другие предложения, что я могу изменить или попробовать? Спасибо!

У меня здесь такая же проблема. : fist: ударь за вниманием.
Переход на 1.8.0 с 2.1.0 не сразу решил проблему ...

У меня точно такая же проблема. Я только что установил транспортир с cucumber-js, chai и chai-как обещал. У меня есть две основные функции, проверяющие основные примеры шагов. Я также использую ES6, предварительно перенесенный и загруженный с помощью SystemJS. Я не могу понять, как постоянно воспроизводить эту проблему. Хотя прямо сейчас я могу сделать это, изменив один из моих конкретных шагов так, чтобы он умышленно провалился. Не уверен, выполняется ли он первым / последним или почему он должен быть именно таким.

Обе оболочки шагов в основном выглядят так:

var Promise = require('es6-promise').Promise;
var World = require("../support/world.js").World;

module.exports = function() {
    this.World = World;

    this.Given(/^Something exists$/, function() {
        browser.get('http://localhost:3000/');
        return Promise.all([
            expect(browser.getCurrentUrl()).to.eventually.equal('http://localhost:3000/#/dashboard'),
            expect(browser.getTitle()).to.eventually.equal('Dashboard')
        ]);
    });
};

Привет, народ! Решили проблему в нашем проекте. Но, к сожалению, я точно не знаю, что проблема была в версиях транспортира и жасмина-репортера или в чем-то еще. В какой-то момент теста мы написали

element(by.id('logIn')).click().then(function (p) {
                browser.driver.wait(browser.driver.isElementPresent(by.id('Email')));
            });;

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

@ Yok86 Только что попробовал исправить, и это сработало! : +1:

Это тоже более аккуратно, чем наш обходной путь. Мы добавили browser.debugger() в конец нашего обработчика onPrepare и это, казалось, решило проблему времени в игре, но я не знаю почему. Это намного чище.

browser.driver.findElement(by.xpath("//*[@id='submit']")).click().then(function(p) {
      browser.driver.wait(browser.driver.getTitle().then(function (title) {
        return title == 'AppName';
      }));
    });

Есть такие же проблемы:

Ошибка: ошибка при ожидании синхронизации транспортира со страницей: «[ng: test] для аргумента элемента getTestability \ nhttp: //errors.angularjs.org/1.4.5/ng/test не найден инжектор»
Куча:
Ошибка: сбой: ошибка при ожидании синхронизации транспортира со страницей: «[ng: test] для аргумента элемента для getTestability \ nhttp: //errors.angularjs.org/1.4.5/ng/test не найден инжектор»
в стеке (c: \ Program Filesnodejsnode_modules \ protractornode_modules \ jasmine-core \ lib \ jasmine-core \ jasmine.js: 1482: 17)
в buildExpectationResult (c: \ Program Filesnodejsnode_modules \ protractornode_modules \ jasmine-core \ lib \ jasmine-core \ jasmine.js: 1452: 14)
в Spec.Env.expectationResultFactory (c: \ Program Filesnodejsnode_modules \ protractornode_modules \ jasmine-core \ lib \ jasmine-core \ jasmine.js: 583: 18)
в Spec.addExpectationResult (c: \ Program Filesnodejsnode_modules \ protractornode_modules \ jasmine-core \ lib \ jasmine-core \ jasmine.js: 324: 34)
в Suite.addExpectationResult (c: \ Program Filesnodejsnode_modules \ protractornode_modules \ jasmine-core \ lib \ jasmine-core \ jasmine.js: 2123: 38)
в Env.fail (c: \ Program Filesnodejsnode_modules \ protractornode_modules \ jasmine-core \ lib \ jasmine-core \ jasmine.js: 894: 25)
в Function.next.fail (c: \ Program Filesnodejsnode_modules \ protractornode_modules \ jasmine-core \ lib \ jasmine-core \ jasmine.js: 1806: 19)
в c: \ Program Filesnodejsnode_modules \ protractornode_modules \ jasminewd2index.js: 101: 16
в [объект-объект] .promise.ControlFlow.runInFrame_ (c: \ Program Filesnodejsnode_modules \ protractornode_modules \ selenium-webdriver \ lib \ webdriver \ prom.js: 1877: 20)
в [объект объекта] .promise.Callback_.goog.defineClass.notify (c: \ Program Filesnodejsnode_modules \ protractornode_modules \ selenium-webdriver \ lib \ webdriver \ promise.js: 2464: 25)
в [объект объекта] .promise.Promise.notify_ (c: \ Program Filesnodejsnode_modules \ protractornode_modules \ selenium-webdriver \ lib \ webdriver \ promise.js: 563: 12)
в Array.forEach (собственный)
в Object.goog.array.forEach (c: \ Program Filesnodejsnode_modules \ protractornode_modules \ selenium-webdriver \ lib \ goog \ array \ array.js: 203: 43)
в [объект-объект] .promise.Promise.notifyAll_ (c: \ Program Filesnodejsnode_modules \ protractornode_modules \ selenium-webdriver \ lib \ webdriver \ promise.js: 552: 16)
в goog.async.run.processWorkQueue (c: \ Program Filesnodejsnode_modules \ protractornode_modules \ selenium-webdriver \ lib \ goog \ async \ run.js: 125: 21)
в process._tickCallback (node.js: 356: 9)

Такая же ошибка здесь, в OSX, при запуске с phantomjs. Прекрасно работает в Chrome

Ошибка при ожидании синхронизации транспортира со страницей: "[ng: test] http://errors.angularjs.org/1.4.3/ng/test "

Имея ту же проблему здесь, он работал нормально, но теперь перестал работать

У меня тоже есть эта проблема

+1 Прошлая пятница работала нормально, сейчас ни по какой причине не работает

Это сложно. Может ли кто-нибудь работать над получением изолированного и воспроизводимого тестового примера? Я не смог воспроизвести это самостоятельно (хотя, честно говоря, я еще не много копал).

Подводя итог некоторым сообщениям здесь, ошибка присутствует:

  • Версия: Транспортир 2.x.x (помимо проблемы с OP в 1.6.x )
  • Фреймворки: Jasmine 2
  • Браузеры: Chrome и PhantomJS
  • Платформы: OSX и Windows
  • Угловые / неугловые страницы: ???

Что, к сожалению, довольно широко :(

@jessiahr @navarrojp @AndreasMaier Не могли бы вы помочь отладить это? Для координации мы могли бы использовать жаровню .

Та же проблема:

  • Версия: Транспортир 2.5.1
  • Каркас: Жасмин 2
  • Браузеры: Chrome
  • Платформа: OSX
  • Угловая страница

@mrzmyr спасибо за подробности. Можно ли получить конфигурацию и отдельный пример спецификации, где вы можете воспроизвести это?

@NickTomlin Мне бы хотелось иметь пример спецификации или что-то подобное. Мне даже не удалось воспроизвести его в той же среде. Для меня это похоже на временную проблему.

У меня такая же проблема. В моей конфигурации есть onPrepare, и эта строка там.
browser.driver.get (targetUrl);

эта ошибка происходит примерно в 40% случаев. не знаю почему.

жасмин 2.XX

У меня та же проблема, что и у @mrzmyr :

Версия: Последняя версия транспортира
Каркас: Жасмин 2
Браузеры: Chrome
Платформа: OSX
Угловая страница

Я собираюсь попробовать понизить версию до 1.8, чтобы посмотреть, решит ли это проблему. Странно, ведь вчера тесты проходили.

Следуя руководству здесь , есть воспроизводимый тестовый пример. Конфигурация / тестовый пример, который я использовал, здесь для справки. Учебник не самый точный, но для меня он воспроизводит проблему.

[email protected]
Платформа: OSX
Угловой
Каркас: Jasmine2
Браузер: Chrome

Это сообщение об ошибке обычно возникает из-за того, что какая-то навигация была выполнена с использованием чего-то другого, кроме browser.get . browser.get , помимо изменения URL-адреса, ожидает загрузки angular и запускает Protractor.

@ 61ue5peed ваша проблема в том, что browser.driver.get не обеспечивает такой же синхронизации и начальной загрузки. По вашему делу я бы просто переключился с browser.driver.get на browser.get

@jennapederson В вашем случае я предполагаю, что #becomeAwesome - это ссылка, и, щелкая по ней, вы переходите без синхронизации и начальной загрузки. В случаях, подобных вашему, я бы просто добавил browser.refresh после того, как вы нажмете ссылку.

Другие отчеты кажутся похожими, поэтому я закрываю этот вопрос. Если люди могут вызвать эту проблему с помощью теста, который полагается исключительно на borwser.get для навигации, я предлагаю им открыть новую проблему.

Эта проблема все еще воспроизводится в версии 3.3.1.
Я использую browser.get для перехода на мою домашнюю страницу, и он не работает с первого раза.

Просто чтобы вы все знали -> в моем случае проблема была во внешнем модуле angular, который загружает API Facebook ... JavaScript javascript facebook получил доступ к структуре dom в приложении angular и попытался изменить ее. Пришлось сменить модуль, чтобы не загружать скрипт facebook при тестировании

У меня тоже есть эта проблема. Не часто, но достаточно, чтобы стать проблемой. Это обычная страница Angular, в ней нет ничего внешнего или неуглового. Большую часть времени тест проходит успешно, но иногда выскакивает эта ошибка, и она не выполняется. Кажется, он не ждет достаточно долго для загрузки модального окна. Это всегда один и тот же шаг / тест.

Транспортир: 3.2.2
Огурец-транспортир: 0.4.0

@drcjones
element (by.css (селектор)). isPresent (). then (function (result) {
if (результат) {
элемент (by.css (селектор)). click ();
}
}, 20000);

Привет,

Я столкнулся с той же проблемой. Я пытаюсь получить название браузера. Я делаю что-то неправильно?

Failed: Angular could not be found on the page http://thetestroom.com/jsweba

pp /: angular никогда не предоставлялся resumeBootstrap
Куча:
Ошибка: Angular не может быть найден на странице http://thetestroom.com/jswebap
p /: angular никогда не предоставлялся resumeBootstrap

`beforeEach (function () {

    browser.get('http://thetestroom.com/jswebapp/');
});

it('should test webpage title', function() {
    expect(browser.getTitle()).toEqual('Zoo Adoption | Home');
});`

Любая обратная связь будет хороша.

Я не вижу, чтобы вы ждали Angular или ждете какого-либо изменения URL-адреса в браузере или элементе, прежде чем вы получите заголовок. Посмотрим, поможет ли это.

browser.get (testUrl) .then (function () {
browser.wait (function () {
вернуть browser.getCurrentUrl (). then (function (url) {
вернуть /thetestroom/.test(url);
});
}, 10000);
});

Мы начали периодически замечать эту проблему в IE9. Обновление с 3.2.1 до 3.3.0 остановило ошибки.

То же самое - обновление с 3.2.1 до 3.3.0 исправило это для нас

У меня такая же ошибка. используя хром. любые предложения потрясающие. Спасибо

config.js

export.config = {
directConnect: правда,
allScriptsTimeout: 1000,

// Возможности, которые нужно передать экземпляру webdriver.
возможности: {
'browserName': 'хром'
// 'browserName': 'firefox'
},

// Используемый фреймворк. Рекомендуется жасмин.
каркас: 'жасмин',

// Шаблоны спецификаций относятся к текущему рабочему каталогу, когда
// транспортир вызывается.
// спецификации: ['example_spec.js'],
спецификации: ['* _spec.js'],

seleniumAddress: ' http: // localhost : 8080 / McacApp / index.html',
baseUrl: ' http: // localhost : 8080 / McacApp / index.html',

// транспортир-conf.js
rootElement: '.mcacApp',
// Параметры, передаваемые в Jasmine.
jasmineNodeOpts: {
defaultTimeoutInterval: 30000,

baseUrl: 'http://localhost:8080/McacApp/index.html',
jasmineNodeOpts: {
  onComplete: null,
  isVerbose: false,
  showColors: true,
  includeStackTrace: false
}

}

};
example.spec.js

описать ('Быстрый тест', function () {

it('Should do something', function() {

    browser.get('http://localhost:8080/McacApp/index.html');
   element(by.model('ctrl.formData.emailAddress')).sendKeys('emailAddress');
  // element(by.model('ctrl.formData.employmentType')).sendKeys('employmentType');
  element(by.xpath("//button[text()='Confirm']")).click();
  browser.sleep(10000);


    //expect (element(by.xpath("//ui-view/div/div[2]/div[1]/a/div/p"))).toEqual("Manage users and teams.");
    //expect(element(by.xpath("//ui-view/div/div[2]/div[2]/a/div/p"))).toEqual("Define metrics that drive your business.");
    //expect(element(by.xpath("//ui-view/div/div[2]/div[3]/a/div/p"))).toEqual("Create and modify leaderboards that display metrics.");

});

});

@ Karpo72 : Не могли бы вы привести свой пример для этой проблемы для проверки электронной почты и контактов.

Ошибка: сбой: ошибка при ожидании синхронизации транспортира со страницей: «[ng: test] http://errors.angularjs.org/1.4.7/ng/test »

Большое спасибо.

@reddynr Я не вижу, чтобы вы ждали элемент или что-то еще после того, как вы .get () страницу. Вам следует. См. Примеры выше в этой теме

В вашем случае это должно быть
browser.get(..).then(function() { browser.driver.wait(browser.driver.isElementPresent(by.model('ctrl.formData.emailAddress'))); // all remaining sendKeys, submit and assert code here. });

@ srajagopalan1712 Спасибо за отзыв. но все равно получаю ту же ошибку. вот моя реализация.

Спасибо, очень признателен, если есть предложения.

описать ('mcacapp', function () {
it ('проверка функциональности электронной почты', function ()
{
browser.get ('http: // localhost: 8080 / McacApp / index.html') .then (function () {
browser.wait (function () {
вернуть browser.getCurrentUrl (). then (function (url) {
вернуть /thetestroom/.test(url);
});
}, 10000);

});
элемент (by.model ('ctrl.formData.emailAddress')). sendKeys ('[email protected] ');
var приветствие = элемент (by.binding ('ctrl.formData.emailAddress'));
ожидать (приветствие.getText ()). toEqual ('[email protected] ');
});
});

вместо того, чтобы ждать изменения URL-адреса, дождитесь появления элемента emailAddress. Также попробуйте browser.driver.wait и browser.driver.getCurrentUrl. Также переместите весь другой тестовый код внутрь блока get () ... {}.

@ srajagopalan1712 Спасибо за отзыв. Но все равно возникает такая же ошибка. Не могли бы вы предоставить рабочий пример, было бы очень полезно.

Большое спасибо.

Я вижу выше, что в приведенном выше коде есть return /thetestroom/.test(url); . Это был пример, который я привел для кого-то другого в качестве URL-адреса в старом ответе. Измените здесь "thetestroom" на то, как будет выглядеть ваш URL. Вы должны были получить здесь время ожидания вместо угловой проблемы.
Вот код, который мне нужно решить.

 homepage.myButton.click().then(function() {
     browser.driver.wait(function() {
        return browser.driver.getCurrentUrl().then(function(url) {
          return url.includes('......'); // checks if the new url has what you are looking for in ...    
     }); // this waits until the url changes to whatever it should be in ....
    }, 25000, "URL hasn't changed").then(function() {
   // after url changed, in new page check these 
   // pec is protractor expected condition.
    // See http://www.protractortest.org/#/api?view=ProtractorExpectedConditions
     browser.wait(pec.visibilityOf(homepage.feedTitle), 20000); 
     expect(homepage.feedTitle.getText()).toContain('.....');
      expect(homepage.feedBody.getText()).toContain('.....');  
  });

@ Сарада,

Большое спасибо. Позвольте мне реализовать этот способ.

Нарендра ...!

7 октября 2016 года в 15:52 Сарада [email protected] написал:

Я вижу выше, что у вас есть return /thetestroom/.test(url); в коде
выше. Это был пример, который я привел для кого-то другого в качестве URL-адреса в
старый ответ. Пожалуйста, измените здесь "thetestroom" на любой ваш URL
выглядит как. Вы должны были получить здесь время ожидания вместо углового
проблема.
Вот код, который мне нужно решить.

homepage.myButton.click (). then (function () {
browser.driver.wait (function () {
вернуть browser.driver.getCurrentUrl (). then (function (url) {
вернуть url.includes ('......'); // проверяет, есть ли в новом url то, что вы ищете ...
}); // ожидает, пока url не изменится на то, что должно быть ....
}, 25000, "URL не изменился"). Then (function () {
// после изменения URL на новой странице проверяем эти
// pec - ожидаемое условие транспортира.
// См. Http://www.protractortest.org/#/api ? View = ProtractorExpectedConditions
browser.wait (pec.visibilityOf (homepage.feedTitle), 20000);
ожидать (домашняя страница.feedTitle.getText ()). toContain ('.....');
ожидать (домашняя страница.feedBody.getText ()). toContain ('.....');
});

-
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/angular/protractor/issues/1760#issuecomment -252345767,
или отключить поток
https://github.com/notifications/unsubscribe-auth/AViSFrR5k79AQWfZVEm6J1qTSEPvMjfnks5qxqMXgaJpZM4DYTza
.

@Saradha ,

Большое спасибо за отзыв.

Я получаю ошибку ниже. Пожалуйста, посоветуйте, если есть обходной путь. Спасибо.

работает: npm run dev

Ошибка: не удается найти модуль ./internal/streams/BufferList

Нарендра ...!

17 октября 2016 года в 16:48, Нарендра Редди Нарендра. [email protected] написал:

@ Сарада,

Большое спасибо. Позвольте мне реализовать этот способ.

Нарендра ...!

7 октября 2016 года в 15:52 Сарада [email protected] написал:

Я вижу выше, что у вас есть return /thetestroom/.test(url); в коде
выше. Это был пример, который я привел для кого-то другого в качестве URL-адреса в
старый ответ. Пожалуйста, измените здесь "thetestroom" на любой ваш URL
выглядит как. Вы должны были получить здесь время ожидания вместо углового
проблема.
Вот код, который мне нужно решить.

homepage.myButton.click (). then (function () {
browser.driver.wait (function () {
вернуть browser.driver.getCurrentUrl (). then (function (url) {
вернуть url.includes ('......'); // проверяет, есть ли в новом url то, что вы ищете ...
}); // ожидает, пока url не изменится на то, что должно быть ....
}, 25000, "URL не изменился"). Then (function () {
// после изменения URL на новой странице проверяем эти
// pec - ожидаемое условие транспортира.
// См. Http://www.protractortest.org/#/api ? View = ProtractorExpectedConditions
browser.wait (pec.visibilityOf (homepage.feedTitle), 20000);
ожидать (домашняя страница.feedTitle.getText ()). toContain ('.....');
ожидать (домашняя страница.feedBody.getText ()). toContain ('.....');
});

-
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/angular/protractor/issues/1760#issuecomment -252345767,
или отключить поток
https://github.com/notifications/unsubscribe-auth/AViSFrR5k79AQWfZVEm6J1qTSEPvMjfnks5qxqMXgaJpZM4DYTza
.

Что-то в вашей кодовой базе. Не похоже на ошибку угла / транспортира
Я знаю.

отправлено из моего Айфона

19 октября 2016 г. в 19:54 narendra [email protected] написал:

@Saradha ,

Большое спасибо за отзыв.

Я получаю ошибку ниже. Пожалуйста, посоветуйте, если есть обходной путь. Спасибо.

работает: npm run dev

Ошибка: не удается найти модуль ./internal/streams/BufferList

Нарендра ...!

17 октября 2016 года в 16:48, Нарендра Редди Нарендра. [email protected] написал:

@ Сарада,

Большое спасибо. Позвольте мне реализовать этот способ.

Нарендра ...!

7 октября 2016 года в 15:52 Сарада [email protected] написал:

Я вижу выше, что у вас есть return /thetestroom/.test(url); в коде
выше. Это был пример, который я привел для кого-то другого в качестве URL-адреса в
старый ответ. Пожалуйста, измените здесь "thetestroom" на любой ваш URL
буду
выглядит как. Вы должны были получить здесь время ожидания вместо углового
проблема.
Вот код, который мне нужно решить.

homepage.myButton.click (). then (function () {
browser.driver.wait (function () {
вернуть browser.driver.getCurrentUrl (). then (function (url) {
вернуть url.includes ('......'); // проверяет, есть ли в новом URL то, что вы
ищу в ...
}); // ожидает, пока url не изменится на то, что должно быть ....
}, 25000, "URL не изменился"). Then (function () {
// после изменения URL на новой странице проверяем эти
// pec - ожидаемое условие транспортира.
// Видеть
http://www.protractortest.org/#/api ? view = ProtractorExpectedConditions
browser.wait (pec.visibilityOf (homepage.feedTitle), 20000);
ожидать (домашняя страница.feedTitle.getText ()). toContain ('.....');
ожидать (домашняя страница.feedBody.getText ()). toContain ('.....');
});

-
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub
< https://github.com/angular/protractor/issues/1760#issuecomment -252345767
,
или отключить поток
<
https://github.com/notifications/unsubscribe-auth/AViSFrR5k79AQWfZVEm6J1qTSEPvMjfnks5qxqMXgaJpZM4DYTza

.

-
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/angular/protractor/issues/1760#issuecomment -254996166,
или отключить поток
https://github.com/notifications/unsubscribe-auth/AKCDZXWuZX7dJ0R2V2sHgxKqwydQV8o3ks5q1tfngaJpZM4DYTza
.

Привет, сраджагопалан1712,

Я запускаю пример, когда транспортир получает ошибку ниже. Не могли бы вы посоветовать. Спасибо

ошибка:

goog.global.setTimeout (function () {исключение исключения;}, 0);
^
Ошибка при ожидании синхронизации транспортира со страницей: "[ng: test] http://errors.angularjs.org/1.4.7/ng/test "

вот мой код

описать ('Тестирование моего приложения', function () {

      browser.get('http://localhost:port/integrated/myWeb.html').then(function() {


    browser.wait(function() {
        return browser.getCurrentUrl().then(function(url) {
            return 'http://localhost:port/integrated/myWeb.html';

            element(by.model('ctrl.formData.emailAddress')).sendKeys('').clear();
            element(by.model('ctrl.formData.emailAddress')).sendKeys('[email protected]');
            element(by.model('ctrl.formData.emailAddress')).getAttribute('value').then(function (value) {
                expect(value).toEqual('[email protected]');
            });

        });
    }, 10000);
});

Спасибо вам всем,

Проблема решена добавлением тега ng-app на html-страницу.

Я видел ту же ошибку при тестировании Angular 5. Возможно, это констатирует очевидное, но я не знал, что вам нужно запускать «ng serve» отдельно перед запуском ваших тестов e2e, если вы хотите отлаживать. Вот обсуждение, в котором я нашел ответ:
https://github.com/angular/angular-cli/issues/4183

Надеюсь, это кому-то поможет!

Была ли эта страница полезной?
0 / 5 - 0 рейтинги