Saya akan segera mulai mengkode beberapa tes otomatis presentasi kami. Tampaknya semua orang merekomendasikan WatiN dan Selenium . Mana yang Anda sukai untuk pengujian otomatis formulir web ASP.NET? Manakah dari produk ini yang bekerja lebih baik untuk Anda?
Sebagai catatan, saya perhatikan bahwa WatiN 2.0 telah ada di CTP sejak Maret 2008, apakah itu sesuatu yang perlu dikhawatirkan?
asp.net
selenium
automation
automated-tests
watin
DavGarcia
sumber
sumber
Jawaban:
Hanya ingin mengatakan bahwa saya saat ini sedang bekerja keras pada rilis beta WatiN 2.0 di suatu tempat di Q1 tahun 2009. Ini akan menjadi peningkatan besar untuk versi CTP 2.0 saat ini dan pada dasarnya akan memberi Anda fungsi yang sama untuk mengotomatiskan FireFox dan IE sebagai versi 1.3.0 menawarkan untuk mengotomatisasi IE.
Jadi tidak ada masalah di sana.
Semoga ini bisa membantu dalam menentukan pilihan Anda Jeroen van Menen Lead dev WatiN
sumber
Jika Anda ingin melakukan investasi jangka panjang yang serius dalam kerangka kerja yang akan terus ditingkatkan dan didukung oleh komunitas, Selenium mungkin merupakan taruhan terbaik Anda. Sebagai contoh, saya baru saja menemukan info ini di blog Matt Raible:
Saya juga pergi ke salah satu pertemuan Selenium baru-baru ini dan mengetahui bahwa Google menempatkan sumber daya serius untuk meningkatkan Selenium dan mengintegrasikannya dengan WebDriver, yang merupakan alat pengujian otomatis yang dikembangkan oleh Simon Stewart. Salah satu keuntungan utama dari WebDriver adalah ia mengontrol peramban itu sendiri daripada berjalan di dalam peramban sebagai aplikasi Javascript, yang berarti bahwa batu sandungan utama seperti masalah "asal yang sama" tidak akan lagi menjadi masalah.
sumber
Kami telah menguji keduanya dan memutuskan untuk menggunakan WaTiN. Seperti yang orang lain tunjukkan, Selenium memang memiliki beberapa fitur bagus yang tidak ditemukan di WaTiN, tetapi kami mengalami masalah dalam membuat Selenium berfungsi dan setelah kami melakukannya, itu pasti lebih lambat saat menjalankan tes daripada WaTiN. Jika saya ingat dengan benar, masalah pengaturan yang kami hadapi berakar dari fakta bahwa Selenium memiliki aplikasi terpisah untuk mengontrol peramban aktual tempat WaTiN melakukan semuanya dalam proses.
sumber
Saya sudah mencoba keduanya dan di sini adalah pemikiran awal saya ...
Ingin
Yang baik
Keburukan
Contoh Skrip (C #). Anda tidak dapat melakukan ini dengan Selenium (setidaknya saya tidak mengetahuinya):
Selenium
Terlepas dari segalanya, saya akhirnya pergi dengan WatiN; Saya terutama berniat untuk menulis aplikasi pengikis layar kecil dan ingin menggunakan LINQPad untuk pengembangan. Melampirkan ke contoh IE jarak jauh (yang saya tidak menelurkan diri) adalah nilai tambah yang besar. Saya dapat bermain-main dalam contoh yang ada ... kemudian menjalankan sedikit skrip ... kemudian bermain-main lagi dll. Ini lebih sulit untuk dilakukan dengan Selenium, meskipun saya kira "jeda" dapat tertanam dalam skrip selama waktu yang saya bisa biola langsung dengan browser.
sumber
Perbedaan terbesar adalah bahwa Selenium memiliki dukungan untuk peramban yang berbeda (bukan hanya IE atau FF, lihat http://seleniumhq.org/about/platforms.html#browsers .
Selain itu, Selenium memiliki server remote control ( http://seleniumhq.org/projects/remote-control/ ), yang artinya Anda tidak perlu menjalankan browser di mesin yang sama dengan kode tes yang sedang dijalankan. Karena itu Anda dapat menguji aplikasi Web Anda. pada platform OS yang berbeda.
Secara umum saya akan merekomendasikan menggunakan Selenium. Saya telah menggunakan WatiN beberapa tahun yang lalu, tetapi saya tidak puas dengan stabilitasnya (mungkin sudah membaik sekarang). Nilai tambah terbesar untuk Selenium bagi saya adalah fakta bahwa Anda dapat menguji aplikasi Web. pada browser yang berbeda.
sumber
Tidak juga. Gunakan Coypu. Itu membungkus Selenium. Jauh lebih tahan lama. https://github.com/featurist/coypu
Perbarui Ye Oliver Anda benar. Ok kenapa lebih baik? Secara pribadi saya telah menemukan driver Selenium untuk IE khususnya sangat rapuh - ada beberapa pengecualian driver 'standar' yang saya temukan lagi ketika mengendarai Selenium untuk Tes Unit di situs web ajax.
Apakah saya menyebutkan saya ingin menulis skrip saya di c # sebagai Proyek Uji? Ya Tes Penerimaan dalam penerapan pembangunan berkelanjutan.
Nah penawaran Coypu dengan di atas. Ini adalah pembungkus untuk Selenium yang memungkinkan perlengkapan tes seperti,
... yang akan memunculkan browser (yang dapat dikonfigurasi) dan menjalankan skrip. Ini berfungsi dengan baik dengan wilayah cakupan dan SANGAT diperpanjang.
Ada lebih banyak contoh di GitHub dan seperti yang disebutkan Olvier di bawah ini, video Adrian sangat bagus. Saya pikir itu adalah cara terbaik untuk mendorong tes berbasis browser di dunia .Net dan mencoba untuk mengikuti namanya Ruby
capybara
sumber
Saya sudah menggunakan keduanya, mereka berdua sepertinya berfungsi ok. Anggukan saya untuk Selenium karena tampaknya memiliki dukungan Ajax yang lebih baik. Saya percaya WaTiN telah matang meskipun sejak terakhir saya menggunakannya jadi itu harus memiliki hal yang sama.
Hal terbesar adalah lingkungan pengembangan mana yang Anda sukai? Selenium dan Watin memiliki perekam tetapi Selenium ada di browser dan watin ada di visual studio. + dan - untuk keduanya.
sumber
Hingga saat ini kami adalah Microsoft Shop murni untuk memberikan solusi untuk perusahaan dan mengikuti WatiN. Ini mungkin berubah di masa depan.
Sebagai sumber yang lebih baru:
Microsoft mencetak di MSDN Magazine 12/2010 sebuah BDD-Primer dengan kombinasi SpecFlow dengan WatiN (cool BDD-Behaviour Driven Development). Penulisnya, Brandon Satrom (msft Developer Evangelist) juga telah memposting video Webcast pada bulan Desember 2010 yang menguraikan secara rinci 1: 1 temuannya di atas.
Ada Whitepaper dari 04/2011 tentang Mendukung ATDD / BDD dengan SpecLog, SpecFlow dan Team Foundation Server (Pengembangan Penerimaan Berbasis Tes / Pengembangan Berbasis Perilaku) dari Christian Hassa , yang timnya membangun SpecFlow.
sumber
Saya menggunakan Watin, tetapi belum menggunakan Selenium. Saya dapat mengatakan saya bangun dan berlari dengan cepat di Watin dan memiliki beberapa masalah. Saya tidak bisa memikirkan apa pun yang ingin saya lakukan yang tidak bisa saya pahami. HTH
sumber
Saya biasanya menggunakan Selenium, terutama karena saya suka plugin Selenium IDE untuk FireFox untuk merekam titik awal untuk pengujian saya.
sumber
Saya merekomendasikan WebAii karena itulah keberhasilan saya dan ketika menggunakannya, sedikit keluhan saya. Saya tidak pernah mencoba Selenium dan saya tidak ingat banyak menggunakan WaTiN, paling tidak sampai pada titik di mana saya bisa membuatnya bekerja dengan sukses. Saya tidak tahu kerangka apa pun yang berhubungan dengan dialog Windows dengan anggun, meskipun WebAii memiliki antarmuka untuk mengimplementasikan penangan dialog Anda sendiri.
sumber
Saya mempertimbangkan untuk menggunakan keduanya. Saya menggunakan perekam untuk Selenium untuk membuat beberapa tes dalam FF. Saya mencoba melakukan hal yang sama di Watin dan menemukan bahwa Watin Recorder (2.0.9.1228) benar-benar tidak berharga untuk situs kami . Tampaknya rendering situs di IE6 - membuat situs kami secara efektif tidak dapat digunakan untuk merekam. Kami tidak mendukung IE6. Saya tidak dapat menemukan cara untuk mengubah browser yang digunakannya. Saya hanya menemukan satu Watin Recorder di luar sana. Jika ada lebih dari satu, atau yang terus diperbarui, beri komentar.
IDE Perekam Selenium untuk Firefox mudah digunakan dan mengirimkan tes ke C #. Tidak hebat dalam hal ini. Saya tidak bisa mendapatkan suite tes porting untuk bekerja, meskipun membaca satu atau dua posting blog yang memiliki solusi. Jadi ada sedikit manipulasi kode yang dihasilkan. Namun, ia bekerja 90% dan itu lebih baik daripada alternatifnya.
Untuk uang / waktu saya, Selenium lebih unggul hanya untuk kemudahan membangun tes baru . IE tidak memiliki toolbar pengembang yang bagus yang hampir sama bagusnya dengan Firebug , jadi saya memulai pengembangan saya di Firefox, jadi memiliki perekam yang berfungsi baik di Firefox adalah bonus yang sangat besar.
Kesimpulan saya di sini sangat mirip dengan kutipan demokrasi oleh Churchill: Selenium adalah bentuk terburuk dari pengujian UI otomatis. Kecuali untuk yang lainnya.
sumber
Dengan risiko pergi bersinggungan, saya akan merekomendasikan Ax / WatiN. Ax memungkinkan tes ditulis dalam Excel oleh Penguji 'Manual' tanpa pengetahuan tentang 'bahasa' tes yang mendasarinya. Memang perlu 'Teknisi' untuk menulis tindakan dipesan lebih dahulu (IE. Hari ini saya harus melakukan pencarian Tabel & referensi silang yang sedikit rumit) tetapi sekali ditulis tindakan dapat digunakan dalam tes oleh penguji non-techy.
Saya juga mendengar bahwa proyek UK Government Gateway (yang saya percaya memiliki 6K + tes tes otomatis) baru-baru ini mengangkut semua tes mereka dari Axe / Winrunner ke Axe / Watin dalam waktu seminggu !! Dan banyak dari tes yang cukup rumit - saya tahu ketika saya mengerjakannya beberapa tahun yang lalu ...
Saya sedang melihat Selenium saat ini, karena Klien potensial menggunakannya. Tapi saya sarankan melihat Ax sebagai lapisan di atas alat 'kuda kerja'.
sumber
Jika Anda harus mengakses iframe, dialog modal, dan lintas domain iframe, WatiN adalah cara yang tepat. Selenium tidak bisa menangani iframe yang dilontarkannya dengan pengecualian commandtimeout. WatiN Anda bisa melakukan lebih banyak hal terutama jika situs web menggunakan hal-hal spesifik IE seperti ShowModalDialog dll. WatiN menangani semuanya dengan sangat baik. Saya bahkan bisa melakukan akses iframe lintas domain.
sumber
Anda harus melakukan keduanya jika Anda perlu melakukan pengujian IE dan FF, tetapi mereka hanya akan bekerja dengan baik untuk pengujian presentasi. Mereka tidak dapat mendeteksi jika satu elemen sedikit mati, hanya saja elemen-elemennya ada. Saya tidak tahu apa-apa yang bisa menggantikan mata manusia untuk pengujian UI / presentasi, meskipun Anda bisa melakukan beberapa hal untuk membantunya (ambil tangkapan layar dari halaman pada setiap langkah untuk ditinjau pengguna).
sumber