2017-07-20 60 views
0

我們的應用程序是在沒有執行任何操作/交互(空閒)15分鐘時間的情況下進行的會話(如此開發我們的應用程序)網頁會話問題(從應用程序註銷) - WebDriver-Java

但是,我的自動化腳本保持連續做動作與硒 - 網絡驅動器,在這裏應用越來越會話並認爲沒有動作都做了,但實際上劇本做動作。

以下是我已經嘗試了方式 - 捕獲了會話出彈出爽口瀏覽器定位器

  1. ,這不適合我,以前的數據/動作被刷新(清理)
  2. 當會議進行彈出顯示,使用硒等命令的SendKeys(Keys.ESCAPE/ENTER),但在我的情況不工作
  3. 二手機器人類工作正常,但沒有合適的解決方案

請提供任何其他的解決辦法,以避免會話了問題

注意:到當前網頁光標移動時自動運行腳本可以解決的問題,如果在Java中的光標任何代碼上比機器人其他網頁類/鍵/鼠標模擬

回答

0

如果Robot爲您工作,那麼可能是Action類的WebDriver也可以爲您工作。

在這裏,我試圖移動到一個元素,使頁面按元素的可見性向上或向下滾動。

我希望這將幫助你..

public class TestCursorMove { 

public static void main(String[] args) { 
    String baseUrl = "http://newtours.demoaut.com/"; 
    System.setProperty("webdriver.firefox.marionette","C:\\geckodriver.exe"); 
      WebDriver driver = new FirefoxDriver(); 

      driver.get(baseUrl);   
      WebElement link_Home = driver.findElement(By.linkText("Home")); 
      WebElement td_Home = driver 
        .findElement(By 
        .xpath("//html/body/div" 
        + "/table/tbody/tr/td" 
        + "/table/tbody/tr/td" 
        + "/table/tbody/tr/td" 
        + "/table/tbody/tr"));  

      Actions builder = new Actions(driver); 
      Action mouseOverHome = builder 
        .moveToElement(link_Home) 
        .build(); 

      String bgColor = td_Home.getCssValue("background-color"); 
      System.out.println("Before hover: " + bgColor);   
      mouseOverHome.perform();   
      bgColor = td_Home.getCssValue("background-color"); 
      System.out.println("After hover: " + bgColor); 
      driver.close(); 
    } 

}

+0

感謝Hemanto您的幫助!.... 這是工作範圍之內,我的意思是說DOM水平,但是,我需要鼠標光標** **圖標(物理)應在頁面上(我們應該可以看到鼠標** **圖標在頁面上),而腳本運行,那麼只有應用認爲動作做 頁面 上是否有任何解決方案,請在此 –

+0

幫助我能夠建議最好的方式,如果我能與應用玩耍。那麼,在這種情況下,我可以建議你多一個選項。 如果有可能使用Cookie來維護會話那麼可能是你可以嘗試以下步驟: 1.登錄到應用程序 2.提取物和 3.重新餅乾保存的cookies到瀏覽器,當你回來 https://www.guru99.com/handling-cookies-selenium-webdriver.html – hemanto

+0

我會檢查,如果它是由「曲奇」處理來處理本次會議並更新 –