Otomatik formlarını test

2 Cevap php

Selam, ben varolan verileri yeni veri eklemek veya güncelleştirmek için yaklaşık 10 formları olan bir MVC framework ile yazılmış bir uygulama var. Şimdi ben bir özelliği genişletmek, her zaman i delik uygulamayı yeniden test var ve bu zaman alır. ben bu nasıl otomatik hale getirebilirsiniz? Ben bu birim test şeyle deneyimi yok ve bildiğim kadarıyla ben yine de benim için o kadar da kullanışlı değil kavramını anlaşıldığı gibi, ama belki de yanılıyorum. yani bir acemi dostu seviyeye :) verdiğiniz cevapları ayarlayın lütfen.

2 Cevap

Sen Selenium suite tarafından ilginizi çekebilir: temelde, bir "komutları" bir HTML arkaya olarak testler depolamak ve bir otomatik (or semi-automated, as you wish) moda sonra çalıştırmayı, bir gerçek sağlar tarayıcı.

Ve PHPUnit (the most used PHP automated testing framework) Selenyum kullanmak için birlikte bazı bileşen var - bkz Chapter 18. PHPUnit and Selenium


Basically, you generally :

  • Selenium IDE denilen firefox eklentisi kullanarak, sizin uygulamada gezinmek şekilde kaydedin
  • Daha sonra, sık sık ayar bu senaryo biraz - Örneğin, genel olarak, bazı şeyler yapmak için daha dinamik
  • Ve, son olarak, PHPUnit sınıflarını kullanarak, Selenium RC (Which is a "remote control" to a real browser) ile scenarii çalıştırın

Bu gerçek bir tarayıcıda, tekrar tekrar aynı testler çalıştırmak için izin - gerçekten uygulamasını kullanarak anlamına gelir.


A couple of notes :

  • Belli ki bir tarayıcı (bazı GUI ile bir test sunucusuna yani) başlatılan olabilir hangi bir bilgisayara ihtiyacınız
  • Bazen / çoğu zaman bu gibi bazı id, ya da şeyler eklemek için, biraz HTML şablonları uyum sağlamak zorunda
  • Selenyum IDE tarafından kaydedilen statik scenarii genellikle daha "dinamik" Yapılması gereken - bir örnek çünkü DB bir UNIQUE sınırlamasıyla, iki farklı kullanıcı kayıt için iki kez aynı e-posta adresini kullanabilirsiniz olamaz, varlık: adres dinamik olması gerekir
  • Selenyum ile testler Koşu zaman alır: Her sayfa bir tarayıcıda yüklenmesi gerekmektedir.

Selenyumun içine bir göz atın (seleniumhq.org). Bu tür bir şey yapmak uygulamalar bir bütün bucketload vardır ... Bu bir o kadar favori olur.

Bu temelde tuş vuruşlarını / tıklama kaydeder ve onları tekrar sağlar. En iyisi, bir firefox eklentisi-bu hale çok kolay sahiptir.