selenium2 基于对象的测试,在selenium2中一共支持以下浏览器:
- Firefox(FirefoxDriver)
- IE(InternetExplorerDriver)
- Chrome(ChromeDriver)
- Opera(OperaDriver)
- Andriod(AndroidDriver)
- iPhone(IPhoneDriver)
一、Firefox浏览器测试
//打开默认路径的firefor(C:\Program Files (x86)\Mozilla Firefox\firefox.exe)
package Test;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;
//打开firefox浏览器
public class TestDemo1 {
public static void main(String[] args) {
WebDriver driver;
//默认打开是去C盘下面去找,但是我们不是安装在C盘下,所以要指明路径 setProperty()设置指定键对值的系统属性
System.setProperty("webdriver.firefox.bin","F:\\软件安装\\firefox\\firefox.exe"); //双斜杠是转义
//实例化一个对象firefox
driver=new FirefoxDriver();
String testUrl="http://192.168.3.86:8701/yunling-pac-adm/login.jhtml";
driver.get(testUrl);
driver.quit();
}
}
注:如果浏览器启动不能打开网页,可能是firefox版本过高
二、Chrome浏览器测试
chrome在 webdriver中没有自带的驱动,需要网上下载一个
WebDriver driver=new ChromeDriver();
System.setProperty("webdriver.chrome.driver", "E:\\webdriver\\chromedriver\\chromedriver.exe");
//这是与firefox一各很大的区别
三、IE浏览器测试
也需要下载驱动
System.setProperty("webdriver.ie.driver", "F:\\webdriver\\iedriver\\IEDriverServer.exe");
driver=new InternetExplorerDriver();
四、使用Mac系统中的Safari浏览器测试
环境准备:在Mac系统中默认都会安装Safari浏览器,所以无需进行特别的安装配置,使用webdriver自动化无需下载驱动程序
直接实例化浏览器对象
WebDriver driver = new SafariDriver() ;
五、使用TestNG进行并发兼容性测试
Web项目中经常会进行浏览器的兼容性测试,而兼容性测试的工作重复性相当高,TestNG提供了并发执行测试用例的功能,可以让测试用例以并发的形式执行,实现并发测试不同浏览器的兼容性测试需求。
测试用例说明:分别使用IE,Chrome,Firefox浏览器,并发方式打开sogou首页中搜索某个关键词。
测试代码:
public class BingFaTest {
private WebDriver driver;
private String baseUrl="http://www.sogou.com";
@Parameters("browser")
@BeforeClass
public void BeforeTest(String Browser){
if(Browser.equalsIgnoreCase("firefox")){
System.setProperty("webdriver.firefox.bin", "F:\\firefox\\firefox.exe");
driver=new FirefoxDriver();
}else if (Browser.equalsIgnoreCase("ie")) {
System.setProperty("webdriver.ie.driver", "F:\\webdriver\\iedriver\\IEDriverServer.exe");
driver=new InternetExplorerDriver();
}else {
System.setProperty("webdirver.chrome.driver", "E:\\webdriver\\chromedriver\\chromedriver.exe");
driver=new ChromeDriver();
}
driver.get("http://www.sogou.com");
}
@Test
public void testSougoSearch() throws InterruptedException {
driver.get(baseUrl);
driver.findElement(By.id("query")).sendKeys("自动化测试");
driver.findElement(By.id("stb")).click();
Thread.sleep(10000);
Assert.assertTrue(driver.getPageSource().contains("自动化"));
}
@AfterClass
public void AfterClass(){
driver.close();
}
}
TestNG.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name ="Suite" parallel="tests" thread-count="3">
<test name ="FirefoxTest">
<parameter name="browser" value="firefox"/>
<classes >
<class name="cn.gloryroad.BingFaTest"/>
</classes>
</test>
<test name="IETest">
<parameter name="browser" value="ie"/>
<classes>
<class name="cn.gloryroad.BingFaTest"/>
</classes>
</test>
<test name="ChromeTest">
<parameter name="browser" value="chrome"/>
<classes>
<class name="cn.gloryroad.BingFaTest"/>
</classes>
</test>
</suite>
需要驱动包的私问我!
- [技术博客]基于动态继承类、WebDriver的浏览器兼容性测试框架搭建
问题背景 观察使用selenium进行自动化测试的过程,我们可以将它概述为: 启动测试进程,在该进程中构建WebDriver 启动浏览器进程,将它与WebDriver建立连接 使用WebDriver向 ...
- selenium + python 多浏览器测试
selenium + python 多浏览器测试 支持库包 在学习 Python + Selenium 正篇之前,先来看下对多浏览器模拟的支持.目前selenium包中已包含webdriver,hel ...
- Python多线程Selenium跨浏览器测试
前言 在web测试中,不可避免的一个测试就是浏览器兼容性测试,在没有自动化测试前,我们总是苦逼的在一台或多台机器上安装N种浏览器,然后手工在不同的浏览器上验证主业务流程和关键功能模块功能,以检测不同浏 ...
- 【Python】详解Python多线程Selenium跨浏览器测试
前言 在web测试中,不可避免的一个测试就是浏览器兼容性测试,在没有自动化测试前,我们总是苦逼的在一台或多台机器上安装N种浏览器,然后手工在不同的浏览器上验证主业务流程和关键功能模块功能,以检测不同浏 ...
- Selenium多浏览器测试
在浏览器的兼容性测试中,会测试产品在不同浏览器上的兼容性,比较主流的浏览器有IE.Firefox.Chrome,Opera,Safari等.还有其它如360.QQ.遨游.百度等浏览器都是基于IE或者c ...
- Python+Selenium学习笔记18 - 不开启浏览器测试
运行脚本时间比较长时可以不打开浏览器测试,这样在测试运行时,电脑还是可以用作其他操作的. 只需要在运行脚本上加上下面代码的678行即可 1 # coding = utf-8 2 3 from sele ...
- 《手把手教你》系列技巧篇(二十三)-java+ selenium自动化测试-webdriver处理浏览器多窗口切换下卷(详细教程)
1.简介 上一篇讲解和分享了如何获取浏览器窗口的句柄,那么今天这一篇就是讲解获取后我们要做什么,就是利用获取的句柄进行浏览器窗口的切换来分别定位不同页面中的元素进行操作. 2.为什么要切换窗口? Se ...
- modern.IE – Web 开发必备的 IE 浏览器测试工具
modern.IE 是微软推出的一个开发人员中心,提供免费的工具和资源,旨在使您能够花更少的时间来测试各种版本的 Internet Explorer,并留出更多时间在现代 Web 上构建重要的内容.m ...
- 使用python selenium webdriver模拟浏览器
selenium是进行web自动化测试的一个工具,支持C,C++,Python,Java等语言,他能够实现模拟手工操作浏览器,进行自动化,通过webdriver驱动浏览器操作,我使用的是chrome浏 ...
随机推荐
- docker~使用阿里加速器
回到目录 国外的docker hub速度慢这是公认的,而我们可以使用阿里提供的加速器,管理你的镜像,拉别人的镜像等等. 注册一个阿里的账号 进行加速器页面https://cr.console.aliy ...
- jmeter问题处理随笔1 - CSV取值数据异常处理(包含"号,","号的情况)
背景 jmeter测试中通过CSV进行用例数据的管理,在result断言中间需要使用json格式的数据,会包含 " ",",这个时候发现CSV取值会报错或者乱码 解决 用 ...
- 【CSS3】块级元素与行内元素的区别
一.行内元素与块级函数的三个区别 行内元素的特点: 和其他元素都在一行上: 高,行高及外边距和内边距部分可改变: 宽度只与内容有关: 行内元素只能容纳文本或者其他行内元素. 行内元素设置width无效 ...
- OpenLayers3--ol3--新特性
OL3: A high-performance, feature-packed library for all your mapping needs < 一个可以满足各种地图应用的高性能的.功能 ...
- MySQL日期、时间相关内容
欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...
- 初探Matplotlib
初探Matplotlib 例子来自此书: <Python编程从入门到实战>[美]Eric Matthes 使用pyplot绘图,一般的导入方法import matplotlib.pyplo ...
- img标签在div中水平垂直居中--两种实现方式
第一种方式: text-align:center; vertical-align:middle; div{ text-align: center; vertical-align:middle;widt ...
- 结合bootstrap fileinput插件和Bootstrap-table表格插件,实现文件上传、预览、提交的导入Excel数据操作流程
1.bootstrap-fileinpu的简单介绍 在前面的随笔,我介绍了Bootstrap-table表格插件的具体项目应用过程,本篇随笔介绍另外一个Bootstrap FieInput插件的使用, ...
- [小北De编程手记] Lesson 01 - AutoFramework构建 之 从一个简单的Demo聊起
写在最前面 这个系列的主旨是要跟大家分享一下关于自动化测试框架的构建的一些心得.这几年,做了一些自动化测试框架以及团队的构建的工作.过程中遇到了很多这样的同学,他们在学习了某一门语言和一些自动化测试的 ...
- jQuery实现拼图小游戏
小熊维尼拼图 2017-07-23 ...