我試圖自動化與硒RC以下情形:XPath或CSS不工作
- 打開谷歌主頁,在搜索框中輸入「軟件」,然後點擊搜索按鈕。
- 點擊Google搜索檢索到的多個鏈接的第一個鏈接。
由於我沒有看到這些鏈接的名稱或id屬性,並且此鏈接的內容是動態的,所以我嘗試使用XPath或CSS。
從Firebug,我得到XPath和CSS右鍵單擊然後複製XPath,複製CSS。
XPATH:/html/body/div[2]/div/div/div[6]/div[2]/div/div[2]/div/ol/li[1]/div/span/h3/a
CSS:html body#gsr div#main div div#cnt div#nr_container div#center_col div#res.med div#search div#ires ol#rso li.g div.vsc span.tl h3.r a.l
我嘗試在目標硒中輸入上面的XPath中的XPath,並找到按鈕。它工作得很好 但是當我使用上述XPath或CSS硒RC爲:
selenium.click("xpath=//html/body/div[2]/div/div/div[6]/div[2]/div/div[2]/div/ol/li[1]/div/span/h3/a");
selenium.click("css=html body#gsr div#main div div#cnt div#nr_container div#center_col div#res.med div#search div#ires ol#rso li.g div.vsc span.tl h3.r a.l");
上述兩個線路不工作,並給出錯誤。 請建議。
我的代碼是如下:
package Eclipse_Package;
import com.thoughtworks.selenium.*;
import org.junit.*;
//import org.junit.Before;
//import org.junit.Test;
import java.util.regex.Pattern;
public class Selenium_SX extends SeleneseTestCase {
// public class Jun3
@Before
public void setUp() {
selenium = new DefaultSelenium("localhost", 4444, "*firefox3 C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe", "http://www.google.co.in/");
selenium.start();
}
// C:\Program Files (x86)\Mozilla Firefox\
@SuppressWarnings("deprecation")
@Test
public void test() {
selenium.open("http://www.google.com");
selenium.windowMaximize();
// selenium.waitForPageToLoad("5000");
// selenium.type("id=acpro_inp3", "selenium");
selenium.type("q", "software");
selenium.click("btnG");
selenium.waitForPageToLoad("7000");
// selenium.fireEvent("Selenium web application testing system", "click");
// selenium.click("link=Selenium web application testing system");
// selenium.click("xpath=//html/body/div[2]/div/div/div[6]/div[2]/div/div[2]/div/ol/li[1]/div/span/h3/a");
selenium.click("xpath=(//a[class=\"li[1]\"])[1]");
// selenium.click("css=//div['span.tl h3.r a.l']");
selenium.waitForPageToLoad("15000");
}
@After
public void tearDown() {
selenium.stop();
}
// public static void main(String args[])throws Exception{
// Selenium_SX sx=new Selenium_SX();
// sx.setUp();
// sx.test();
// sx.tearDown();
// }
}
您確定在執行點擊命令之前您是否等待足夠的時間? – 2011-06-13 11:06:53
你可以添加你的源代碼。 – Tnem 2011-06-13 14:22:42
請在編輯後的文章中找到代碼,並請提出建議。另外,當我點擊搜索按鈕後添加waitforpagetoload時,雖然我將時間增加到15000秒,但出現超時錯誤。因此,我嘗試在第一次在這裏發佈 – srikrish 2011-06-13 15:07:41