我只能说因为版本冲突,简直太折腾了,而搜了无数个博友的帖子才找到正确条案,就不能好好的写篇文章吗?

最近真的是太闲太闲了,平时没事总得搞点技术,不然心里感觉好空虚,

最近看上了selenium,所以试一下

没啥目标

头一篇这个环境搞的崩溃了,都是版本冲突,目前为止,我还未有解决firefox与selenium的版本冲突问题

这是一篇只讲chrome的文章

1、selenium下载最新版本,我在官网下载的

http://selenium-release.storage.googleapis.com/3.5/selenium-java-3.5.2.zip如果人品好,一般是下载得成功的

下载后解压

client-combined-3.5.2-nodeps-sources 是源代码,如果到时候在eclipse中查看源码的话,可以到时候再加进去咯

2、chrome浏览器与chromedriver的区别

浏览器不用说了,就是我们平常使用的,我这里没有特意讲版本,就是我以前安装过的

我是以v55来找chromedriver版本的

那么,chromedriver是什么呢?

ChromeDriver是Chromium team开发维护的,它是实现WebDriver有线协议的一个单独的服务。ChromeDriver通过chrome的自动代理框架控制浏览器
就是说它是chrome的一个插件,是为了webDriver调用时控制可以控制浏览器自动操作的一个东东了
那么要想让selenium成功的操作chrome浏览器,那么必须下载chromeDriver驱动包
这里问题就来了:
chrome浏览器版本与chromeDriver驱动包版本是要注意的,以下摘抄自网络,出处:http://blog.csdn.net/huilan_same/article/details/51896672

下载地址:http://chromedriver.storage.googleapis.com/index.html

我下载的是v2.28,下载地点是在CSDN,度娘一搜就有

3、最后一步代码,只是简单的调用test

package seleniumLearn1;

import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver; public class Test {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver","E:\\webDriver\\chromedriverV2.28.exe");//chromedriver服务地址
WebDriver driver =new ChromeDriver(); //新建一个WebDriver 的对象,但是new 的是FirefoxDriver的驱动
driver.get("http://www.baidu.com");//打开指定的网站
driver.findElement(By.id("kw")).sendKeys(new String[] {"hello"});//找到kw元素的id,然后输入hello
driver.findElement(By.id("su")).click(); //点击按扭
try {
/**
* WebDriver自带了一个智能等待的方法。
dr.manage().timeouts().implicitlyWait(arg0, arg1);
Arg0:等待的时间长度,int 类型 ;
Arg1:等待时间的单位 TimeUnit.SECONDS 一般用秒作为单位。
*/
driver.manage().timeouts().implicitlyWait(3, TimeUnit.SECONDS);
} catch (Exception e) {
e.printStackTrace();
}
/**
* dr.quit()和dr.close()都可以退出浏览器,简单的说一下两者的区别:第一个close,
* 如果打开了多个页面是关不干净的,它只关闭当前的一个页面。第二个quit,
* 是退出了所有Webdriver所有的窗口,退的非常干净,所以推荐使用quit最为一个case退出的方法。
*/
driver.quit();//退出浏览器
}
}

  

 运行:

selenium+java+chrome环境搭建的更多相关文章

  1. 行为驱动:Cucumber + Selenium + Java(一) - 环境搭建

    1.1 什么是行为驱动测试 说起行为驱动,相信很多人听说过. 行为驱动开发-BDD(Behavior Driven Development)是一个诞生于2003年的软件开发理念.其关键思想在于通过与利 ...

  2. Java自动化环境搭建笔记(2)

    Java自动化环境搭建笔记(2) 自动化测试 在笔记一中已经完成了一键构建项目.xml指定规划测试集.数据解耦与allure报告生成的开发.接下来便是: 浏览器驱动通过配置启动 页面元素定位解耦,通过 ...

  3. centos7下Maven Java selenium3环境搭建

    centos7下Maven Java selenium3环境搭建 一.Jdk安装 我这里用的是open-jdk. [adawang@localhost src]$ sudo yum search op ...

  4. 菜鸟学自动化测试(八)----selenium 2.0环境搭建(基于maven)

    菜鸟学自动化测试(八)----selenium 2.0环境搭建(基于maven) 2012-02-04 13:11 by 虫师, 11419 阅读, 5 评论, 收藏, 编辑 之前我就讲过一种方试来搭 ...

  5. selenium + python 自动化测试环境搭建

    selenium + python 自动化测试 —— 环境搭建 关于 selenium Selenium 是一个用于Web应用程序测试的工具.Selenium测试直接运行在浏览器中,就像真正的用户在操 ...

  6. Selenium终极自动化测试环境搭建(一) Selenium+Eclipse+Junit+TestNG

    Selenium终极自动化测试环境搭建(一)Selenium+Eclipse+Junit+TestNG 第一步 安装JDK JDk1.7. 下载地址:http://www.oracle.com/tec ...

  7. Selenium2(java)环境搭建 一

    Selenium2(java)环境搭建 1.下载JDK http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2 ...

  8. selenium+python爬虫环境搭建

    前言: 准备使用selenium爬取网站数据,先搭建selenium+python爬虫环境搭建 系统环境: 64位win10系统,同时装python2.7和python3.6两个版本,IDE为pych ...

  9. Selenium自动化测试值环境搭建

    Selenium自动化测试之环境搭建 一.背景介绍 自动化测试近几年在测试领域很火,出去面试要是说不会自动化测试薪资都不好意思往高了要!很多公司做敏捷测试用到自动化,其他一些公司也是跟风,即使用不上自 ...

随机推荐

  1. 淘宝分布式数据层TDDL

    剖析淘宝 TDDL ( TAOBAO DISTRIBUTE DATA LAYER ) 注:原文:http://gao-xianglong.iteye.com/blog/1973591   前言 在开始 ...

  2. 根据第三方提供的webservice地址获取文件信息

    import org.apache.axis.client.Call; import org.apache.axis.client.Service; import org.apache.axis.en ...

  3. 菜鸟调错(二)——EJB3.0部署消息驱动Bean抛javax.naming.NameNotFoundException异常

    在部署EJB的消息驱动Bean时遇到了如下的错误: ERROR [org.jboss.resource.adapter.jms.inflow.JmsActivation] (WorkManager(2 ...

  4. android studio - Manifest merger failed with multiple errors, see logs

    今天编译运行的时候遇到了“Error:Execution failed for task ':test:processDebugManifest'.> Manifest merger faile ...

  5. angular学习笔记(三十一)-$location(1)

    本篇介绍angular中的$location服务的基本用法,下一篇介绍它的复杂的用法. $location服务的主要作用是用于获取当前url以及改变当前的url,并且存入历史记录. 一. 获取url的 ...

  6. js中实现对checkbox选中和取消

    可以使用 element.attr('checked','checked') 来进行选中.但是不能使用 element.attr('checked','false') 来取消选中. 必须通过以下方式: ...

  7. 【Java】Java复习笔记-三大排序算法,堆栈队列,生成无重复的随机数列

    冒泡排序 package com.lcw.bubble; public class BubbleSort { /** * 冒泡排序 * @param args * @author 成鹏致远 */ pu ...

  8. 【消息】linux之消息队列

      1.机制 消息队列的运行方式与命名管道非常相似. 欲与其他进程通信的进程只需要将消息发送到消息队列中,目的进程就从消息队列中读取需要的消息. 2.源码 1)发送方 //msg_send.c #in ...

  9. vue中$router和$route的区别

    $router是VueRouter的实例,在script标签中想要导航到不同的URL,使用$router.push方法. 返回上一个历史history用$router.to(-1) $route为当前 ...

  10. LeetCode: Search Insert Position 解题报告

    Search Insert Position Given a sorted array and a target value, return the index if the target is fo ...