15 Haziran 2016 Çarşamba

Casperjs - UI test kütüphanesi

  Ahmet Şimşek       15 Haziran 2016 Çarşamba

Casperjs Phantomjs ve Slimerjs kullanılarak geliştirilmiş bir test kütüphanesi. Bu tarz kütüphaneler ile çok haşır neşir olmadığım için ne olduğu hakkında daha detaylı bir açıklama maalesef yapamıyorum. Ama kullanımın kolaylığı hoşuma gittiği için bir yazı paylaşmak istedim.

Casperjs ne yapar?

  • Casperjs ile test senaryoları oluşturarak belirlediğimiz süreler içerisinde bu testlerin uygulanmasını sağlayabiliyoruz. Örneğin geliştirmekte olduğumuz bir kullanıcı sistemi olduğunu varsayalım. Tarayıcı üzerinde test ederken input a kullanıcı adı ve parolayı girmek, submit butonuna basmak yada çıkış yapmak gibi tüm işlemleri komut olarak yazıyor ve test edebiliyoruz.
  • Test esnasında istediğimiz aşamada ekran görüntüsü alabiliyoruz.

Kurulum ve kullanım

Casperjs kurulumunu bağımlılıkları ile uğraşmadan docker ile imajını çekerek kullanabiliyoruz. Docker sisteminizde kurulu değilse sitesinden http://www.docker.com/ sisteminize göre kurulum bilgilerini edinebilirsiniz. https://hub.docker.com/r/zopanix/casperjs/ adresinden imajı çekelim.

docker pull zopanix/casperjs

Yükleme başarılı şekilde tamamlandığında docker images komutunu yazarak casperjs imajını ve yüklü diğer imajları görebilirsiniz.

Aşağıdaki komut ile casperjs i çalıştırıyoruz.

docker run -v /home/ahmet:/data zopanix/casperjs

-v parametresi ile oluşturduğumuz konteyner ile paylaşılacak dizini belirliyoruz. İlki mevcut sistemin dizi ikincisi ise konteynerın dizini. Çalıştırılacak dosya mevcut sistemde hangi dizinde ise /home/ahmet yerine o dizin gelmeli.

var casper = requre('casper').create()

casper.start('http://www.google.com', function() {
  this.echo(this.getTitle())
})

casper.run()

Yukarıdaki kodu google.js olarak kaydedip çalıştıralım.

docker run -v /home/ahmet:/data zopanix/casperjs google.js

Çıktı olarak Google yazısını alacağız. İlk olarak casper modülünü çağırdık start fonksiyonu ile http://www.google.com adresini çağırdık. Sonrasında this.echo fonksiyonu ile çağırılan sitenin title bilgisini konsola yazdırdık.

Yukarıdaki komut için bir alias belirleyerek casperjs i onunla çalıştırabiliriz.

casperjs() {
  sudo docker run -v $PWD/data zopanix/casperjs $1
}
alias=casperjs

Belirli bir adresin farklı tarayıcı boyutlarında ekran görüntüsünü kaydetmeyi sağlayan güzel bir örneğe şuradan ulaşabilirsiniz. 


Yukarıdaki örnek kod ile blogun farklı ekran ölçülerinde çekilmiş fotoğrafları;






Casperjs in daha etkili kullanım örnekleri için http://casperjs.readthedocs.io/en/latest/ adresini ziyaret edebilir ve diğer birçok sitede örnek kodlar bulabilirsiniz. Sonraki yazıda görüşmek üzere.
logoblog

Thanks for reading Casperjs - UI test kütüphanesi

Previous
« Prev Post

Hiç yorum yok:

Yorum Gönder