2016-08-05 26 views
12

Actions sınıf sürücüsü ile bir sorun yaşıyorum. Ben Actions Sınıfı gecko sürücüsü ile çalışma Not

Actions act= new Actions(d1); 
act.moveToElement(d1.findElement(By.xpath("path of the element")).build().perform(); 

Daha önce ben Selenium-Java 2.43.0 kullanıyorum zaman bu komut çalışıyor ince kodunun

bu parça var. Ama ben 3.0.0-beta2'a yükselttim, gecko sürücüsü aracılığıyla firefox driver erişimini başlattım.

Yukarıda belirtilen komutta testim başarısız oluyor. Aşağıdaki istisna

org.openqa.selenium.UnsupportedCommandException alıyorum: POST /oturum/21dfc828-a382-4622-8c61-89bc48e29744/MoveTo bir bilinen komutu (UYARI eşleşmedi: Sunucu vermedi herhangi StackTrace bilgi) Komut süresi veya zaman aşımı: bu Selenyum ve Firefox'un çalışan sürümleri geri dönmek olduğunu saptamak kadar 4 milisaniye

+0

. Düzeltmeyi beklemek zorundayız. https://github.com/SeleniumHQ/selenium/issues/2285. Sorun budur. Bunun için beklememiz gerekecek. –

+0

Bu konuyla ilgili olarak Mar 18 2017'den itibaren, "Bu artık geckodriver 0.15 ve Selenium 3.x'te uygulandı" gibi görünüyor ve sorun kapatıldı. Ama hala mouseover ile bazı oldukça büyük sorunlar yaşıyorum:/ –

cevap

5

Geçici, korkunç, karartıcı cevabı yardımcı olun. Firefox 45.0.2 ile Selenium 2.53.0 hala çalışıyor: https://ftp.mozilla.org/pub/firefox/releases/45.0.2/

En son sürümlere karşı test etmemekten dolayı pişmanlık duyuyorum, ancak aynı zamanda herhangi bir Firefox testinin hiç olmadığı ortaya çıkıyor. Firefox'a karşı aylarca çalışmıyorsa, kabul edilemez.

4

Bu bir sürüm oluşturma sorunudur. Selenium 3, Actions sınıfı sürücü için henüz bir desteği yok. Daha düşük bir sürüme indirmeniz gerekecek. Sürüm 2.53.1 aşağıda Firefox

benim için
+1

Bu konuda herhangi bir haber var mı? Bunun bir noktada, umarım yakında hayata geçirilmesi gerekiyor mu? – nostradamus

0

çalışıyor bunun için selenyum açık sorun kaydedilen bir sorun var Firefox 52.3.0 ESR üzerinde benim için çalışıyor ve Selenyum 3.5.1

public void mouseRightClickAndSelectOption(By locator, By contextMenuOption){ 
    clickElement(locator); 
    String script = "var evt = document.createEvent('MouseEvents');" + "evt.initMouseEvent('contextmenu',true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0,null);" + "arguments[0].dispatchEvent(evt);"; 

    try { 
     ((JavascriptExecutor) driver).executeScript(script, getElement(locator)); 
    } catch (Exception ignored) { 
    } 
    clickElement(contextMenuOption); 
} 


public WebElement getElement(By locator) { 
    fluentWait(locator); 
    return driver.findElement(locator); 
} 
İlgili konular