Selenium_Java版本安装及初试
【环境】
①JDK版本:jdk1.8.0_73
②Eclipse:jee-mars-4.5.2
③Selenium:selenium-java-3.5.3
④GoogleChrome:60
⑤chromedriver:2.30; 注:chromedriver版本与GoogleChrome版本需要对应,参见:http://www.cnblogs.com/xpp142857/p/7550490.html
1.获取Selenium
下载网址:http://docs.seleniumhq.org/download/
在此之前,已经决定了要用Java去编写Selenium自动化测试脚本,所以需要安装Java版本的Selenium包。

2.在Eclipse中加载Selenium jar包
①解压selenium-java-3.5.3.zip包,目录如下,Eclipse中进行Selenium脚本的准备,需要用到该文件夹中的jar包;

②在Eclipse中创建Java Project、在Java Project上创建Package和Class,这里将Java Project命名为“SeleniumTest1”,Package命名为“com.SeleniumLib.jase”,Class命名为“T1.java”;

③导入Java中需要用到Selenium包,即下载到的解压文件中的jar包,添加其下面的所有jar文件,可以通过Ctrl+a一次选择一个目录下的所有文件进行添加,包括libs目录下的所有jar包。

3.构建测试代码
在T1.java中键入如下代码,使用“System.setProperty”方法设置Chrome驱动的加载路径;
package com.SeleniumLib.jase;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver; public class T1{
public static void main(String[]args){ System.out.println("start selenium");
///////////如下为对百度网页进行一次搜索的过程;/////////// WebDriver driver;
System.setProperty("webdriver.chrome.driver","D:/selenium-java-3.5.3/chromedriver.exe"); driver = new ChromeDriver();
driver.get("http://www.baidu.com/");
///////通过元素属性id=kw找到百度输入框,并输入"Selenium java";
driver.findElement(By.id("kw")).sendKeys("Selenium java");
///////通过元素属性id=su找到百度一下搜索按钮,并对按钮进行点击操作;
driver.findElement(By.id("su")).click();
///////driver.close(); //暂时注释掉
}
}
至于为什么上面的百度输入框id=kw,百度一下搜索按钮id=su,这就需要我们利用前端工具,对测试网页代码上携带的元素进行分析定位了;
查看元素的方法:
①谷歌浏览器“F12”进入开发者工具;
②定位“元素”的代码,需要开启“Elements”页面的“Select an element in the page to inspect it”,意为“元素审查”,开启则该工具图标置为蓝色,如下图所示;开启后,点击页面需要查看的元素,开发者工具会帮我们定位该元素的代码,我们即可知道该元素的属性等信息;

根据上面介绍的查看元素的方法,可以得到Chrome浏览器上百度搜索主页的“输入框”&&“百度一下按钮”;
--------------------输入框--------------------

--------------------“百度一下”搜索按钮--------------------

Selenium_Java版本安装及初试的更多相关文章
- Atitti.dw cc 2015 绿色版本安装总结
Atitti.dw cc 2015 绿色版本安装总结 1.1. 安装程序无法初始化.请下载adobe Support Advisor检测该问题.1 1.1.1. Adobe Application M ...
- centos7最小版本安装nginx+tomcat+java+mysql运行环境
最近项目从windows搬到linux,由于项目组成员有限并且有其它紧急的任务需要处理,因而这个任务就落到我的头上了.下面记录下centos最小版本安装nginx+tomcat+mysql+java的 ...
- Robot Framework-Windows版本安装
Robot Framework-Mac版本安装 Robot Framework-Windows版本安装 Robot Framework-工具简介及入门使用 Robot Framework-Databa ...
- Robot Framework-Mac版本安装
Robot Framework-Mac版本安装 Robot Framework-Windows版本安装 Robot Framework-工具简介及入门使用 Robot Framework-Databa ...
- centOS 6.x 版本安装 node.js 4.x 以上版本的方法
由于 node 4.x 以上版本,通过编译源代码来安装,对 GCC 的版本有要求,而 centos 的 GCC 版本不够,更新 GCC 也很麻烦,所以只能通过别的方式解决. 这里主要介绍直接下载编译后 ...
- 如何为ubuntu server 版本 安装图形界面
强烈建议使用命令行的交互方式,就算你在server上装了图形界面,但是在Linux上,大部分重要的操作还是要通过命令行的方式进行操作. 如何为ubuntu server 版本 安装图形界面 Ubunt ...
- (新)elasticsearch6.0版本安装head插件
ES6.0版本安装head插件 1.1 前言 不知道是我电脑问题还是最近的开源软件都比较**,mysql和elasticsearch新版本变动都比较大. elasticsearch6.0貌似已经不支持 ...
- Node.js 多版本安装
Node.js 多版本安装 Node.js® is a JavaScript runtime built on Chrome's V8 JavaScript engine(Node.js 是一个基于 ...
- Microsoft Dynamics CRM 9.0 OP 版本 安装 的那些 雷
天天讲安装过程好无聊了,还是搞点有营养的东西来,那么后面来说说刚出来的MSCRM OP 9.0 版本安装的那些雷: 雷1:操作系统要求Windows 2016 Server 这点还好,因为之前安装MS ...
随机推荐
- php 下载文件的头信息 Determine Content Type
<?php if(!function_exists('mime_content_type')) { function mime_content_type($filename) { $mime_t ...
- CSS3 background-size图片自适应
http://www.html5cn.com.cn/css3/2013-04-21/267.html background-size属性和background-origin属性.background- ...
- 无格式转换php
// 无格式转换function ClearHtml($content,$allowtags='') { mb_regex_encoding('UTF-8'); //replace MS specia ...
- linux常用命令(CentOS)
1.目录切换命令 linux目录结构 ps:绿色标注为常用命令 cd xx 切换到该目录下的xx目录 cd ../ 切换到上一层目录 cd / 切换到系统根目录 cd ~ 切换到用户主目录 cd - ...
- python爬虫知乎
在之前写过一篇使用python爬虫爬取电影天堂资源的博客,重点是如何解析页面和提高爬虫的效率.由于电影天堂上的资源获取权限是所有人都一样的,所以不需要进行登录验证操作,写完那篇文章后又花了些时间研究了 ...
- Jade报错:Invalid indentation,you can use tabs or spaces but not both问题
现象:通过html生成jade文件之后,更改jade文件时,语句没什么问题的情况下,jade文件编译不通过,报错:Invalid indentation,you can use tabs or spa ...
- python实现冒泡排序和快速排序
冒泡排序和快排的python实现: data = [1, 3, 5, 10, 4, 7] times = 0 "冒泡排序" for i in range(len(data)): f ...
- Spring AOP中 args和arg-names的区别
这两天在看aop aspectj的各种语法,发现里面有两个概念 args和arg-names很容易混淆,网上也基本没说清楚,所以就动手试了一下,发现还是自己试试比较好理解 先说结论: args是和ex ...
- [one day one question] Vue单页面应用如何保证F5强刷不清空数据
问题描述: Vue单页面用按F5强刷,数据就恢复初始了,这怎么破? 解决方案: store.subscribe((mutation, state) => { sessionStorage.set ...
- javascript之this
全局作用域的this this == window //true this.a = 8 window.a 一般函数的this function thisTest(){ return this; } t ...