1.1下载selenium2.0的包
- 官方download包地址:http://code.google.com/p/selenium/downloads/list
- 官方User Guide: http://seleniumhq.org/docs/
- 官方API: http://selenium.googlecode.com/git/docs/api/java/index.html
1.2.1 用webdriver打开一个浏览器
WebDriver driver = new FirefoxDriver();
WebDriver driver = new InternetExplorerDriver ();
WebDriverdriver = new HtmlUnitDriver();
WebDriverdriver = new ChromeDriver();
1.2.2 最大化浏览器
WebDriver driver = new FirefoxDriver();
driver.manage().window().maximize();
1.2.3 关闭浏览器
WebDriver driver = new FirefoxDriver();
- driver.close();
- driver.quit();
1.3打开测试页面
- driver.get("http://www.google.com");
- driver.navigate().to("http://www.baidu.com/");
P.S.navigate方法会产生1个Navigator对象,其封装了与导航相关的一些方法,比如前进后退等
1.4 页面元素定位
Webdriver提供下面两种方法来定位页面元素,参数是By对像,最常用是By.id和By.name查找。
- findElement 定位某个元素,如果没有找到元素会抛出异常:NoSuchElementException
- findElements 定位一组元素
例如需要定位如下元素:
<input class="input_class" type="text" name="passwd" id="passwd-id" />
WebElement element = driver.findElement(By.id("passwd-id"));
WebElement element = driver.findElement(By.name("passwd"));
WebElement element =driver.findElement(By.xpath("//input[@id='passwd-id']"));
WebElement element = driver.findElement(By.className("input_class"));
WebElement element = driver.findElement(By.cssSelector(".input_class"));
//通俗点就是精确查询
WebDriver driver = new FirefoxDriver();
driver.get("http://www.baidu.com/");
WebElement element = driver.findElement(By.linkText("百科"));
//这个方法就是模糊查询
WebDriver driver = new FirefoxDriver();
driver.get("http://www.baidu.com/");
WebElement element = driver.findElement(By.partialLinkText("hao"));
WebDriver driver = new FirefoxDriver();
driver.get("http://www.baidu.com/");
String test= driver.findElement(By.tagName("form")).getAttribute("name");
System.out.println(test);
1.5如何对页面元素进行操作
1.5.1 输入框(text field or textarea)
WebElement element = driver.findElement(By.id("passwd-id"));
-
element.sendKeys(“test”);//在输入框中输入内容:
-
element.clear();
//将输入框清空
- element.getText(); //获取输入框的文本内容:
1.5.2下拉选择框(Select)
Select select = new Select(driver.findElement(By.id("select")));
- select.selectByVisibleText(“A”);
- select.selectByValue(“1”);
- select.deselectAll();
- select.deselectByValue(“1”);
- select.deselectByVisibleText(“A”);
- select.getAllSelectedOptions();
- select.getFirstSelectedOption();
1.5.3单选项(Radio Button)
WebElement radio=driver.findElement(By.id("BookMode"));
- radio.click(); //选择某个单选项
- radio.clear(); //清空某个单选项
- radio.isSelected(); //判断某个单选项是否已经被选择
1.5.4多选项(checkbox)
WebElement checkbox = driver.findElement(By.id("myCheckbox."));
- checkbox.click();
- checkbox.clear();
- checkbox.isSelected();
- checkbox.isEnabled();
1.5.5按钮(button)
WebElement btn= driver.findElement(By.id("save"));
- btn.click(); //点击按钮
- btn.isEnabled (); //判断按钮是否enable
1.5.7弹出对话框(Popup dialogs)
Alert alert = driver.switchTo().alert();
- alert.accept(); //确定
- alert.dismiss(); //取消
- alert.getText(); //获取文本
1.5.8表单(Form)
Form中的元素的操作和其它的元素操作一样,对元素操作完成后对表单的提交可以:
WebElement approve = driver.findElement(By.id("approve"));
approve.click();
或
approve.submit();//只适合于表单的提交
1.5.9上传文件
上传文件的元素操作:
WebElement adFileUpload =driver.findElement(By.id("WAP-upload"));
String filePath = "C:\test\\uploadfile\\media_ads\\test.jpg";
adFileUpload.sendKeys(filePath);
1.6Windows 和 Frames之间的切换
- driver.switchTo().defaultContent(); //返回到最顶层的frame/iframe
- driver.switchTo().frame("leftFrame"); //切换到某个frame:
-
driver.switchTo().window("windowName"); //切换到某个window
1.7调用Java Script
Web driver对Java Script的调用是通过JavascriptExecutor来实现的,例如:
JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("JS脚本");
1.8 超时设置
WebDriver driver = new FirefoxDriver();
- driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); //识别元素时的超时时间
- driver.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS); //页面加载时的超时时间
- driver.manage().timeouts().setScriptTimeout(10, TimeUnit.SECONDS); //异步脚本的超时时间
分享到:
相关推荐
**Selenium WebDriver API 文档详解** Selenium WebDriver 是一个用于自动化浏览器操作的API,它允许开发者编写代码来模拟用户在浏览器中的各种交互行为,如点击、输入文本、导航等。这个文档,`selenium-API-2.12....
Selenium-WebDriverApi接口详解
python版本的selenium3.0WebdriverApi的chm文档
Selenium WebDriver API为开发者提供了与各种浏览器进行通信的接口。在TypeScript中,你需要先安装`selenium-webdriver`库,以便利用它的类型定义和函数。但是,在没有网络连接的情况下,常规的`npm install ...
同时,可以使用Capybara库,它提供了一种更加简洁的API来与Selenium配合使用,使得测试脚本更加易读。 在进行自动化测试时,还需要注意几个关键点: 1. 浏览器兼容性:确保测试覆盖了目标用户的常用浏览器。 2. ...
Selenium-Webdriver系列教程旨在引导读者理解和掌握Selenium 2.0,即WebDriver的核心概念、常用方法和高级功能。Selenium 1.x虽然已被弃用,但由于丰富的资源和历史积累,仍然被许多人广泛使用。然而,随着Selenium ...
**Selenium WebDriver API 文档详解** Selenium 是一个强大的开源自动化测试工具,广泛应用于Web应用程序的测试。它的WebDriver API 提供了一种编程接口,允许测试人员通过多种编程语言(如Java、Python、C#等)...
Python+selenium需要用到的chromedriver驱动,把它放在python 的安装目录下,即可 selenium的元素八大定位方法详解
此示例代码构成Selenium 2 WebDriver API在线培训课程的一部分。 由于Selenium WebDriver项目已弃用Selenium API,因此我已将WebDriverBackedSelenium示例移至该单独的公共领域项目中。 这样可以防止在对课程源...
Selenium WebDriver API, which uses native OS-level events to manipulate the browser, bypassing the JavaScript sandbox, and does not require the Selenium Server to automate the browser.
2. **Selenium-Webdriver简介**: - Selenium是一个开源的自动化测试框架,支持多种编程语言,包括Ruby。 - Selenium-Webdriver是Selenium的一部分,它提供了直接与浏览器交互的能力,允许编写脚本来模拟用户的...
4. Selenium WebDriver API:通过学习Selenium WebDriver的API,可以了解如何使用Selenium WebDriver进行各种操作,包括但不限于页面元素的定位、用户输入、页面导航和错误处理等。比如,可以使用find_element_by_id...
selenium 是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7, 8, 9, 10, 11),Mozilla Firefox,Safari,Google Chrome,Opera等。selenium 是...
WebDriver是Selenium的核心组件,它提供了一种API,允许程序员通过编程方式控制浏览器的行为,如点击、输入文本、导航等。WebDriver支持多种浏览器,如Chrome、Firefox、IE、Edge等,并且可以通过Python、Java、C#等...
2. **导入库**:在你的编程环境中导入Selenium WebDriver的相关库。 3. **创建FirefoxDriver实例**:通过调用`webdriver.Firefox()`方法创建一个新的Firefox浏览器实例。 4. **导航到URL**:使用`get()`方法导航到...
**Selenium WebDriver Java API 文档详解** Selenium WebDriver 是一个自动化测试工具,广泛用于Web应用程序的测试。它提供了一个编程接口(API),允许开发者用多种编程语言(包括Java)来控制浏览器并执行自动化...
Python版本的Selenium WebDriver API是用于自动化Web浏览器交互的强大工具,尤其在进行功能测试和UI自动化时非常实用。Selenium库支持多种编程语言,而Python是其中最受欢迎的一种,因为其语法简洁,易于学习,且...
6. webdriver API:webdriver API是Selenium WebDriver中用于控制浏览器的一个编程接口,本书对webdriver API中元素定位和操作的知识点进行了深入的探讨。 7. 实例和思维模式:作者强调了通过实例学习的重要性,...
本书是一本从入门到精通模式的Selenium WebDriver实战经验分享书籍。全书共分为四个部分:第1部分基础篇主要讲解自动化测试相关的基础理论、WebDriver 环境安装、单元测试工具的使用方法以及 WebDrvier的入门使用...
selenium webdriver是web自动化的一本经典著作,吴老集合python java不同版本。本资源为java版本,内容较新,无论是入门还是提升都有很大帮助。