这是我的剧本。使用其xpath无法正常工作时单击链接&抛出错误'找不到ERROR元素'但在Selenium IDE中运行良好。
import com.thoughtworks.selenium.*;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import java.util.regex.Pattern;
public class testGoogle extends SeleneseTestCase {
@Before
public void setUp() throws Exception {
selenium = new DefaultSelenium("localhost", 4444, "*chrome", "http://www.google.co.in/");
selenium.start();
selenium.windowFocus();
selenium.windowMaximize();
}
@Test
public void testUntitled() throws Exception {
selenium.open("http://www.google.co.in/");
selenium.waitForPageToLoad("30000");
assertEquals("Google", selenium.getTitle());
selenium.click("name=q");
selenium.type("name=q", "Software Testing");
selenium.click("name=btnK");
selenium.click("//html/body/div[4]/div/div/div[4]/div[3]/div[2]/div/div[2]/div/ol/li[2]/div/h3/a"); // ERROR: Element Not Found
selenium.waitForPageToLoad("30000");
}
@After
public void tearDown() throws Exception {
selenium.stop();
}
}
答案 0 :(得分:0)
您可以将链接检测为selenium.click(“link = xyz”)而不是xpath
答案 1 :(得分:0)
脚本绝对正确。但问题是它运行得非常快。当您启动脚本时,所有元素都未完全加载。所以添加
<强> selenium.setSpeed( “1000”); 强>
作为函数 testUntitled()的第一行。你的脚本运行正常。
干杯, Amit Shakya
答案 2 :(得分:0)
只需在路径之前添加“xpath =”
xpath=/html/body/div[4]/div/div/div[4]/div[3]/div[2]/div/div[2]/div/ol/li[2]/div/h3/a
它会更早地面对这个问题。
答案 3 :(得分:0)
我也遇到了问题 - 在Selenium RC中找不到“元素未找到”。
使用selenium.setSpeed("1000")
工作。