在Eclipse中运行脚本时未单击Button

时间:2017-10-05 10:02:18

标签: java selenium button selenium-webdriver

我正在使用Selenium Web驱动程序来学习自动化。 在eclipse enter image description here中运行脚本时,未单击按钮并且未显示元素错误。当我用firebug检查元素时,我发现它显示为onclick函数(附加图像)。每次单击按钮时,我的脚本都会失败。

有人可以帮忙吗?

这是我的代码

    driver.findElement(By.linkText("Create a New Test")).click();
    driver.findElement(By.id("testing_name")).clear();
    driver.findElement(By.id("testing_name")).sendKeys("automated test26");
    driver.findElement(By.id("start_url")).clear();


driver.findElement(By.id("start_url")).sendKeys("https://sqa.stackexchange.com/questions/2696/selenium-how-to-identify-the-button-webelement");
        driver.findElement(By.id("test_type_save_selection")).click();


    driver.findElement(By.name("Run Test")).click();
    driver.findElement(By.linkText("logout")).click();

3 个答案:

答案 0 :(得分:0)

请尝试以下XPath:

//*[contains(@title, 'Run Test')] 

答案 1 :(得分:0)

我看到了图片,我注意到标题是运行测试 - 打开对话框而不是运行测试

请尝试以下行:

driver.findElement(By.xpath("//a[contains(@title, 'Run Test - Opens dialog')]")).click();

答案 2 :(得分:0)

你必须使用xpath,因为我看到HTML中没有name属性。也可以使用Wait until元素进行点击。

试试这段代码:

driver.findElement(By.linkText("Create a New Test")).click();
driver.findElement(By.id("testing_name")).clear();
driver.findElement(By.id("testing_name")).sendKeys("automated test26");
driver.findElement(By.id("start_url")).clear();
driver.findElement(By.id("start_url")).sendKeys("https://sqa.stackexchange.com/questions/2696/selenium-how-to-identify-the-button-webelement");
driver.findElement(By.id("test_type_save_selection")).click();
WebDriverWait wait = new WebDriverWait(driver, 15);   
wait.until(ExpectedConditions.elementToBeClickable(By.xpath("//*[contains(@title, 'Run Test')] ")));
driver.findElement(By.xpath("//*[contains(@title, 'Run Test')]")).click();   
driver.findElement(By.linkText("logout")).click();