Saya hadir untuk Anda - templat yang sudah jadi untuk pengujian menggunakan Spring.
Pendahuluan
Tujuan artikel ini adalah untuk menunjukkan bahwa menulis autotest dengan Spring lebih mudah daripada menulis di Jawa murni.
Saya juga ingin menunjukkan bagaimana Java + Spring membuat hidup lebih mudah bagi penguji.
Untuk siapa artikel ini?
Jika Anda perlu mendukung beberapa profil (mis. WEB dan MOBILE, COM dan RU) - maka Spring hanya untuk Anda.
Template ini akan menarik bagi mereka yang ingin meningkatkan / membuat implementasi mereka, tetapi tidak tahu harus mulai dari mana.
Apa yang Anda dapatkan dari pos bacaan
Setelah membaca, Anda akan memiliki gagasan tentang bagaimana menerapkan template Anda di Java + Spring.
Apa yang perlu diinstal.
- Jawa 11.
- maven-3.6.1 dan yang lebih baru.
Manfaat Musim Semi
Pegas cukup populer jika Pegas muncul di otomasi Anda - pengembang pasti akan berterima kasih.
Saya pikir Spring sangat jarang dalam pengujian, karena tidak ada yang membatalkan tugas otomasi, dan sebagai aturan tidak ada banyak waktu untuk pengembangan, atau tidak ada sama sekali.
Spring memiliki banyak proyek berbeda, salah satunya adalah Spring Boot - yang memungkinkan Anda untuk mengkonfigurasi Spring secara otomatis dan banyak hal terjadi di bawah tenda, dengan menulis 3 baris kami mendapatkan proyek yang selesai.
Apa yang termasuk dalam proyek
Mentimun mungkin salah satu kerangka kerja pengujian otomatis paling populer yang mengimplementasikan pendekatan pengembangan berbasis perilaku .
selenide adalah kerangka kerja pembantu untuk menulis tes UI yang anggun berdasarkan selenium.
WebDriverManager - yang menangani semua pekerjaan kotor
menambahkan variabel untuk proyek System.setProperty ("webdriver.browser.driver", "/ path_to_driver / driver");
lombok - java lib yang secara otomatis menghasilkan metode seperti tostring, getter, setter.
Spring jdbc - menyederhanakan akses ke BD relasional dan membuat bekerja dengan SQL lebih mudah.
Unduh proyeknya
https://github.com/andewBr/seleniumWithSpring
Untuk memulai proyek, Anda perlu menentukan di baris VM OPTIONS:
-Dspring.profiles.active=dev-andrew

paket dan struktur kelas
package (config) - konfigurasi proyek.
kelas WebdriverBeanConfig - kelas yang paling penting, WebDriver diinisialisasi.

class DBBeanConfig - kelas tempat kita membuat kacang untuk bekerja dengan BD, beri tahu Spring di mana mendapatkan dataSource

class PropertiesConfig - kelas untuk bekerja dengan data dalam tampilan hierarki
// @Value("${habr.url}") // private String url; )) @Autowired private PropertiesConfig property; property.getWeb().getBaseurl();

package (halaman) - paket untuk menyimpan pelacak, elemen web - (seperti yang tertulis di kepala java pertama βprogram di level antarmuka.β) apa yang akan kita lakukan di masa depan)
antarmuka halaman - metode Peta <String, SelenideElement> getElements ();

semua kelas lain dalam paket ini mengembalikan MAP <kunci, elemen itu sendiri>

paket (layanan)
CommanService - kelas untuk bekerja dengan SelenideElement di mana kami mengimplementasikan pekerjaan dengan halaman

Kelas BasePageService mewarisi dari kelas CommonService dan memproses elemen.

langkah paket - bekerja dengan file fitur

resources.features -> fitur file itu sendiri
