设为首页收藏本站
 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

Selenium WebDriver 中文教程 API(一)之基础讲解

2015-7-9 22:46| 发布者: webdriver| 查看: 16967| 评论: 0|原作者: MR_BC|来自: wedriver中文社区

摘要: Selenium WebDriver Api 基础方法的详细讲解 智能等待implicitlywait()&&sleep()方法的区别 close()&&quit()退出浏览器区别

             

 

在上一篇中我们介绍Webdriver java环境的搭建以及一个简单的程序,大家一步一步的操作应该可以正常的运行第一个自动化脚本。现在就结合具体的代码和大家解释一下常用的几个方法和用途。

 

package com.cxy.controller;

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.firefox.FirefoxDriver;

public class TestBaidu {

 

    public static void main(String[] args) {

        // TODO Auto-generated method stub

        WebDriver dr =  new FirefoxDriver();

 

        dr.get("http://www.baidu.com");

        

        dr.findElement(By.id("kw")).sendKeys("hello Selenium");

        

        dr.findElement(By.id("su")).click();

        

        try {

            Thread.sleep(3000);

        } catch (InterruptedException e) {

            // TODO Auto-generated catch block

            e.printStackTrace();

        }

     

        dr.quit();

    }

 

}

 

package com.cxy.controller;

 

Package:是声明一个包,后面是包的名称:xxx.xxx.xxx。包的作用:一般拿来分层,将同一业务的方法类放在一个package,方便管理和查找。

 

import org.openqa.selenium.By;

import org.openqa.selenium.WebDriver;

import org.openqa.selenium.firefox.FirefoxDriver;

 

Import 这个关键字是引入额外的一些库,引入程序以后就可以调用里面类和方法,这里面引入了By  WebDriver FirefoxDriver,就可以使用这三个类和其中封装的方法了。

 

WebDriver dr =  new FirefoxDriver();

 

新建一个WebDriver 的对象,但是new 的是FirefoxDriver的驱动。后续再介绍java基础知识会普及一下类和对象之间的关系。

 

dr.get("http://www.baidu.com");

        

dr.findElement(By.id("kw")).sendKeys("hello Selenium");

        

dr.findElement(By.id("su")).click();

 

上面说了dr WebDriver的对象,dr就可以调用WebDriver中的方法,也就是传说中WebDriver api

 

get(String url):这个方法就是打开指定的网站,注意url的格式要正确:

 

http://www.baidu.com 

 

FindElementBy by):是自动化过程中最常用的一个方法,在页面中寻找一个元素。其中传进入的参数就是你所定位到的元素,下一章节会具体的介绍元素定位方法。

 

SendkeysString string):向定位到的text 输入框中输入你想要输入的内容。上传文件也可以用sendkeys()string就为上传文件的绝对路径。

 

 

Click():为点击事件,定位到想要点击button或者其它可以点击的地方,click就可以模仿鼠标点击的事件了。

 

Thread.sleep(3000);

 

页面加载需要一个时间,webdriver 只能找到页面已有的元素,所以有些时候需要加入一个等待的时间,让页面元素完全加载出来,才能通过findelement方法找到你想要的元素。这个sleep()并不是WebDriver中自带的方法,而是java中休眠线程的一个方法,这里不是很推荐。WebDriver自带了一个智能等待的方法。

 

dr.manage().timeouts().implicitlyWait(arg0, arg1);

 

Arg0:等待的时间长度,int 类型 

Arg1:等待时间的单位 TimeUnit.SECONDS 一般用秒作为单位。

 

dr.quit()dr.close()都可以退出浏览器,简单的说一下两者的区别:第一个close,如果打开了多个页面是关不干净的,它只关闭当前的一个页面。第二个quit,是退出了所有Webdriver所有的窗口,退的非常干净,所以推荐使用quit最为一个case退出的方法。

 

 

鲜花
鲜花
握手
握手
雷人
雷人
路过
路过
鸡蛋
鸡蛋
收藏 分享 邀请

最新评论