Angular E2E testini yavaşça iletici kullanarak yazmanın bir yolu var, böylece neler olduğunu izleyebilirim?İletki yavaş çalışacak şekilde üretilebilir mi?
cevap
Bunu yapmak benim çözümümdür. Bu nedenle, temel olarak, her bir eklenmiş eylemden önce ek olarak 100 ms'lik bir gecikmeyi sıralayan geçerli kontrol akışı execute
işlevi için bir dekoratör oluşturdum.
Bu
herhangi testler çağrılır önce (describe
bloğun dışında) çalıştırılması gerekiyor
var origFn = browser.driver.controlFlow().execute;
browser.driver.controlFlow().execute = function() {
var args = arguments;
// queue 100ms wait
origFn.call(browser.driver.controlFlow(), function() {
return protractor.promise.delayed(100);
});
return origFn.apply(browser.driver.controlFlow(), args);
};
Bu çılgın :) +1 – alecxe
Bu sadece mükemmel! İletici ile bilet açacağım - her bir komutu kutunun dışında bırakma yeteneğini desteklemeli - hata testi başarısız olduğunda yardımcı olmaktan daha fazlası. – WTK
Bu sweeeeet – Melbourne2991
Aynı yorumda George Stocker'ın dediği gibi, bunu neden yapmak istediğinizi bilmiyorum ... ama testinizde istediğiniz zaman her zaman bir uyku ekleyebilirsin.
browser.sleep(6000);
Tamam, teşekkürler ... Sanırım aradığım her söz tamamlandıktan sonra kontrol akışına kısa bir uyku ekleyeceğim bir şey. – cortfr
Teşekkürler, Bir çekicilik gibi çalışır! :) –
: In
browser.pause();
hata ayıklama modunu kullanarak terminalinizde şu çıktıyı görürsünüz:
Sonra olabilir: repl
girerek d
c
- Çalıştır komutunu sonraki ayıklayıcı açıklamaya devam et (
browser.pause()
sonraki)
Um, Ne? Bunu neden istiyorsun? –
Belirli bir testi çalıştırıp etkileşimin gerçekleşmesini izlemek istiyorum. Bazen hata mesajları ezoteriktir ve sadece eylemin gerçekleşmesini izlemek benim asıl meseleyi daha hızlı tespit etmeme, düzeltmemize ve hata mesajını daha sonra güncellememe izin verir. Teşekkürler! – cortfr