Selam. Yine işime yarayan bir özelliği paylaşmak istiyorum. CodeceptJS’te Script Çalıştırma hakkında bir yazı olacak bu.
Bir web sayfasına girdiniz ve geliştirici konsolunu açarak bir şeyler yaptınız. Eğer jQuery ile geliştirilen bir web sitesi ise aşağıdaki kodu yazmış olabilirsiniz
$('.news-title').text('Şok Şok Şok')
Bu gibi işlemlerle başlık değişiyor mu vs. ne olduğunu görebiliyorsunuz en nihayetinde bir amaç uğruna bunu yapıyorsunuz.
Yine Vue ile kodlanmış olan bir projede yapmak istediğim testte buna ihtiyacım oldu. Native date pickerın change event’ini tetiklemem gerekiyordu. Bunun için yardımcı fonksiyon olan executeScript
fonksiyonunu kullanabilirsiniz. Aynı fonksiyonun bir de async işlemler için olanı da mevcuttur.
Aşağıdaki örnekte bir tarih elementinin değerini değiştirip ona change event’ini atayacağım.
I.executeScript(() => { const el = document.querySelector('#tarih1') const event = new Event('change'); el.value = '2018-12-01' el.dispatchEvent(event) })
Bu sayede eğer bu elementin değerinin değişmesine bağlı gerçekleşen HTTP istekleri varsa bunlaru simule edebilirsiniz.
Bu arada sen ne diyon değişik diyenler var ise bir önceki giriş yazısını okuyabilirler.
Kankanız ve Mütevazı Anlatıcınız olarak size bir şeyler aktarmaya çalıştım. Umarım faydalı olur. İyi çalışmalar.