Senaryo görünmesini bootstarp modal beklemek mümkün değildir. Aşağıda modalın HTML'sidir.Açıölçer bekleyin komut
<div class="modal-content">
<div class="modal-body note-error text-center ng-binding"> Sorry, invalid credentials! </div>
</div>
Beklenen hata metninin gerçek hata metnine eşit olup olmadığını doğrulamam gerekiyor.
Kodum
PageObject.js
var errorModal = element(by.css('.modal-body.note-error.text-center.ng-binding'));
this.getErrorText = function(){
var until = protractor.ExpectedConditions;
browser.wait(until.textToBePresentInElement(errorModal, "Sorry, invalid credentials!"), 3000, "Not able to find");
return errorModal.getText();
};
Spec.js
expect(Login_Page.getErrorText()).toMatch('Sorry, invalid credentials!');
Çıktı
Mesaj: Maalesef, geçersiz kimlik bilgileri 'eşleşecek şekilde'' Beklenen !'.
ben bu bekleme neden çalışmadığını bilmiyorum. Herhangi bir yardım çok takdir edilecektir.
Metni doğrudan getText() 'kullanarak ayıklamayı denediniz mi? 'return errorModal.getText()' –
evet bunu zaten yaptı .. –
Bu sorunu genellikle 'dom'de çok sayıda modal pencere var ve bazı tetikleyicilere dayanarak sadece 1 (veya hiçbiri) atıldığında gördüm. Ancak İletki, her zaman baskındaki ilkini alacaktır. Eğer 'html' yapısını tamamıyla yapıştırabilirseniz ... HTML'nizde 'modal-body' ile birden fazla öğeniz olup olmadığını kontrol edebilir misiniz? – AdityaReddy