Protractor: لم يتم تنفيذ المنقلة browser.sleep ().

تم إنشاؤها على ١ يوليو ٢٠١٦  ·  3تعليقات  ·  مصدر: angular/protractor

في الأسفل كما ترى أنه من المفترض أن يتم تنفيذ browser.sleep إذا كان العميل هو XYZ ، ولكن لا يزال لم يتم تنفيذه. إذا وضعت أي console.log بعد عبارة browser.sleep ، فسيتم تنفيذ هذه العبارة (يمكنني رؤية العبارة) ولكن المتصفح browser.sleep لا ينتظر حقًا على الرغم من زيادة وقت النوم.

لماذا لا يعمل browser.sleep؟ كيف أجعلها تنتظر إذا كان العميل XYZ؟

           if (testproperties.client == 'ABC'){
                browser.ignoreSynchronization = false;
                browser.waitForAngular();
                browser.ignoreSynchronization = true;    
            }
            else if (testproperties.client == 'XYZ'){
                browser.sleep('35000');
            };

التعليق الأكثر فائدة

@ gamecheck80 إزالة علامات الاقتباس الفردية في ملف

// use like this
browser.sleep(35000);

ال 3 كومينتر

@ gamecheck80 إزالة علامات الاقتباس الفردية في ملف

// use like this
browser.sleep(35000);

سريع حقًا للتوضيح: browser.sleep يعود بوعد. النظر في هذا عن كثب:

  • browser.sleep يدعو webdriver.sleep
  • يستدعي webdriver.sleep تدفق التحكم لإنهاء المهلة
  • تستدعي timeout التأخير الذي يستدعي في النهاية طريقة setTimeout وقد تكون هذه سلسلة طالما أن هذه السلسلة عبارة عن رقم.

browser.sleep ("35000") هو إدخال مقبول.

نظرًا لأن browser.sleep يأتي بوعد ، سيظهر أنه يعمل فقط إذا انتظرت انتهاء الوعد.

describe('browser', function() {
  it('should sleep', function() {
    browser.get('http://angularjs.org');

    // does not work
    // browser.sleep(10000);
    // console.log('waited 10 seconds?');
    // this does not work and "waited 10 seconds?" appears immediately after navigating

    // after sleeping then print "waited 10 seconds"
    browser.sleep(10000).then(function() {
      console.log('waited 10 seconds');
    });
  });
});

نأمل أن يساعد هذا. لمزيد من المساعدة ، يرجى طرح أسئلة الدعم الخاصة بك على StackOverflow أو قائمة مناقشة مجموعة Google أو Gitter . لمزيد من المعلومات ، يرجى الرجوع إلى https://github.com/angular/protractor/blob/master/CONTRIBUTING.md#questions

شكرا لك!

browser.sleep (10000) .then (function () {
console.log ("انتظر 10 ثوان") ؛
}) ؛
لا يعمل استخدام هذا مع Angular 6 والإصدار 5.4.1 منقلة ، على الأقل هذا ما أراه

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