qileilove

blog已经转移至github,大家请访问 http://qaseven.github.io/

选择浏览器开始测试—Selenium自动化测试指南(2)

  (51Testing软件测试网获人民邮电出版社和作者授权连载本书部分章节。任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。)

  操作完毕后,可看到如图5-17所示的新建项目。

  图5-17  新建的Java项目

  2.添加引用

  (1)在Package Explorer中用鼠标右键单击Project1,选择Properties,如图5-18所示。

  (2)选择Java Build Path,在右边选择Libraries,单击Add External JARs,如图5-19所示。

  图5-18  选择Properties菜单命令

  

图5-19  Add External JARs按钮

  (3)选择要添加的jar文件,如图5-20所示。

  图5-20  选择要添加的Jar文件


(4)单击“打开”按钮后,再单击Add External JARs按钮,如图5- 所示。

  (5)选择Selenium的Libs文件夹中所有与Java相关的基础框架,如图5- 所示。

  图5- 选择与Java相关的基础框架

  (6)单击“打开”按钮,然后单击OK按钮在Package Explorer中,可以看到刚才添加的包,如图5-21所示。

  图5-21  查看添加的包

  (7)在main函数中输入如图5-22所示的代码,然后按F11执行。

  图5-22  Java代码

  运行结果如图5-23所示。

  在本章中的所有Java程序都可按照这种方式进行创建。

  图5-23  程序运行结果

 5.3  选择浏览器开始测试

  要开始测试,首先得清楚要测试什么浏览器,在Selenium 2中,一共支持以下几种浏览器的测试。

  Firefox (FirefoxDriver)。

  IE (InternetExplorerDriver)。

  Chrome (ChromeDriver)。

  Opera (OperaDriver)。

  Android (AndroidDriver)。

  iPhone (IPhoneDriver)。

  需要注意的是,其中前3个浏览器是很容易就能测试的,只需在电脑中安装相应的浏览器就可以开始测试了。

  而对于Opera浏览器,C#和Java的处理方式各不相同。而对于Android和iPhone,它们在测试前需要安装支持软件,这些都将在“8.1 对Opera/IPhone/Android进行测试”中进行介绍。

  所以,在最开始阶段,假定只会用到前面3种浏览器,并且已经在自己机器上进行过安装,然后就可以开始测试了。

  要开始测试,首先得创建Selenium的实例,也就是对应的Driver。

  如果需要对Firefox进行测试,则需要用到FirefoxDriver,代码如程序清单5-3或程序清单5-4所示。

  程序清单5-3  C#代码

usingSystem;
usingOpenQA.Selenium;//注意这里引用了Selenium的命名空间
usingOpenQA.Selenium.Firefox;//注意这里引用了Selenium的命名空间
namespaceConsoleApplication1
{
classProgram
{
staticvoidMain(string[]args)
{
IWebDriverdriver=newFirefoxDriver();
}
}
}

  程序清单5-4  Java代码

packageProject1;
importorg.openqa.selenium.*;//注意这里导入了selenium包中内容
importorg.openqa.selenium.WebDriver.*;//注意这里导入了selenium包中内容
importorg.openqa.selenium.firefox.*;//注意这里导入了selenium包中内容
publicclassProject1Class{
publicstaticvoidmain(String[]args){
//如果启动出现问题,可以使用System.setProperty指出firefox.exe的路径
//System.setProperty("webdriver.firefox.bin","D:\\ProgramFiles(x86)\\MozillaFirefox\\firefox.exe");
WebDriverdriver=newFirefoxDriver();
}
}

  注意程序清单5-3和程序清单5-4中引用了一个名为OpenQA.Selenium.Firefox的命名空间,FirefoxDriver位于该命名空间内。

  如果要使用IE,则命要对名空间和实例化对象部分更改,如程序清单5-5或程序清单5-6所示。

  程序清单5-5  C#代码
  

using System;
using OpenQA.Selenium;
using OpenQA.Selenium.IE;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
IWebDriver driver =new InternetExplorerDriver();
}
}
}



 程序清单5-6  Java代码

package Project1;
import org.openqa.selenium.*;
import org.openqa.selenium.WebDriver.*;
import org.openqa.selenium.ie.*;
public class Project1Class {
public static void main(String[] args) {
//如果启动出现问题,可以使用System.setProperty指明webdriver.ie.driver的路径,webdriver.ie.driver可以在http://code.google.com/p/selenium/downloads/list下载
//System.setProperty("webdriver.ie.driver","E:\\IEDriverServer.exe");
WebDriver driver=new InternetExplorerDriver();
}
}

  对Chrome也是一样的,只需将命名空间改为OpenQA.Selenium.Chrome,实例化对象改为new ChromeDriver()即可。

  编译并执行程序清单的代码,对应的浏览器将会打开,如图5-24所示。

  图5-24  打开的浏览器

  5.4  浏览器导航对象Navigation

  打开了浏览器器之后,就可以打开指定的页面来进行测试了。在Selenium 1中,可以直接通过Selenium的open()方法来打开页面,但在Selenium 2中则不同,要导航页面,需要用到Navigation对象。

  可以通过WebDriver的Navigate()方法获得Navigation对象实例,代码如程序清单5-7和程序清单5-8所示。

  程序清单5-7  C#代码

IWebDriver driver = new FirefoxDriver();
INavigation navigation = driver.Navigate();

  程序清单5-8:Java代码

WebDriver driver = new FirefoxDriver();
Navigation navigation = driver.navigate();

  在获取该对象后,就可以执行跳转到指定URL、前进、后退、刷新页面等操作了。

  5.4.1  GoToUrl()/to()

  对C#来说,可以用GoToUrl()方法来实现页面的跳转;而对Java来说,可以使用to()来进行跳转。在这两个方法中,只需将URL作为参数即可,如程序清单5-9或程序清单5-10所示。

  程序清单5-9  C#代码

IWebDriver driver = new FirefoxDriver();
INavigation navigation = driver.Navigate();
navigation.GoToUrl(http://www.baidu.com);





  程序清单5-10  Java代码

WebDriver driver = new FirefoxDriver();
Navigation navigation = driver.navigate();
navigation.to(http://www.baidu.com);

  执行代码,将打开百度主页,如图5-25所示。

  图5-25:跳转到百度主页

  注意:执行GoToUrl()/to()方法时,代码会自动等待页面加载完毕再执行下一句,也就是浏览器状态栏为“完成”时再执行下一句。

  5.4.2  Back()/Forward()

  在浏览器上,可以按“前进”和“后退”按钮来进行导航,通过Back()/Forward()方法,也可以实现这种导航功能。

  下面将举例说明先打开百度主页,再打开Google主页,之后进行后退和前进操作,代码如程序清单为防止执行过快,每个操作后面加了3秒等待时间Thread.Sleep(3000)。

  程序清单5-11  C#代码

using System;
using OpenQA.Selenium;
using OpenQA.Selenium.Firefox;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
IWebDriver driver = new FirefoxDriver();
INavigation navigation = driver.Navigate();
navigation.GoToUrl(http://www.baidu.com);
navigation.GoToUrl("http://www.google.com.hk");
System.Threading.Thread.Sleep(3000);
navigation.Back();
System.Threading.Thread.Sleep(3000);
navigation.Forward();
}
}
}

本文选自《Selenium自动化测试指南》第五章节,本站经人民邮电出版社和作者的授权,近期将进行部分章节的连载,敬请期待!

版权声明:51Testing软件测试网获人民邮电出版社和作者授权连载本书部分章节。

任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任。

相关文章:

安装并引用Selenium 2—Selenium自动化测试指南(1)

查找条件对象By—Selenium自动化测试指南(3)

posted on 2013-08-30 09:13 顺其自然EVO 阅读(3080) 评论(0)  编辑  收藏 所属分类: selenium and watir webdrivers 自动化测试学习


只有注册用户登录后才能发表评论。


网站导航:
 
<2013年8月>
28293031123
45678910
11121314151617
18192021222324
25262728293031
1234567

导航

统计

常用链接

留言簿(55)

随笔分类

随笔档案

文章分类

文章档案

搜索

最新评论

阅读排行榜

评论排行榜