Selenium ve Uygulamalarında Eylem Sınıfı Nedir?
Yayınlanan: 2021-05-19Selenium'daki Eylem Sınıfı, klavye ve fare olaylarını yönetmek için Selenium tarafından sunulan yerleşik bir özelliktir. Kontrol tuşu, sürükle ve bırak ve daha pek çok işlem ve olayı yönetebilir. Eylem Sınıfının işlemleri, Selenium Web sürücüsünün gelişmiş kullanıcı etkileşimi API özelliği kullanılarak uygulanır.
İçindekiler
Sık Kullanılan Klavye ve Fare Olayları
Özel klavye ve fare olayları, Gelişmiş Kullanıcı Etkileşimleri API'sı kullanılarak işlenir. Bu API, bu olayları yürütürken gerekli olan Action ve Actions sınıfını içerir. Aşağıda, Action sınıfında sağlanan yaygın olarak kullanılan klavye ve fare olayları verilmiştir.
Yöntem | Tanım |
Tıkla ve Tut() | Geçerli fare konumunda bırakmadan tıklamak için. |
bağlam-tıkla() | Geçerli fare konumunda bir bağlam tıklaması (sağ tıklama fare eylemi) gerçekleştirir |
çift tıklama() | Geçerli fare konumunda çift tıklama eylemi gerçekleştirir |
sürükle ve bırak (kaynak, hedef) | Kaynak eleman konumunda tıkla ve tut işlemini gerçekleştirir, ardından hedef eleman konumuna hareket eder ve fareyi serbest bırakır. parametreler: düğme olaylarını taklit etmek için kaynak eleman. Fareyi hareket ettirmek ve bırakmak için hedef eleman |
dragAnd DropBy(kaynak, x-ofset, y-ofset) | Kaynak öğe konumunda tıkla ve tut gerçekleştirir, belirtilen bir uzaklığa göre hareket eder ve ardından fareyi serbest bırakır. parametreler: düğme olaylarını taklit etmek için kaynak eleman. xOffset- yatay hareket ofsetini belirtmek için. yOffset- dikey hareket ofsetini belirtmek için. |
keyDown(değiştirici_anahtar) | Değiştirici tuşa basma olayını gerçekleştirir. Değiştirici tuşu, basıldığını varsayarak sonraki etkileşimlerle serbest bırakmaz. parametreler: değiştirici_key, Keys.SHIFT, Keys.ALT veya Keys.CONTROL gibi değiştirici tuşlardan herhangi birini temsil eder. |
yukarı tuş(değiştirici_key) | Bir anahtar bırakma gerçekleştirir. parametreler: değiştirici_key, Keys.SHIFT, Keys.ALT veya Keys.CONTROL gibi değiştirici tuşlardan herhangi birini temsil eder. |
moveByOffset(x-ofset, y-ofset) | Fareyi belirtilen uzaklığa göre geçerli konumdan hareket ettirir. parametreler: yatay ofseti belirtmek için x-offset. Negatif bir değer, farenin sola hareket ettiği anlamına gelir. dikey ofseti belirtmek için y-offset. Negatif bir değer, farenin aşağı doğru hareket ettiği anlamına gelir. |
moveToElement(toElement) | Fareyi öğenin ortasından ortasına hareket ettirir. parametreler: taşınacak öğeyi temsil edecek öğe. |
serbest bırakmak() | Geçerli fare konumunda basılan fare sol fare düğmesini serbest bırakır. |
sendKeys(onElement, karakter dizisi) | Öğeye bir dizi tuş vuruşu gönderir. parametreler: Tuş vuruşlarını alacak öğeyi temsil eden öğe, genellikle bir metin alanı. Karakter dizisi- gönderilen tuş vuruşlarının sırasını temsil eden herhangi bir dize değeri. |
Selenium Eylem Sınıfının Uygulama Örnekleri
1. Action ve Action sınıfını içe aktarın .
org.open a.selenium.interactions.Action'ı içe aktar;
org.open a.selenium.interactions.Actions'ı içe aktarın;
2. Yeni bir Actions nesnesi oluşturun
Eylem oluşturucu = yeni Eylemler(sürücü);
3. Önceki adımda Eylem nesnesini kullanarak bir Eylemi Örnekleyin
Eylem mouseOverHome = oluşturucu
.moveToElement(bağlantı_Ana Sayfa)
.yapı();
Burada, fareyi Ana Sayfa bağlantısının üzerine getirmek için moveToElement() yöntemini kullanıyoruz. build(), tüm eylemlerin tek bir adımda derlenmesini sağlamak için her zaman son yöntemdir.
4. Bir önceki adımda bildirdiğimiz Action nesnesini çalıştırırken perform yöntemini kullanın.
Sözdizimi:
mouseOverHome.perform();
Örnek 2:
Metin kutusunun Otomatik Tamamlama özelliğini uygulamak için Action sınıfının kullanıldığı başka bir örnek alalım.
Bunu manuel olarak yapmak için shift tuşuna basıyoruz, girilmesi gereken yazıyı büyük harfle yazıp shift tuşunu bırakıyoruz. Put, Shift + alfabe tuşlarına birlikte basılır.
Aynı işlemi otomasyon komut dosyası aracılığıyla taklit etmek için Actions Class yöntemi kullanılır.
1. İthalat-Paket
Action ve Actions sınıfı, Web Sürücüsü API'sinin org.openqa.selenium.interactions paketinde bulunur. Bunları kullanmak için paketleri içe aktarmalısınız:
org.openqa.selenium.interactions.Action;
org.openqa.selenium.interactions.Actions;
2. Action sınıfını somutlaştırın
Yöntemlerini çağırmak için Actions sınıfının bir nesnesini oluşturmanız yardımcı olacaktır. Bu nedenle, Actions sınıfını somutlaştırıyoruz ve sınıfı başlatmak için WebDriver nesnesini kullanıyoruz. Sözdizimi:
Eylemler eylemler = yeni Eylemler (web sürücüsü nesnesi);
3. Bir dizi eylem oluşturun
Bu örnekte, birden çok eylemi gerçekleştirmek için gereken adımların sırası şöyledir:
- Shift tuşuna basın
- İstediğiniz metni gönderin
- Shift tuşunu bırakın
Bu eylemleri gerçekleştirmek için Action sınıfında aşağıdakiler gibi yöntemler bulunur:
- Shift tuşuna basmak için keyDown yöntemi.
- İstenen metni göndermek için sendKeys yöntemi.
- keyUp yöntemi, Shift tuşunu serbest bırakır.
- keyDown, bir öğeye odaklanmak için bir değiştirici tuşa basma işlevi görürken keyUp yöntemi, basılan bir değiştirici tuşu serbest bırakır.
Bir değiştirici tuş, her iki tuşa aynı anda basıldığında başka bir tuşun eylemini değiştirir. Örneğin, Shift, Alt ve Ctrl.
Bir dizi eylem oluşturulur, ancak bu eylemler bir webElement üzerinde gerçekleştirilir. Bunun için adımlar şunlardır:
WebElement öğesi = driver.findElement;
action.keyDown(eleman, Tuşlar, Shift);
action.sendKeys(“TexttoBeConvertAndSendInUpperCase);
action.keyUp(Keys.Shift);
Burada gözlemlenmesi gereken önemli şey, herhangi bir Action sınıfı yönteminin etrafında gezinirseniz, bir Actions sınıfı nesnesinin döndürüleceğidir.
4. Eylem sırasını oluşturun
Eylemler sırasını, Actions sınıfının build() yöntemiyle oluşturabilirsiniz. Bu yöntem, gerçekleştirilmeye hazır olan tüm eylemler kümesini oluşturur. Sözdizimi:
Eylem eylemi = eylemler.build();
build() yöntemi, yöntem çağrıları tarafından çağrılan birden çok eylem dizisinden oluşturulmuş bir bileşik eylemi temsil eden Action türünde bir nesne döndürür.
5. Eylem dizileri gerçekleştirin
Action sınıfını yürütmenin son adımı, Action arabiriminin perform() yöntemi aracılığıyla eylemler dizisini gerçekleştirmektir. Sözdizimi:
action.perform();
Tüm Actions sınıfı yöntemlerinden yararlanmak ve klavye ve fareyi kullanarak farklı kullanıcı eylemleri gerçekleştirmek için yukarıda verilen adımlar yürütülmelidir.
Dünyanın En İyi Üniversitelerinden Online Yazılım Geliştirme Kursları öğrenin . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.
Sıradaki ne?
Full-Stack Yazılım geliştirme hakkında daha fazla bilgi edinmek istiyorsanız, upGrad & IIIT-B'nin çalışan profesyoneller için tasarlanmış ve 500+ saatlik zorlu eğitim, 9+ proje ve atamalar, IIIT-B Mezunları durumu, pratik uygulamalı bitirme projeleri ve en iyi firmalarla iş yardımı.
Selenium'da aksiyon sınıfı nedir?
Eylem sınıfı, bir web öğesinde gerçekleştirebileceğiniz bir eylemi veya bir dizi eylemi tanımlayan bir sınıftır. Konum belirleyiciler tarafından üzerinde işlem yapmak istediğimiz öğeleri belirliyoruz. Eylem sınıfları, bir genel statik sınıf düzeyi değiştiricisi ve bir Eylem son ekinin (yani Action, KeyAction, PageAction, vb.) iki karakterli birleşimiyle tanımlanır. Public static değiştiricisi, sınıfı somutlaştırılabilen bir sınıf olarak göstermemizi sağlar. Eylem soneki, gerçekleştirilen eylemin türünü belirtir. Action soneki sınıfı da parametrelenmiştir. Parametre, eylemin öğe adıdır. Örneğin, bir metin alanında bir işlem yapmak istiyorsak, metin alanı parametresini kullanırız.
Selenyumun kullanım alanları nelerdir?
Selenium, bir web sayfasında kullanıcı eylemlerini kaydetmek ve oynatmak için kullanılan çok güçlü bir taşınabilir yazılım test aracıdır (Selenyum yazılım test aracı). Herhangi bir web tarayıcısında bir web uygulamasının işlevsel ve işlevsel olmayan gereksinimlerini test etmek için kullanılır. Java'da uygulanır ve çok basit bir API'ye sahiptir. Firefox, Chrome, Internet Explorer, Safari vb. gibi tüm büyük web tarayıcılarında web uygulamaları testini destekler.
Java'da Selenyum nasıl öğrenilir?
Selenium, bir dizi programlama dilinde otomatik testler yazmanıza izin veren bir araçtır. Testler web sürücüsü kullanılarak yazılır. Aşağıdaki programlama dillerine dayalı olarak web uygulamanızı test etmek için kullanabilirsiniz: Java, C#, Python ve PHP. Aslında birçok geliştirici, Selenium Java API'sini öğrenmenin çok da gerekli olmadığını düşünüyor. Selenium WebDriver, sayfadaki öğeleri bulmak ve bunlarla işlem yapmak için doğru seçimdir. Testleri birçok programlama dilinde uygulamak mümkündür, ancak Java'da testler yazmanız gerekiyorsa, Selenium WebDriver en iyi seçimdir. Java'da Selenium öğrenmenin başka bir yöntemi de Selenium RC olarak da bilinen Selenium IDE'yi kullanmaktır. Bu araç için tarayıcı desteği bildiğimiz kadar iyi değil, yalnızca Firefox ve Chrome destekleniyor. Ancak IDE, Selenium test senaryolarını hızlı bir şekilde tasarlamanıza ve yürütmenize, test senaryosunu kaydetmenize ve oynatmanıza, otomatik test senaryoları oluşturmanıza vb. yardımcı olabilir.