2012-04-24 31 views
0

從一個類起動應用,而在另一個類使用它。啓動從一個類的應用程序,並在另一個類使用它(幫助我在學習硒)

大家好,

我是新來硒和Java。我只是想嘗試硒。我是 面臨一些問題。我想創建一個類中,我只是想 啓動應用程序(比如google.com),而接下來的其他任務一樣 執行測試用例已經被其他類完成。可以這樣做, 我在這裏貼上我的代碼。請幫助我理解這一點。

這裏是我的兩個班

該類推出谷歌瀏覽器的。

public class GoogleTest extends SeleneseTestCase 
{ 
    private static Selenium selenium; 

    @BeforeClass 
    public static void setUpBeforeClass() throws Exception 
{ 
     selenium = new DefaultSelenium("localhost", 4444, "*firefox", "http://www.google.com"); 
     selenium.start(); 
     selenium.windowMaximize(); 
    } 

    @Test 
    public void testSearch() throws InterruptedException 
{ 
     selenium.open("http://www.google.com"); 
     selenium.waitForPageToLoad("50000");  
    } 

    @AfterClass 
    public static void tearDownAfterClass() throws Exception { 
     selenium.stop(); 
    } 
} 

當我運行「GoogleTest」一流的運行完美,當我嘗試 運行此類應輸入搜索字段

public class FirstSeleniumTest extends GoogleTest 
{   private static Selenium selenium; 

    @Test 
    public void testSearch() 
{ 
    selenium.type("q", "Selenium OpenQA"); 
     selenium.waitForPageToLoad("50000"); 
    } 
} 

「FirstSeleniumTest」第二類提示錯誤是這樣的。失敗: testSearch對空(com.dev.rao.FirstSeleniumTest)在 com.dev.rao.FirstSeleniumTest.testSearch(FirstSeleniumTest.java:18) 顯示java.lang.NullPointerException

回答

0

其通常很難做到你正在努力達到什麼。這就是爲什麼新的Selenium實例每次測試都更好。並在較長時間內容易調試。但根據你正在嘗試我看到兩個問題:

1)selenium.stop()應該在第二個腳本不是第一個。如果你殺了這個實例,它怎麼能在第二個測試中被擴展。

2.)宣告硒兩次。 (我想在第二次測試可能硒實例也應該從第一次測試伸出。)

+0

感謝üManpreet。將解決問題,並將在啓動.. – 2012-04-25 04:22:59

相關問題