Di bawah ini seperti yang Anda lihat bahwa browser.sleep seharusnya dieksekusi jika klien adalah XYZ, tetapi tetap tidak dieksekusi. Jika saya meletakkan console.log setelah pernyataan browser.sleep, pernyataan itu akan dieksekusi (saya dapat melihat pernyataan tersebut) tetapi browser.sleep tidak benar-benar menunggu meskipun berapa lama waktu tidur saya bertambah.
Mengapa browser.sleep tidak berfungsi? Bagaimana cara membuatnya menunggu jika klien XYZ?
if (testproperties.client == 'ABC'){
browser.ignoreSynchronization = false;
browser.waitForAngular();
browser.ignoreSynchronization = true;
}
else if (testproperties.client == 'XYZ'){
browser.sleep('35000');
};
@gamecheck80 hapus tanda kutip tunggal di
// use like this
browser.sleep(35000);
Sangat cepat untuk klarifikasi: browser.sleep mengembalikan janji. Melihat ini dengan cermat:
browser.sleep('35000') adalah masukan yang dapat diterima.
Karena browser.sleep mengembalikan sebuah janji, itu hanya akan tampak berfungsi jika Anda menunggu janji itu selesai.
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');
});
});
});
Semoga ini membantu. Untuk bantuan lebih lanjut, ajukan pertanyaan dukungan Anda di StackOverflow , daftar diskusi Google Group , atau Gitter . Untuk informasi lebih lanjut, silakan referensi https://github.com/angular/protractor/blob/master/CONTRIBUTING.md#questions
Terima kasih!
browser.sleep(10000).then(function() {
console.log('menunggu 10 detik');
});
Menggunakan ini dengan Angular 6 dan busur derajat versi 5.4.1 tidak berfungsi, setidaknya itulah yang saya lihat
Komentar yang paling membantu
@gamecheck80 hapus tanda kutip tunggal di