how handle windows pop up selenium using autoit
Bu Eğitimde, Otomasyon AutoIT Aracını Kullanarak Kapsam Dışına Çıktığında Selenyumda Windows Açılmasını İşlemeye Yönelik Çeşitli Yöntemler Açıklanmaktadır:
AutoIT, Selenium'a Windows Kimlik Doğrulaması açılır pencereleri, Flash uygulamaları, Masaüstü uygulaması vb. Gibi açılır pencereleri işlemesine yardımcı olan bir üçüncü taraf araçtır.
Selenium yalnızca web uygulamalarını otomatikleştirmekle sınırlıdır. Bazı durumlarda, uygulamada Selenium'un işleyemediği bir Windows açılır penceresi görünebilir. AutoIT, bu tür senaryoların üstesinden gelmek için, Windows açılır penceresini ve masaüstü uygulamalarını otomatikleştiren bir yardım eli verir.
=> Selenium Eğitim Serisini Herkes İçin Görmek İçin Burayı Ziyaret Edin.
Ne öğreneceksin:
AutoIT Aracına Genel Bakış
İşte bir Video Eğitimi:
AutoIT Kullanarak Windows Açılır Penceresini Yönetin
AutoIT, Windows tabanlı uygulamaları işlemek için kullanılan üçüncü taraf bir araçtır. Kullanılan betik diline VBScript denir.AutoIt ayrıca ücretsiz bir yazılımdır. Bir kombinasyon kullanırselenyum web sürücüsü tarafından yapılması mümkün olmayan eylemleri otomatikleştirmek için fare hareketi ve klavye vuruşları.
AutoIt, Selenium Otomasyon komut dosyasında kullanılabilmesi için .exe formatında kullanılır.
Bakalım bir misal, burada ihtiyacımız olacak bir dosya yükle uygulamaya.
Senaryo, LinkedIn'de bir profil resmi yüklemektir. Bu senaryo için Test adımları şunlardır:
- URL girin
- Geçerli bir kullanıcı adı, şifre girin ve oturum açın.
- Profil yükleme simgesine tıklayın.
- Resim yükleme yolunun girildiği Windows açılır penceresi görünür.
3. Adıma kadar Selenium Otomasyon bunu halledebilir. Windows açılır penceresi göründüğünde, bu parçayı otomatikleştirmek için AutoIT komut dosyası kullanılır.
Şimdi, Windows açılır penceresindeki eylemlerin nasıl otomatikleştirileceğine bir göz atalım.
Bu 4 farklı şekilde ele alınabilir.
- Belirli bir dosyayı yüklemek için Windows Komutlarını kullanma.
- Bir dosya yüklemek için Kontrol Komutlarını kullanma.
- Yüklenecek DosyaAdı'nı belirtmek için komut satırı bağımsız değişkenini kullanma.
- AutoIT kayıt aracını kullanma.
Tüm komut dosyaları kullanılarak oluşturulur AutoItScriptEditor, AutoIt klasör paketinde bulunan.
Şu yöne rotayı ayarla AutoIt3> SciTE> SciTE.exe ve ScriptEditor uygulamasını açın.
# 1) Windows Komutlarını Kullanma
AutoIt'de çeşitli işlevlere sahibiz.
Bir bakabilirsin İşte. Şimdi Windows açılır eylemlerini otomatikleştirmek için önce eylemleri analiz edelim. Bunlar şunları içerir:
- Odağı mevcut pencereye ayarlayın.
- FileName Box'a yüklenecek dosya adının yolunu girin.
- Aç düğmesine tıklayın veya Klavyede Enter tuşuna basın.
Yukarıdaki noktaları ayrıntılı olarak anlayalım:
- Odağı mevcut pencereye ayarla
WinWaitActive : İmlecin odağını belirtilen Pencere adına ayarlar. Bu durumda, pencerenin başlığı 'Açık' tır. Bu yüzden komutu şu şekilde belirtiyoruzWinWaitActive ('Aç').
Lütfen aynı Windows başlığının her tarayıcı için farklı olduğunu unutmayın.
Söyle, Firefox için , 'Dosya Yükleme', - Yani AutoIT komutuWinWaitActive ('Dosya Yükleme').
IE için, bu 'Yüklenecek Dosya' dır - Dolayısıyla, AutoIT komutuWinWaitActive ('Yüklenecek Dosya')
Chrome için 'Açık' dır - Yani AutoIT komutuWinWaitActive ('Aç')
Otomasyon için kullandığınız tarayıcıya göre pencere başlığını belirlemelisiniz.
iki. FileName Box'a yüklenecek dosya adının yolunu girin
Gönder - klavye vuruşlarını gönderir veya başka bir deyişle, klavye eylemlerini simüle eder.
Eylemler Enter Tuşu, Shift Tuşu vb. Üzerine basıyor olabilir. VEYA bir dize, sayı vb. Yazarak. Bu örnekte, dosyaAdı'nı yazmam gerekiyor, bu nedenle komutu pencereye Dosya adını girmek için kullanıyorum. -Gönder ('D: passport.jpg')
3. Aç düğmesine tıklayın veya Klavyede Enter'a basın
Gönder ({ENTER})- pencereye ENTER tuş vuruşunu gönderir ve bu da yükleme işlemini tamamlar.
Windows 7 64 bit için en iyi ücretsiz yedekleme yazılımı
Herhangi bir yerde oluşturulan komut dosyasını kaydedin. .Au3 biçiminde kaydedilecektir. Kaydedildikten sonra, .au3 dosyasına sağ tıklayın ve onu derleyin.
Derlemeden sonra .exe formatına (yürütülebilir format) dönüştürülür. Bu dosya Selenium komut dosyasında kullandığımız dosyadır.
.Exe dosyası oluşturulduktan sonra, içindeki komutları çalıştırmak için Selenium Otomasyon komut dosyasındaki dosyayı kullanabilirsiniz.
Runtime.getRuntime.exec ('autoIt exe dosya adını burada belirtin')
# 2) Kontrol Komutlarını Kullanma
AutoIT'de eylemleri gerçekleştirmek için belirli kontrol komutlarımız var. AutoIT'deki kontrol komutlarının listesi aşağıdadır.
AutoIT'nin bu kontrol komutlarını kullanarak aynı dosya yükleme senaryosunun nasıl otomatikleştirileceğini görelim.
Şimdi sırayla Windows açılır penceresini otomatikleştirmek için aşağıdaki eylemler gerçekleştirilmelidir:
- Odağı mevcut pencereye ayarlayın.
- FileName Box'a yüklenecek dosya adının yolunu girin.
- Aç düğmesine tıklayın veya Klavyede Enter tuşuna basın.
Yukarıdaki noktaları ayrıntılı olarak anlayalım:
- Odağı mevcut pencereye ayarla
ControlFocus:Odağı belirtilen öğeye ayarlar. Bu durumda, odağı düzenleme metin kutusuna ayarlıyoruz.
Açıklamasına baktığınızda, bir veya daha fazla parametre gerektirdiğini görebilirsiniz. AutoIt'in Windows Info aracını kullanarak bu parametreleri geçirebiliriz.
Haydi AutoIT uygulamasını aşağıdaki gibi açın:
Windows Bilgi aracı aşağıdaki gibi açılır:
Bu araç, Windows uygulamasındaki / açılır penceresindeki öğeleri incelemek için kullanılır.
Windows açılır penceresindeki her bir öğenin çeşitli özelliklerini elde etmek için, Windows Bilgi Aracının 'Bulucu' simgesini sürükleyin ve aşağıdaki gibi özelliklerini görüntülemek için öğeye tıklayın.
Araçta gösterilen özellikleri var.
DosyaAdı kutusu için özellikler ve karşılık gelen değerleri şunlardır:
- Başlık - Açık
- ClassName - Düzenle
- Örnek - 1
Bu özellikleri kullanarak, kontrol komutu için parametreleri geçirebiliriz.
Şimdi, Odağı DosyaAdı kutusuna ayarlamak için, aşağıdaki gibi 'Kontrol Odağı' komutunu çağırıyoruz:
- Sözdizimi: ControlFocus ('başlık', 'metin', kontrol kimliği)
- 'Başlık', araçta görüntülenen başlığa karşılık gelir.
- Denetim Kimliği, araçtaki SınıfAdı + Örneğinin birleşimidir
ControlFocus ('Aç', '', 'Düzenleme1')
Nerede,
- Açık - başlıktır
- Düzenleme1 - denetim kimliğidir (denetimKimliği = SınıfAdı + Örnek)
iki. FileName Box'a yüklenecek dosya adının yolunu girin
ControlSetText - öğeye giden metni yazar.
- Sözdizimi: ControlSetText ('başlık', 'metin', kontrol kimliği, 'yeni metin' (, bayrak = 0))
Bizim durumumuzda, metin kutusunda dosya adı var.
ControlSetText ('Aç', '', 'Düzenleme1', 'D: passport.jpg')
Nerede,
- Açık - başlıktır
- Düzenleme1 - denetim kimliğidir (denetimKimliği = SınıfAdı + Örnek)
- D: passport.jpg - yüklenecek dosya adıdır
3. Aç düğmesine tıklayın veya Klavyede Enter'a basın
ControlClick - eleman üzerinde bir tıklama işlemi gerçekleştirir. Bu örnekte, 'Aç' düğmesini tıklıyoruz
- Sözdizimi: ControlClick ('başlık', 'metin', kontrol kimliği (, düğme = 'sol' (, tıklamalar = 1 (, x (, y)))))
Bizim durumumuzda, Windows açılır penceresindeki 'Aç' düğmesine tıklamalıdır.
ControlClick ('Aç', '', 'Düğme1')
Nerede,
- Açık - başlıktır
- Button1 - kontrol kimliğidir (controlID = ClassName + Instance)
Selenium kodundan .exe dosyasını şu komutu kullanarak çağırıyoruz:Runtime.getRuntime.exec ('autoIt exe dosya adını burada belirtin')
NOT: Tek bir örnekte birden fazla dosya yüklememiz gerektiğinde, bir değişkendeki tüm dosya adlarını belirleyebilir ve değişken adını komutta iletebiliriz.
ControlFocus - odağı öğeye ayarlar.
$ dosyalar - oluşturulan değişkendir ve yüklenecek metin / dosya adını tutar.
ControlSetText - yüklenecek dosya adlarına sahip değişkeni 'Düzenle' öğesine iletir.
ContolClick - eleman üzerinde bir tıklama eylemi gerçekleştirir.
# 3) Yüklenecek Dosya Adını Belirtmek İçin Komut Satırını Kullanma
Aynı prosedüre, Dosya adının kullanıcıdan alındığı farklı bir şekilde yaklaşılabilir. Bu, Komut Satırı yaklaşımı kullanılarak yapılır.
AutoIT'de dosya adını doğrudan belirtmek yerine, aşağıdaki gibi Selenium kodunda iletiyoruz:
AutoIT Komut Dosyası: (Upload.exe)
ControlFocus(“Open”,””,”Edit1”) ControlSetText(“Open”,””,”Edit1”,$cmdLine(1)) ControlClick(“Open”,””,”Button1”)
Selenyum Kodunda:
Bunu şu şekilde belirtiyoruz:
Runtime.getRuntime.exec(“Path of .exe file”+””+ “FileToUpload”)
Bu durumda, olacak
Runtime.getRuntime.exec(“D:automationUpload.exe”+””+ “D:automationimage.jpg”)
Oluşturulan dosyayı kaydedin ve yürütülebilir biçime dönüştürmek için derleyin.
# 4) AutoIT'in Kayıt Özelliğini Kullanma
Bu özellik yalnızca 3.3.14.0'ın altındaki sürümlerde mevcuttur. Bundan daha büyük sürümler bu özelliği desteklemez.
Kayıt aracını açmak için AutoIt3> Ekstralar> Au3Record> Au3Record.exe'ye gidin.
Bunu kullanmaya başladığımızda, fare etkileşimi her ekran çözünürlüğü için değiştiğinden, 'Fareyi Kaydet' seçeneğinin işaretini kaldırdığınızdan her zaman emin olun. Her zaman klavye vuruşlarını kaydedin.
Araçta 'Kaydetmek İçin Tıklayın' ı seçin ve işlemler buna kaydedilir.
Kaydı bitirdiğinizde, 'Durdurmak İçin Tıklayın' ı seçin ve dosyayı kaydedin
Gerçekleştirdiğiniz her eylem için oluşturulan komutları görmek için kaydedilen .au3 dosyasını açabilirsiniz.
Komut dosyasını derleyin ve .exe dosyasına dönüştürün.
Oluşturulan .exe dosyası, aşağıdaki gibi yürütmek için doğrudan Selenium kodunda kullanılabilir:
Runtime.getRuntime.exec(“D:automationRecord.exe”)
Sonuç
Bu nedenle, kimlik doğrulama veya dosya yükleme veya dosya açma gibi herhangi bir Windows açılır penceresi, Selenium'a komut dosyası eklenerek AutoIT kullanılarak işlenebilir.
Sonraki bölümde, Görüntü tanıma tekniğini kullanarak uygulamaları otomatikleştirmek için kullanılan Sikuli adlı başka bir üçüncü taraf aracı öğreneceğiz.
=> Sıfırdan Selenyum Öğrenmek İçin Burayı Ziyaret Edin.
Önerilen Kaynaklar
- Selenium WebDriver'da Uyarılar / Açılır Pencereler Nasıl İşlenir - Selenium Eğitimi # 16
- Salatalık Selenium Eğitimi: Salatalık Java Selenium WebDriver Entegrasyonu
- İlk 10 Selenyum İstisnası ve Bunlarla Nasıl Başa Çıkılır (Tam Kod)
- Selenium WebDriver'a Giriş - Selenium Eğitimi # 8
- AutoIt Eğitimi - AutoIt İndirme, Yükleme ve Temel AutoIt Komut Dosyası
- ChromeDriver Selenium Eğitimi: Chrome'da Selenium Webdriver Testleri
- 30+ En İyi Selenyum Öğreticisi: Gerçek Örneklerle Selenyum Öğrenin
- Selenium Uzmanları için Yarı Zamanlı Serbest Çalışma Fırsatı