2017-05-02 122 views
0

我想下面的代碼來測試在Selenium 3.0拖放,並發現代碼不工作,這意味着它不顯示任何錯誤,也不提供預期的結果。拖放不工作在硒3.0

我試過硒2.53中的相同代碼,它的工作。請有人檢查我的代碼,並讓我知道我是否錯過了一些東西。

硒3.0

瀏覽器:Mozilla 2.52

package dynamicXpath; 

import java.util.concurrent.TimeUnit; 

import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.firefox.FirefoxDriver; 
import org.openqa.selenium.firefox.FirefoxProfile; 
import org.openqa.selenium.interactions.Action; 
import org.openqa.selenium.interactions.Actions; 

public class refermeprobI { 

    public static void main(String[] args) throws InterruptedException{ 

    System.setProperty("webdriver.gecko.driver", "D:\\Drivers\\geckodriver.exe"); 

    FirefoxProfile profile = new FirefoxProfile(); 
     profile.setEnableNativeEvents(true);  
     WebDriver driver = new FirefoxDriver(profile); 


      driver.manage().window().maximize(); 
    driver.manage().timeouts().implicitlyWait(15, TimeUnit.SECONDS); 


    driver.get("https://the-internet.herokuapp.com/drag_and_drop"); 

    Actions act = new Actions(driver); 

    WebElement src = driver.findElement(By.xpath("//*[@id='column-a']")); 
    WebElement dst = driver.findElement(By.xpath("//*[@id='column-b']")); 






    act.dragAndDrop(src, dst).build().perform(); 

    System.out.println(driver.findElement(By.xpath("//*[@id='column-b']/header")).getText()); 



} 

} 
+0

我沒有在您的代碼中看到任何錯誤。但我仍然不確定您的Mozilla Firefox版本和geckodriver版本。使用Selenium 3.x拖放功能很好。 – DebanjanB

+0

您使用的是哪種版本的geckodriver? –

+0

我可以看到'setEnableNativeEvents(true)'被折舊。仍然能夠使用它? – DebanjanB

回答

0

您也可以嘗試以下操作:

act.clickAndHold(src).moveToElement(dst).release(src).build().perform(); 

這工作在某些情況下,其中dragAndDrop()沒有。

0

我檢查了你的代碼。一切都很好,除非你使用Selenium 3.0.0,那麼需要設置Desired Capabilities。我也使用Selenium最新的3.4版來檢查你的代碼。如果您使用Selenium 3.4,則無需設置Desired Capabilities。我使用了Firefox 52. 我希望這些信息能幫助你理解你遇到的問題。 謝謝