Protractor: فشل: خطأ أثناء انتظار مزامنة المنقلة مع الصفحة: "لا يمكن العثور على الزاوية في النافذة"

تم إنشاؤها على ٢٨ يناير ٢٠١٥  ·  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 صباحًا ، Walter H. Roman [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 / سيناريوهات

صدم...

مثل @ cm325 تظهر لي رسالة

صدم!

نفس المشكلة بعد الترقية إلى الإصدار 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. ليس لدي فكرة أكثر عما يمكنني تجربته. أي اقتراحات أخرى ، ما الذي يمكنني تغييره أو تجربته؟ شكرا!

أواجه نفس المشكلة هنا أيضًا. : قبضة: نتوء لمزيد من الاهتمام.
الرجوع إلى 1.8.0 من 2.1.0 لم يحلها على الفور ...

لدي نفس المشكلة. لقد أعددت للتو منقلة مع خيار- js ، تشاي وتشاي كما وعدت. لدي سمتان أساسيتان للغاية يتم اختبارهما مقابل خطوات العينة الأساسية. أنا أستخدم أيضًا 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 فقط جرب الإصلاح الخاص بك

هذا أفضل من حلنا أيضًا. ألقينا 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] لم يتم العثور على حاقن لوسيطة العنصر للحصول على القابلية \ nhttp: //errors.angularjs.org/1.4.5/ng/test "
كومة:
خطأ: فشل: خطأ أثناء انتظار منقلة للمزامنة مع الصفحة: "[ng: test] لم يتم العثور على حاقن لوسيطة العنصر to 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 \ trust.js: 1877: 20)
في [كائن الكائن] .promise.Callback_.goog.defineClass.notify (c: \ Program Filesnodejsnode_modules \ protractornode_modules \ selenium-webdriver \ lib \ webdriver \ trust.js: 2464: 25)
في [كائن الكائن] .promise.Promise.notify_ (c: \ Program Filesnodejsnode_modules \ protractornode_modules \ selenium-webdriver \ lib \ webdriver \ trust.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 \ trust.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 )
  • الأطر: الياسمين 2
  • المتصفحات: Chrome و PhantomJS
  • المنصات: OSX و Windows
  • الصفحات الزاويّة / غير الزاويّة: ؟؟؟

وهو واسع جدًا للأسف :(

jessiahrnavarrojpAndreasMaier هل تكون مهتمة في مساعدة تصحيح هذا؟ يمكننا استخدام غرفة gitter للتنسيق.

المشكلة نفسها:

  • الإصدار: منقلة 2.5.1
  • الإطار: الياسمين 2
  • المتصفحات: كروم
  • المنصة: OSX
  • الصفحة الزاويّة

mrzmyr شكرا على التفاصيل. هل سيكون من الممكن الحصول على تكوين ومثال معزول لمواصفات حيث يمكنك إعادة إنتاج هذا؟

NickTomlin أرغب في الحصول على مثال لمواصفات أو أي شيء مشابه. لم يكن من الممكن حتى إعادة إنتاجه في نفس البيئة. تبدو مشكلة توقيت بالنسبة لي.

لدي نفس المشكلة ، في التكوين لديّ onPrepare وهذا الخط موجود هناك.
browser.driver.get (targetUrl) ،

يحدث هذا الخطأ حوالي 40٪ من الوقت. أتساءل لماذا.

الياسمين 2.XX

أحصل على نفس المشكلة مثل mrzmyr :

الإصدار: أحدث إصدار من المنقلة
الإطار: الياسمين 2
المتصفحات: كروم
المنصة: OSX
الصفحة الزاويّة

سأحاول الرجوع إلى الإصدار 1.8 لمعرفة ما إذا كان ذلك يحل المشكلة. إنه أمر غريب ، حيث كانت الاختبارات جارية أمس.

هناك حالة اختبار قابلة للتكرار باتباع البرنامج التعليمي هنا . حالة config / test التي استخدمتها هنا كمرجع. البرنامج التعليمي ليس هو الأكثر دقة ، لكنه يعيد إظهار المشكلة بالنسبة لي.

منقلة @ 2.5.1
المنصة: OSX
الزاوي
الإطار: الياسمين 2
المتصفح: Chrome

عادةً ما تحدث رسالة الخطأ هذه بسبب إجراء نوع من التنقل باستخدام شيء آخر غير browser.get . browser.get ، بالإضافة إلى تغيير عنوان URL ، ينتظر تحميل الزاوية وتمهيد المنقلة.

@ 61ue5peed مشكلتك هي أن browser.driver.get لا يوفر نفس المزامنة والتمهيد. في قضيتك سأنتقل من browser.driver.get إلى browser.get

jennapederson في حالتك أفترض أن #becomeAwesome هو رابط ، وبالنقر عليه يمكنك التنقل دون المزامنة والتمهيد. في حالات مثل حالتك ، سأضيف فقط browser.refresh بعد النقر على الرابط.

يبدو أن التقارير الأخرى متشابهة ، لذلك سأغلق هذه المشكلة. إذا كان بإمكان الأشخاص تشغيل هذه المشكلة باستخدام اختبار يعتمد حصريًا على borwser.get للتنقل ، أقترح عليهم فتح مشكلة جديدة

لا تزال هذه المشكلة قابلة للتكرار في الإصدار 3.3.1.
أنا أستخدم browser.get للانتقال إلى صفحتي الرئيسية وفشل في أول مرة.

فقط لإعلامكم جميعًا -> في حالتي ، كانت المشكلة عبارة عن وحدة زاوية خارجية تقوم بتحميل واجهة برمجة تطبيقات Facebook .... قام facebook javascript بالوصول إلى بنية dom داخل التطبيق الزاوي وحاول تغييره. اضطررت إلى تغيير الوحدة لتجنب تحميل برنامج facebook على الاختبار

أنا أحصل على هذه القضية أيضا. ليس في كثير من الأحيان ولكن يكفي ليكون مشكلة. إنها صفحة زاويّة عادية ، لا شيء خارجي أو غير زاوي عنها. يمر الاختبار معظم الوقت ، ولكن في بعض الأحيان ينبثق هذا الخطأ ويفشل. يبدو أنه لا ينتظر وقتًا طويلاً بما يكفي لتحميل أحد الوسائط. إنه دائمًا في نفس الخطوة / الاختبار.

المنقلة: 3.2.2
منقلة الخيار: 0.4.0

تضمين التغريدة
element (by.css (selector)). isPresent (). ثم (الوظيفة (النتيجة) {
إذا (نتيجة) {
عنصر (by.css (محدد)). انقر () ؛
}
} ، 20000) ؛

أهلا،

واجهت نفس المشكلة. أحاول الحصول على عنوان المتصفح. أفعل شيئا خاطئا؟

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

ص /: الزاوي لم تقدم استئناف بوتستراب
كومة:
خطأ: لا يمكن العثور على Angular في الصفحة http://thetestroom.com/jswebap
p /: الزاوي لم يقدم استئنافًا قط

`beforeEach (وظيفة () {

    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 (الوظيفة () {
إرجاع browser.getCurrentUrl (). ثم (الوظيفة (url) {
return /thetestroom/.test(url) ؛
}) ؛
} ، 10000) ؛
}) ؛

بدأنا في رؤية هذه المشكلة بشكل متقطع في IE9. الترقية من 3.2.1 إلى 3.3.0 أوقفت الأخطاء.

نفس الشيء هنا - الترقية من 3.2.1 إلى 3.3.0 تم إصلاحها لنا

لدي نفس الخطأ. باستخدام الكروم. أي اقتراحات رائعة. شكرا

config.js

الصادرات.config = {
DirectConnect: صحيح ،
allScriptsTimeout: 1000 ،

// القدرات ليتم تمريرها إلى مثيل webdriver.
قدرات: {
"اسم المتصفح": "كروم"
// 'browserName': 'Firefox'
} ،

// إطار الاستخدام. يوصى باستخدام الياسمين.
الإطار: الياسمين ،

// ترتبط أنماط المواصفات بدليل العمل الحالي عندما
// منقلة تسمى.
// المواصفات: ['example_spec.js']،
المواصفات: ['* _spec.js']،

السيلينيوم العنوان: " http: // localhost : 8080 / McacApp / index.html" ،
baseUrl: " http: // localhost : 8080 / McacApp / index.html" ،

// منقلة- conf.js
rootElement: ".mcacApp" ،
// خيارات لتمريرها إلى الياسمين.
jasmineNodeOpts: {
الافتراضي مهلة الفاصل الزمني: 30000 ،

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

}

} ؛
example.spec.js

وصف ("اختبار سريع" ، الوظيفة () {

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' ، الوظيفة () {
it (اختبار وظائف البريد الإلكتروني ، function ()
{
browser.get ('http: // localhost: 8080 / McacApp / index.html'). ثم (الوظيفة () {
browser.wait (الوظيفة () {
إرجاع browser.getCurrentUrl (). ثم (الوظيفة (url) {
return /thetestroom/.test(url) ؛
}) ؛
} ، 10000) ؛

}) ؛
element (by.model ('ctrl.formData.emailAddress')). sendKeys ('[email protected] ') ؛
var تحية = عنصر (by.binding ('ctrl.formData.emailAddress')) ؛
توقع (reeting.getText ()). toEqual ('[email protected] ') ؛
}) ؛
}) ؛

بدلاً من انتظار تغيير عنوان url ، انتظر حتى يظهر عنصر عنوان البريد الإلكتروني أيضًا. جرب أيضًا 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('.....');  
  });

@ saradha ،

شكرا جزيلا. اسمحوا لي أن نفذ بهذه الطريقة.

ناريندرا ...!

في 7 أكتوبر 2016 الساعة 15:52 ، كتب Saradha [email protected] :

أرى أعلاه أنك قمت بإرجاع /thetestroom/.test(url) ؛ في الكود
فوق. كان هذا مثالاً أعطيته لشخص آخر من أجل عنوان url الخاص به في ملف
استجابة كبار السن. الرجاء تغيير "thetestroom" هنا إلى أي عنوان URL الخاص بك
يشبه. يجب أن تكون قد حصلت على وقت الانتظار هنا بدلاً من الزاوي
مشكلة.
هذا هو الكود الذي يجب أن أحل هذه المشكلة

homepage.myButton.click (). ثم (function () {
browser.driver.wait (function () {
إرجاع browser.driver.getCurrentUrl (). ثم (الوظيفة (url) {
عودة url.includes ('......')؛ // يتحقق مما إذا كان عنوان url الجديد يحتوي على ما تبحث عنه ...
}) ؛ // هذا ينتظر حتى يتغير عنوان url إلى ما يجب أن يكون فيه ....
} ، 25000 ، "URL لم يتغير"). ثم (الوظيفة () {
// بعد تغيير عنوان url ، في الصفحة الجديدة تحقق من ذلك
// pec هي حالة منقلة متوقعة.
// راجع http://www.protractortest.org/#/api ؟ view = ProtractorExpectedConditions
browser.wait (pec.visibilityOf (homepage.feedTitle) ، 20000) ؛
توقع (homepage.feedTitle.getText ()). toContain ('.....')؛
توقع (homepage.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] :

@ saradha ،

شكرا جزيلا. اسمحوا لي أن نفذ بهذه الطريقة.

ناريندرا ...!

في 7 أكتوبر 2016 الساعة 15:52 ، كتب Saradha [email protected] :

أرى أعلاه أنك قمت بإرجاع /thetestroom/.test(url) ؛ في الكود
فوق. كان هذا مثالاً أعطيته لشخص آخر من أجل عنوان url الخاص به في ملف
استجابة كبار السن. الرجاء تغيير "thetestroom" هنا إلى أي عنوان URL الخاص بك
يشبه. يجب أن تكون قد حصلت على وقت الانتظار هنا بدلاً من الزاوي
مشكلة.
هذا هو الكود الذي يجب أن أحل هذه المشكلة

homepage.myButton.click (). ثم (function () {
browser.driver.wait (function () {
إرجاع browser.driver.getCurrentUrl (). ثم (الوظيفة (url) {
عودة url.includes ('......')؛ // يتحقق مما إذا كان عنوان url الجديد يحتوي على ما تبحث عنه ...
}) ؛ // هذا ينتظر حتى يتغير عنوان url إلى ما يجب أن يكون فيه ....
} ، 25000 ، "URL لم يتغير"). ثم (الوظيفة () {
// بعد تغيير عنوان url ، في الصفحة الجديدة تحقق من ذلك
// pec هي حالة منقلة متوقعة.
// راجع http://www.protractortest.org/#/api ؟ view = ProtractorExpectedConditions
browser.wait (pec.visibilityOf (homepage.feedTitle) ، 20000) ؛
توقع (homepage.feedTitle.getText ()). toContain ('.....')؛
توقع (homepage.feedBody.getText ()). toContain ('.....')؛
}) ؛

-
أنت تتلقى هذا لأنه تم ذكرك.
قم بالرد على هذا البريد الإلكتروني مباشرة ، وقم بعرضه على GitHub
https://github.com/angular/protractor/issues/1760#issuecomment -252345767 ،
أو كتم الخيط
https://github.com/notifications/unsubscribe-auth/AViSFrR5k79AQWfZVEm6J1qTSEPvMjfnks5qxqMXgaJpZM4DYTza
.

شيء ما في قاعدة بياناتك. لا يبدو كخطأ زاوي / منقلة
أنا أعلم عن.

مرسل من الايفون الخاص بي

في 19 تشرين الأول (أكتوبر) 2016 ، الساعة 7:54 مساءً ، كتب narendra [email protected] :

Saradha ،

شكرا جزيلا على ردود الفعل لك.

أنا أحصل على الخطأ أدناه. يرجى تقديم المشورة إذا كان هناك أي حل بديل. شكرا لك.

قيد التشغيل: npm run dev

خطأ: لا يمكن العثور على الوحدة النمطية './internal/streams/BufferList'

ناريندرا ...!

في 17 أكتوبر 2016 الساعة 16:48 ، ناريندرا ريدي ناريندرا. كتب [email protected] :

@ saradha ،

شكرا جزيلا. اسمحوا لي أن نفذ بهذه الطريقة.

ناريندرا ...!

في 7 أكتوبر 2016 الساعة 15:52 ، كتب Saradha [email protected] :

أرى أعلاه أنك قمت بإرجاع /thetestroom/.test(url) ؛ في الكود
فوق. كان هذا مثالاً أعطيته لشخص آخر من أجل عنوان url الخاص به في ملف
استجابة كبار السن. الرجاء تغيير "thetestroom" هنا إلى أي عنوان url الخاص بك
إرادة
يشبه. يجب أن تكون قد حصلت على وقت الانتظار هنا بدلاً من الزاوي
مشكلة.
هذا هو الكود الذي يجب أن أحل هذه المشكلة

homepage.myButton.click (). ثم (function () {
browser.driver.wait (function () {
إرجاع browser.driver.getCurrentUrl (). ثم (الوظيفة (url) {
عودة url.includes ('......')؛ // يتحقق مما إذا كان عنوان url الجديد يحتوي على ما أنت عليه
تبحث عن ...
}) ؛ // هذا ينتظر حتى يتغير عنوان url إلى ما يجب أن يكون فيه ....
} ، 25000 ، "URL لم يتغير"). ثم (الوظيفة () {
// بعد تغيير عنوان url ، في الصفحة الجديدة تحقق من ذلك
// pec هي حالة منقلة متوقعة.
// ارى
http://www.protractortest.org/#/api ؟ view = ProtractorExpectedConditions
browser.wait (pec.visibilityOf (homepage.feedTitle) ، 20000) ؛
توقع (homepage.feedTitle.getText ()). toContain ('.....')؛
توقع (homepage.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
.

مرحبًا srajagopalan1712 ،

أنا أعرض مثالاً على المنقلة التي تحصل على الخطأ أدناه. هل يمكنك إرضاء النصيحة. شكرا لك

خطأ:

goog.global.setTimeout (function () {throw استثناء؛}، 0)؛
^
حدث خطأ أثناء انتظار مزامنة المنقلة مع الصفحة: "[ng: test] http://errors.angularjs.org/1.4.7/ng/test "

هذا هو الكود الخاص بي

وصف ("اختبار تطبيقي" ، الوظيفة () {

      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 في صفحة html.

كنت أرى نفس الخطأ في اختبار Angular 5. ربما يشير هذا إلى ما هو واضح ولكني لم أكن أعلم أنك بحاجة إلى بدء "خدمة ng" بشكل منفصل قبل إجراء اختبارات e2e إذا كنت تريد تصحيح الأخطاء. ها هي المناقشة حيث وجدت الإجابة:
https://github.com/angular/angular-cli/issues/4183

أمل أن هذا يساعد شخصاما!

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات