Cara menggunakan AutoIT dengan Selenium Webdriver: Contoh Muat Naik Fail

Isi kandungan:

Anonim

Apa itu AutoIt?

AutoIt adalah bahasa scripting perisian percuma yang dirancang untuk mengotomatisasi windows GUI dan scripting umum. Ia menggunakan kombinasi gerakan tetikus, penekanan tombol dan manipulasi kawalan tetingkap untuk mengotomatisasi tugas yang tidak mungkin dilakukan oleh selenium webdriver.

Dalam tutorial AutoIt ini, anda akan belajar-

  • Mengapa Menggunakan AutoIt?
  • Cara memuat turun dan memasang AutoIT
  • Mencari elemen melalui elemen Pengenal dan skrip penulisan pada penyunting AutoIT.
  • AutoIT Muat naik fail di Selenium Webdriver

Mengapa Menggunakan AutoIt?

Selenium adalah alat sumber terbuka yang dirancang untuk mengotomatisasi aplikasi berasaskan web pada pelayar yang berbeza tetapi untuk menangani tetingkap GUI dan pop timbul bukan HTML dalam aplikasi. AutoIt di Selenium diperlukan kerana aktiviti berdasarkan tetingkap ini tidak dikendalikan oleh Selenium.

Ke depan dalam tutorial AutoIt ini, kita akan belajar bagaimana memuat naik fail dalam pemacu web selenium menggunakan AutoIt. Di sini kita memerlukan tiga alat untuk ini.

  • Pemandu Web Selenium
  • Editor AutoIT dan pengecam elemen
  • Tetingkap yang anda mahu automatikkan

Cara memuat turun dan memasang AutoIT

Langkah 1) : Pergi ke pautan ini.

Langkah 2) : Tuding pada menu lungsur turun 'Autoit' dan 'Autoit Editor'.

Langkah 3) Klik pada pilihan Muat turun 'AutoIT'.

Langkah 4) : Muat turun "Autoit" dengan mengklik pada butang 'Muat turun Autoit'.

Langkah 5) : Sekarang muat turun "Autoit editor" dengan mengklik butang 'Muat turun'

Langkah 6): Klik pada pautan seperti di bawah.

Selepas memuat turun, anda akan mendapat dua fail persediaan seperti yang ditunjukkan pada layar di bawah, pertama adalah persediaan AutoIt versi 3 dan kedua adalah Scitautoit3 .

Langkah 6) : Untuk Memasang AutoIT-Klik pada kedua-dua persediaan AutoIT satu persatu.

Langkah 7) : Setelah berjaya memasang - buka AutoIT Editor.

Pergi ke 'C: \ Program Files (x86) \ AutoIt3 \ SciTE'

dan klik pada fail 'SciTE.exe', editor AutoIT dibuka seperti yang ditunjukkan di skrin di bawah.

Langkah 8) : Sekarang membuka elemen Pengecam.

Pergi ke 'C: \ Program Files (x86) \ AutoIt3'

Dan klik pada fail 'Au3Info.exe', pengecam elemen terbuka seperti yang ditunjukkan dalam skrin di bawah.

Catatan: Setelah selesai dengan pengecam elemen ini, anda perlu menutup secara manual, ia tidak akan ditutup secara automatik.

Mencari elemen melalui elemen Pengenal dan skrip penulisan pada penyunting AutoIT.

Di bawah ini, kita akan melihat cara menggunakan editor AutoIt dan bagaimana mencari elemen pada tetingkap pemuat fail melalui AutoIT Element Identifier (Elemen pengenal adalah alat seperti selenium IDE, pengecam menemukan elemen tetingkap GUI atau pop timbul bukan HTML dan memberikan atribut elemen seperti tajuk , kelas , contoh ) dan cara menulis skrip pada editor AutoIT menggunakan 3 kaedah.

Sebagai Contoh: Kami akan menggunakan halaman "Tulis kepada kami" guru99 untuk memuat naik resume (fail Doc).

Setelah mengklik pada butang 'Pilih Fail' dari halaman "Tulis kepada kami", kita perlu memanggil skrip AutoIT. Kawalan segera dipindahkan ke autoit setelah mengklik 'Pilih Fail' dengan pernyataan di bawah ini yang menguruskan memuat naik bahagian.

Runtime.getRuntime (). Exec ("E: \\ AutoIT \\ FileUpload.exe"); 

Akhirnya, apabila kita menjalankan skrip selenium-ia akan mengisi borang-> muat naik resume-> Kirim borang.

Langkah 1) : Sekarang buka elemen Pengenal- Pergi ke 'C: \ Program Files (x86) \ AutoIt3' dan klik pada fail 'Au3Info.exe', tetingkap pengecam elemen akan dibuka seperti yang ditunjukkan pada skrin di bawah.

Langkah 2) : Sekarang buka tetingkap pengunggah fail dengan mengklik 'Pilih Fail' yang merupakan aktiviti tingkap.

Langkah 3) : Seret alat pencari pada elemen kotak "Nama Fail" tetingkap pemuat fail untuk mencari maklumat atribut asas seperti yang ditunjukkan pada skrin di bawah dengan anak panah.

Kita boleh mendapatkan nilai atribut iaitu tajuk = 'Open' , class = 'Edit' dan instance = '1' seperti gambar di bawah. Nilai-nilai ini digunakan dalam menulis contoh skrip AutoIT seperti yang dijelaskan di bawah langkah 4.

Langkah 4) : Kini dibuka AutoIt editor skrip, pergi ke 'C: \ Program Files (x86) \ AutoIt3 \ SciTE' dan klik pada 'SciTE.exe' seperti yang ditunjukkan dalam langkah 7 daripada 1 yang st topik.

Mula menulis skrip untuk memilih fail untuk dimuat naik.

Ada banyak kaedah yang tersedia yang dapat kita gunakan dalam skrip sesuai dengan persyaratannya, tetapi sekarang kita akan fokus pada kaedah di bawah ini kerana kaedah ini diperlukan untuk menulis skrip muat naik fail:

  1. ControlFocus ("title", "text", controlID) // Menetapkan fokus input ke kawalan tertentu pada tetingkap.
  2. ControlSetText ("title", "text", controlID, "Path file yang perlu dimuat") // Menetapkan teks kawalan.
  3. ControlClick ("title", "text", controlID) // Menghantar perintah klik tetikus ke kawalan yang diberikan.

Anda dapat melihat sejumlah metode ditampilkan seperti yang ditunjukkan pada layar di bawah. Ciri yang baik dari AutoIT adalah seperti Eclipse yang mencadangkan beberapa kaedah.

Di sini dalam editor AutoIT, kami telah memilih kaedah "fokus fokus" . Pengecam elemen sudah dibuka dan diminimumkan kerana elemen tersebut sudah dikenal pasti pada langkah 3. Di atas kita dapat membukanya dengan memaksimumkannya.

Sekarang, kita akan mengambil nilai dari pengecam elemen untuk kaedah 'ControlFocus' dan 'ControlSetText' kerana kaedah ini berfungsi pada elemen yang sama iaitu kotak teks 'Nama fail' tetapi untuk kaedah 'ControlClick' perlu menangkap nilai elemen yang berbeza iaitu 'Buka' butang.

Nilai parameter untuk kaedah ControlFocus :

Kaedah ini menetapkan fokus ke kotak teks 'nama fail' tetingkap pemuat fail.

  • Tajuk parameter pertama adalah "Buka".
  • Kami mengabaikan parameter ke-2, teks tidak diperlukan.
  • ControlID parameter ketiga adalah gabungan class = 'Edit' dan Instance = '1' iaitu ,. 'Edit1.'
    ControlFocus ("Open", "", "Edit1") // Kaedah ini menetapkan fokus input ke kotak teks 'Nama fail'. 

Nilai parameter untuk kaedah ControlSetText :

Kaedah ini digunakan untuk menentukan jalan fail yang perlu kita muat naik dalam kotak teks 'nama fail'. Dengan cara lain, kita dapat mengatakan bahawa kaedah ini digunakan untuk menetapkan teks ke elemen input.

  • Tajuk parameter pertama adalah "Buka".
  • Kami mengabaikan parameter ke-2, teks tidak diperlukan.
  • ControlID parameter ketiga adalah gabungan class = 'Edit' dan Instance = '1' iaitu, "Edit1".
  • Teks baru parameter ke-4 , kami melewati jalan fail yang perlu kami muat naik.
    ControlSetText ("Open", "", "Edit1", "E: \ Resume \ resume.doc") // Kaedah ini memasukkan jalan fail kawalan. 

Setelah mengikuti langkah di atas, jangan tutup tingkap (editor dan elemen pengenal), biarkan tetap terbuka. Anda sekali lagi perlu membuka tetingkap pengunggah fail untuk mencari atribut Butang 'Buka' seperti yang ditunjukkan pada langkah 5 di bawah.

Langkah 5) : Sekarang seret alat pencari pada elemen butang "Buka" tetingkap muat naik fail untuk mencari maklumat atribut asas.

Nilai sebelumnya (iaitu atribut kotak teks 'Nama fail') menimpa dengan nilai baru butang 'Buka'. Anda dapat melihat atribut kelas kini diubah menjadi "butang" yang sebelumnya "edit" di tetingkap pengenal elemen AutoIT.

Kita boleh mendapatkan nilai atribut iaitu tajuk = 'Open' , class = 'Button' dan instance = '1' seperti gambar di bawah. Nilai-nilai ini digunakan dalam menulis skrip Autoit seperti yang dijelaskan di bawah.

Nilai parameter untuk kaedah ControlClick :

Kaedah ini mengklik pada butang 'Buka' pada tetingkap pemuat fail.

  • Tajuk parameter pertama adalah "Buka".
  • Kami mengabaikan parameter ke-2; yang teks tidak diperlukan.
  • ControlID parameter ketiga adalah gabungan kelas dan Instance, iaitu, "Button1".
ControlClick ("Open", "", "Button1") // Kaedah ini klik pada butang 'Open' pemuat fail.

Langkah 6) : Anda dapat melihat di layar di bawah bahawa skrip AutoIT selesai untuk menangani pemuat naik fail. Sekarang anda boleh menutup pengenal elemen dan menyimpan skrip sebagai "FileUpload" di lokasi yang diberikan (E: \ AutoIT).

Sekarang anda tidak dapat melaksanakan skrip ini secara langsung, anda perlu menyusun skrip ini.

Untuk menyusun skrip ini, anda mempunyai dua pilihan " compile script x64 " dan " compile script x86 ", jika anda mempunyai windows 32-bit machine maka anda pergi dengan " compile script x86" dan untuk windows 64-bit machine maka u go with " menyusun skrip x64 . "

Langkah 7): Fail 'FileUpload exe' dihasilkan setelah penyusunan, anda dapat lihat di skrin di bawah. Sekarang kita dapat menggunakan fail ini dalam skrip pemacu web Selenium.

Sekarang kita akan menggunakan skrip AutoIT ini dalam pemacu web Selenium. Periksa di bawah untuk mendapatkan output.

AutoIT Muat naik fail di Selenium Webdriver

Dalam skrip Selenium, kami menemukan elemen-elemen formulir dan mengisi data di setiap elemen seperti yang diperlukan dan memuat naik file 'resume.doc' dengan menjalankan file exit AutoIT yang dihasilkan dari skrip AutoIT dan kemudian memungkinkan untuk mengirimkan formulir dalam skrip Selenium AutoIt.

  • Buka Eclipse dan mula menulis kod.
  • Apabila selenium mengklik butang Pilih Fail, kotak muat naik fail akan terbuka.
  • Kemudian kita perlu memanggil skrip AutoIT, kawalan segera dipindahkan ke AutoIT untuk memuat naik fail dan kemudian mengawal menghantar kembali ke selenium seperti yang ditunjukkan di bawah.

Langkah 1) : Kembangkan skrip selenium dalam gerhana.

  • Runtime class membolehkan skrip berinteraksi dengan persekitaran di mana skrip dijalankan.
  • getRuntime () dapatkan runtime semasa yang berkaitan dengan proses ini.
  • kaedah exec () melaksanakan skrip AutoIT (FileUpload.exe).
Runtime.getRuntime (). Exec ("E: \\ AutoIT \\ FileUpload.exe");

baris di atas akan memanggil skrip AutoIT dalam selenium dan memuat naik fail.

Langkah 2) : Jalankan skrip Selenium di Eclipse.

importjava.io.IOException;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;FileUpload kelas awam {utama kekosongan statik awam (String [] args) melemparkan IOException {Pemacu WebDriver = FirefoxDriver baru ();driver.get ("http://demo.guru99.com/test/autoit.html");driver.findElement (By.id ("postjob")). klik ();driver.findElement (By.id ("input_3")). sendKeys ("Gaurav");driver.findElement (By.id ("id_4")). sendKeys (" Alamat e-mel ini dilindungi dari robot spam. Anda memerlukan JavaScript yang diaktifkan untuk melihatnya.");driver.findElement (By.id ("input_4")). klik ();// baris bawah melaksanakan skrip AutoIT.Runtime.getRuntime (). Exec ("E: \\ AutoIT \\ FileUpload.exe");driver.findElement (By.id ("input_6")). sendKeys ("AutoIT di Selenium");driver.findElement (By.id ("input_2")). klik ();pemandu.tutup ();}}

Langkah 3) : Sahkan output, fail resume.doc berjaya dimuat naik dan terima kasih mesej akan dipaparkan.

Kesimpulan:

  • Editor Elemen Pengenal dan AutoIT yang dimuat turun dan dipasang.
  • Membuka laman web untuk melakukan operasi.
  • Element Identifier mengenal pasti elemen tetingkap muat naik fail.
  • Skrip AutoIT yang disiapkan dalam editor dengan bantuan pengenal Elemen.
  • Skrip Autoit digunakan dalam skrip pemacu web selenium.
  • Dilaksanakan skrip selenium.
  • Keluaran: Berjaya memuat naik fail.

Artikel ini disumbangkan oleh Gaurav Nigam