初识自动化测试(about selenium)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013165534/article/details/78697008

let’s start
敏捷开发掀起了自动化测试的热潮,自动化测试作为质量保证手段之一,虽然不可能完全替代手工测试,但也是一个大趋势。so,多学一点总没错。

自动化测试相对于手工测试优点如下:
1.完成某些手工测试难以完成的工作,如并发测试,压力测试
2.提高测试效率,可执行多个重复步骤的测试用例,敏捷开发过程中,可快速验证代码的正确性

but,实施自动化也需要满足以下条件的:
1.需求变动不频繁
2.项目周期够长
3.自动化脚本可重复使用

目前,性能测试工具有 jmeter和loadrunner ,功能测试则有QTP和selenium。loadrunner和QTP(适用于C/S,B/S结构)作为商业工具,功能虽强大,但却是收费的。而jmeter和selenium(只适用于B/S架构)则是免费的,开源的,轻量级的,并且selenium支持众多语言,包括java、python等等。。。

about selenium:
selenium 1.0 : 也就是selenium RC,是需要先启动selenium server端(selenium remote control),浏览器上所有的请求和响应都是通过http代理与实际的WEB应用服务器进行交互。而selenium core实际上是一系列Javascript函数。
selenium 2.0:webDriver与selenium RC结合就是selenium2了,大概发行于2011年,最显著的特点就是不用再启动server端了,供了完全另外的一种方式与浏览器交互。那就是利用浏览器原生的API,这也就导致了浏览器厂商不同,需要提供不同的实现。还可以测试手机程序哦。
selenium 3.0 :需要geckodriver 来支持。。。。。。。

莫急,let’s正式start
Selenium IDE,基于火狐浏览器啊的一款附加组件,不会写代码也可以玩,提供录制功能,保存测试过程中的操作,使测试用例的回放能模拟用户实际操作,查看期望值与实际值是否匹配。在firefox附加组件中搜索selenium IDE,根据浏览器版本选择安装,呐,这两个,安装完重启,就可以用了。具体不再多说了。
这里写图片描述
这里写图片描述
下面是它的主界面:
这里写图片描述

下面就是介绍今天的猪脚,webdriver + java 来个简单实践
1.安装jdk
2.安装eclipse
3.下载webDriver的java客户端程序,可到selenium官网下载,http://www.seleniumhq.org/download/(经常打不开)
打不开的话,那就去这个镜像地址: http://npm.taobao.org/mirrors/selenium 不过只有java和donet版的,
下载后解压,可以看到以下文件(注意看看CHANGELOG啊,里面可以看到你所下的jar包所支持的firefox的版本):
这里写图片描述
4.启动eclipse,建好project,导入selenium-java-2.53.1.jar和selenium-java-2.53.1-srcs.jar(我用的版本为2.53.1),build path(不细说了)
5.首先使用firefoxDriver来一个简单小栗子,我用的是firefox 46。示例代码如下(浏览器安装在默认目录):

    WebDriver driver=new FirefoxDriver();  //启用FireFoxDriver
    driver.get("http://www.baidu.com/");   //打开百度主页
    WebElement txtbox=driver.findElement(By.name("wd"));   //找到搜索输入框
    txtbox.sendKeys("WebDriver");    //输入
    WebElement btn=driver.findElement(By.id("su"));  //找到搜索按钮

如果没有安装在默认目录,则需要指定路径,有两种方式:
1.System.setProperty("webdriver.firefox.driver", "E:\\ProgramData\\Mozilla Firefox\\firefox.exe");
2.File FirefoxPath=new File("E:\\ProgramData\\Mozilla Firefox\\firefox.exe");
FirefoxBinary FireBinary =new FirefoxBinary(FirefoxPath);//加载firefox实际安装路径
WebDriver driver = new FirefoxDriver(FireBinary,null);

程序代码如下:
这里写图片描述
点击运行,如果顺利,那就恭喜你,如果出现打不开浏览器,或者打开浏览器无法输入网址,那大多是selenium和火狐浏览器版本不兼容,有几种报错可能都是这个原因导致的:
1.org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1
on port 7055 after 45000 ms. Firefox console output:
2.selenium.common.exceptions.WebDriverException: Message: Expected browser binary location,
but unable to find binary in default location, no 'moz:firefoxOptions.binary' capability provided

附火狐浏览器个版本镜像下载地址:https://download-installer.cdn.mozilla.net/pub/firefox/releases/
以上就是最简单的通过FirefoxDriver来驱动浏览器并访问Web页面的示例。

7.使用chrome Driver,同样需要将selenium包加载进工程,有别于firefox Driver, chrome Driver需要单独下载(同样得注意版本,版本映射关系:http://blog.csdn.net/huilan_same/article/details/51896672),各版本镜像下载地址:http://npm.taobao.org/mirrors/chromedriver/,下载解压后得到chromedriver.exe文件,在代码中指定路径,示例代码如下:

 public static void main(String[] args) {
    System.setProperty("webdriver.chrome.driver", "C:\\Documents and Settings\\Administrator\\LocalSettings\\Application Data\\Google\\Chrome\\Application\\chromedriver.exe");
    WebDriver driver = new ChromeDriver();
    driver.get("http://www.baidu.com/");
}

如果没有指定chromeDriver.exe则会报错:Exception in thread "main" java.lang.IllegalStateException: The driver executable does not exist

猜你喜欢

转载自blog.csdn.net/u013165534/article/details/78697008
今日推荐