使用Selenium执行一组Web管理任务所需的教程或提示(初级级别查询)

时间:2012-08-20 19:36:41

标签: selenium selenium-ide

我正在寻找一些指针/教程或者甚至是另一个问题来帮助我完成任务。我正在寻找自动化Web管理任务。我想做的是:

  1. 登录某个应用程序。
  2. 导航至特定菜单。
  3. 通过搜索栏搜索特定项目。
  4. 如果该项目显示在搜索项目中,则单击UI上的一组按钮并继续执行该任务。
  5. 如果搜索结果中未显示该项目,则继续搜索直至显示该项目,然后执行步骤4.
  6. 我已经能够使用Firefox的selenium IDE插件执行第3步。但我不太确定如何继续以及在哪里合并步骤4和5的逻辑。我是否使用编程语言?(如果是,那么如何?)

1 个答案:

答案 0 :(得分:2)

你很快就达到了IDE的极限。 IDE不包含逻辑,但它适用于快速和脏的自动化任务,计算定位器ID,并帮助人们学习硒的基础知识。我建议查看学习如何在Selenium Webdriver中编写脚本。文档:http://seleniumhq.org/docs/03_webdriver.html

例如,如果您使用的是Java(这是从文档中窃取的):

public class Selenium2Example  {
    public static void main(String[] args) {
        // Create a new instance of the Firefox driver
        WebDriver driver = new FirefoxDriver();

        // And now use this to visit Google
        driver.get("http://www.google.com");;

        // Find the text input element by its name
        WebElement element = driver.findElement(By.name("q"));

        // Enter something to search for
        element.sendKeys("Cheese!");

        //Pseudocode
        if(element.isDisplayed()){
           // Now submit the form. WebDriver will find the form for us from the element
           element.submit();
        }
        else{
        // Check the title of the page
           System.out.println("Page title is: " + driver.getTitle());
        }

        // Google's search is rendered dynamically with JavaScript.
        // Wait for the page to load, timeout after 10 seconds
        (new WebDriverWait(driver, 10)).until(new ExpectedCondition<Boolean>() {
            public Boolean apply(WebDriver d) {
                return d.getTitle().toLowerCase().startsWith("cheese!");
            }
        });

        // Should see: "cheese! - Google Search"
        System.out.println("Page title is: " + driver.getTitle());

        //Close the browser
        driver.quit();
    }
}