2015-09-27 63 views
0

我有MouseActions.java文件,驅動程序對象爲FirefoxDriver class。 我還有另一個keyactions.java文件,我已將此課程擴展到MouseActions.java如何在同一包中的當前java文件中使用其他java文件的變量?

現在我想在keyactions.java文件中使用MouseActions.java文件的驅動程序對象,而不實例化一個新對象。

,但我得到的錯誤 「在該行多個標記」

MouseActions.java文件:

package myproject; 
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.interactions.Action; 
import org.openqa.selenium.interactions.Actions; 

public class mouseOverEvent 
{ 
    public static void main(String[] args) { 
     WebDriver driver=new FirefoxDriver(); 
     driver.get("http://www.google.co.in"); 
     Actions Builder=new Actions(driver); 
     WebElement home=driver.findElement(By.xpath(".//*[@id='tsf']/div[2]/div[3]/center/input[2]")); 
     Action mouseOverHome= Builder.moveToElement(home).click().build(); 
     mouseOverHome.perform(); 
    } 
} 

keyactions.java文件:

package myproject; 

public class KeyStrokesEvent extends mouseOverEvent{  
    driver.get("http://www.facebook.com"); 
} 
+1

*「但我得到錯誤」在線的多個標記「」*這不是錯誤消息,它只是告訴你,你在一行中有多個錯誤。所以請發佈真正的錯誤消息。順便說一句:'driver.get(「http://www.facebook.com」); '不起作用,因爲'driver'是未定義的,它不在方法/塊之內。 – Tom

回答

0

您是否嘗試過將驅動程序變量設置爲全局?

package myproject; 
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.interactions.Action; 
import org.openqa.selenium.interactions.Actions; 


public class mouseOverEvent { 
    WebDriver driver=new FirefoxDriver(); 
    public static void main(String[] args){ 
     driver.get("http://www.google.co.in"); 
     Actions Builder=new Actions(driver); 
     WebElement home=driver.findElement(By.xpath(".//*[@id='tsf']/div[2]/div[3]/center/input[2]")); 
     Action mouseOverHome= Builder.moveToElement(home).click().build(); 
     mouseOverHome.perform(); 
    } 
} 

該變量是main()方法的局部變量,這就是爲什麼您無法在該方法之外訪問該變量的原因。然而,使其成爲全球性的,使得它是可訪

0
WebDriver driver=new FirefoxDriver(); 

驅動變量定義一種方法,其範圍僅限於該方法。它不能在它之外訪問。

您需要將它聲明爲用於訪問子類的類級別。要訪問它而不創建對象,則聲明它爲static變量並使用類名稱訪問它。

我想知道你爲什麼要將一個Main類擴展到其他類中?

相關問題