2017-06-22 100 views
0

當我試圖運行下面提到代碼的錯誤消息發生。在我的代碼中,我試圖執行註銷功能。對於這個註銷功能,我已經準備好註銷xpath正確存儲的excel。但是當我試圖執行此代碼時會出現錯誤消息。錯誤消息是元素在點(1155,20)處不可點擊。其他元素將收到點擊當我試圖運行代碼然後出現錯誤消息

package com.rmspl.multiplemethod; 

import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.support.ui.Select; 

public class MethodSet { 
static WebElement element; 

public void login (String username,String password,String nr,WebDriver fd) { 

    fd.get("http://117.247.65.9/vms_test"); 
    fd.manage().window().maximize(); 

    WebElement E1 = fd.findElement(By.name("j_username")); 
    E1.sendKeys(username); 

    WebElement E2 = fd.findElement(By.name("j_password")); 
    E2.sendKeys(password); 

    WebElement E3 = fd.findElement(By.name("log")); 
    E3.click(); 

    } 

     public void clickLink(String xPath,String nr,String nr1,WebDriver fd){ 
     element = fd.findElement(By.xpath(xPath)); 
     element.click(); 
     } 
     public void Select(String xPath,String val,String nr1,WebDriver fd){ 
     Select sel = new Select(fd.findElement(By.xpath(xPath))); 
     sel.selectByValue(val); 
    } 
} 

package com.rmspl.multiplemethod; 

import java.io.FileInputStream; 
import java.io.IOException; 
import java.lang.reflect.InvocationTargetException; 
import java.lang.reflect.Method; 

import jxl.Sheet; 
import jxl.Workbook; 
import jxl.read.biff.BiffException; 

import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.WebElement; 
import org.openqa.selenium.chrome.ChromeDriver; 


public class TestDriver { 

    static WebElement element; 
    public static void main(String[] args) throws BiffException, IOException, NoSuchMethodException, SecurityException, 
    IllegalAccessException,IllegalArgumentException, InvocationTargetException { 

    MethodSet mt = new MethodSet(); 

    System.setProperty("webdriver.chrome.driver","C:\\Users\\Arijit Mohanty\\Desktop\\chromedriver.exe"); 
    WebDriver fd = new ChromeDriver(); 

    FileInputStream fis = new FileInputStream("C:\\Users\\Arijit Mohanty\\Desktop\\Bangla\\HybridDatasheet.xls"); 
    Workbook WB = Workbook.getWorkbook(fis); 
    Sheet Sh = WB.getSheet("Sheet2"); 

    int rows = Sh.getRows(); 
    int cols = Sh.getColumns(); 

    for (int i = 1; i<rows; i++) 
     { 
     String methodname = Sh.getCell(0, i).getContents(); 
     String data1 = Sh.getCell(1, i).getContents(); 
     String data2 = Sh.getCell(2, i).getContents(); 
     String data3 = Sh.getCell(3, i).getContents(); 

     Method m1 = mt.getClass().getMethod(methodname, String.class,String.class,String.class, WebDriver.class); 
     m1.invoke(mt,data1,data2,data3,fd); 
     } 


    } 

} 
+0

在你的代碼,這行拋出此消息?我們可以擁有網站的網址嗎? –

+0

當我嘗試點擊註銷功能,然後出現錯誤消息。註銷函數xpath寫入excel sheet.Site url-117.247.65.9/vms_test。 username-msrtc,password-Admin。共享Excel數據 - Methodname - ClickLink,Data1 - // a [包含(text(),'Logout')],Data2 - 不需要,Data3 - 不需要。 – Arijit

+0

它看起來註銷按鈕的xpath可能是正確的,但有一些其他元素(如通知/彈出窗口)覆蓋該註銷按鈕。可以幫助你更好,如果你給URL @ –

回答

0

您需要等待loading_bg直到屏幕熄滅。請更新下面給出的方法clickLink。請嘗試讓我們知道。

public void clickLink(String xPath,String nr,String nr1,WebDriver fd){ 
    new WebDriverWait(fd, 90).until(ExpectedConditions.invisibilityOfElementLocated(By.id("loading_bg"))); 
    element = fd.findElement(By.xpath(xPath)); 
    element.click(); 

}

+0

@感謝Murti ..你的代碼正常工作。非常感謝,謝謝。問你一件事什麼是loading_bg。此加載_bg顯示在錯誤消息中。如果可能的話,請回復。 – Arijit

+0

這是一個用於加載背景的ID,用於在完成一些後臺進程之前阻止UI。你需要等待。一些應用程序,它會加載欄/符號。我不知道你的應用程序。 – Murthi

+0

感謝@Murthi您的傑出解釋和您的幫助。那意義重大。再次感謝。現在這個代碼正常工作。 – Arijit

相關問題