当前位置: 首页 > news >正文

【自动化测试教程】Java+Selenium自动化测试环境搭建

本主要介绍以Java为基础,搭建Selenium自动化测试环境,并且实现代码编写的过程。

1.Selenium介绍

Selenium 1.0 包含 core、IDE、RC、grid 四部分,selenium 2.0 则是在两位大牛偶遇相互沟通决定把面向对象结构化(OOPP)和便于编写代码的各自思想予以整合后形成的新工具,也就是我们所指的 Web Driver。Core 是 selenium 的核心,在后期虽然被封装,但只是减少了可视性,它依旧是驱动selenium 的核心;IDE 是一款 firefox 浏览器插件,主要用于新手或对编码还不熟悉的人员入门时使用,这个插件允许在 firefox 中录制一段 web 操作代码,导出后在 eclipse 中修改并运行,但测试人员在项目实际使用中不推荐使用这个插件,因为它只会降低测试人员的编码能力; Web Driver 是开展 web 页面测试的关键核心,也是目前主流测试工具之一。Selenium 可以结合 Junit 使用,既可以进行单元测试,也可以开展集成测试,既是代码测试工具,也是功能测试工具,下面我们就工具的使用一步一步的入门。

2. 环境配置

2.1 安装JDK

​同样正确配置 jre 路径后点击下一步

输入:java –version 验证 jdk 安装正确性

2.2 配置环境变量

创建JDK Home路径

 追加配置 path 的系统环境变量

3.Selenium IDE的使用

3.1 环境准备

1)安装 firefox

如果不使用默认安装,以后使用代码中是要加料的哦~,这里我们以普通用户习惯,不

安装在系统盘中,稍后将对需要修改配置的地方做说明。

3.2 使用selenium IDE

1) 安装 Selenium IDE 插件

打开 firefox 浏览器,附加组件搜索selenium IDE,在弹出的软件安装页面中点击立即安装,安装后重新启动浏览器,插件将起作用。

2) Selenium IDE 其他的重要功能

本文开始时提到了,Selenium IDE 还有一个重要的功能就是把脚本的转

换,一起看看吧:>

​Selenium IDE 可以把 HTML 的脚本转为 C#,JAVA 等等其他语言的脚本,为我们日后写 WebDriver 的测试案例提供了极大的方便。

4.WebDriver实例

4.1 准备工作

打开 Eclipse,首先在 windowspreferences 下选择编码格式为 UTF-8,如下图所示:

 ​安装TestNG,Help-Eclipse Marketplace

4.2 新建项目

File new project,选择 java 项目,下一步:

 ​输入项目名称 testngstudynextfinish

 ​创建selenium脚本,选择TestNG class,点击Next

 

4.3 开始编码

  • Java+Selenium 实现登录功能

说明:纯 Java 的时候不需要引入TestNG,只需要引入“selenium-server-standalone-2.21.0.jar”包。

文件名称:TestBaidu0325.java

文件代码:

package com.study;import org.junit.Assert;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;public class  TestBaidu0325 {
public static void main(String[] args) {
/*google浏览器*/
System.setProperty("webdriver.chrome.driver","C:\\ProgramFiles\\driver\\chromedriver.exe")找不到chromedriver时,强制制定webdriver路径。WebDriver driver =new ChromeDriver();String url = "http://www.baidu.com";driver.get(url);driver.manage().window().maximize();窗口最大化,加大页面回访的稳定性driver.findElement(By.id("kw")).sendKeys("selenium");driver.findElement(By.id("su")). click ();try {Thread.sleep(1000);延时设置,避免网页加载慢找不到页面元素} catch (InterruptedException e) {// TODO Auto-generated catch block
e.printStackTrace();
}
/*所谓的断言*/
Assert.assertTrue(driver.getTitle().contains(“selenium”));
driver.quit();
}
}

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

 

相关文章:

  • Vue CRUD 弹出窗口 表单验证 增删改查 接口文档
  • 【随手记】聚簇索引、二级索引和联合索引
  • Visual Studio Code 常用快捷键大全
  • 100量子比特启动实用化算力标准!玻色量子重磅发布相干光量子计算机
  • 【漏洞复现】74cms任意文件读取
  • HCIE-kubernetes(k8s)-Authentication身份验证
  • SpringCloud 微服务全栈体系(十)
  • leetcode_208 实现Trie(前缀树)
  • zookeeper节点类型
  • 听GPT 讲Rust源代码--library/std(13)
  • 集线器、交换机、网桥、路由器、网关
  • 如何使用Python和Matplotlib创建双Y轴动态风格折线图 | 数据可视化教程
  • C++进阶语法——STL 标准模板库(下)(Standard Template Library)【学习笔记(七)】
  • 【SpringCloud Alibaba -- Nacos】Linux 搭建 Nacos 集群
  • Vue3后台管理系统框架之时间格式化封装
  • JavaScript-如何实现克隆(clone)函数
  • __proto__ 和 prototype的关系
  • ESLint简单操作
  • express + mock 让前后台并行开发
  • Java-详解HashMap
  • JDK 6和JDK 7中的substring()方法
  • Vue实战(四)登录/注册页的实现
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 面试遇到的一些题
  • 前端技术周刊 2019-01-14:客户端存储
  • 如何进阶一名有竞争力的程序员?
  • 数据可视化之 Sankey 桑基图的实现
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 我从编程教室毕业
  • 学习HTTP相关知识笔记
  • 用Visual Studio开发以太坊智能合约
  • 源码安装memcached和php memcache扩展
  • ​Linux·i2c驱动架构​
  • $.proxy和$.extend
  • (二)构建dubbo分布式平台-平台功能导图
  • (附源码)ssm考试题库管理系统 毕业设计 069043
  • (蓝桥杯每日一题)平方末尾及补充(常用的字符串函数功能)
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (一) storm的集群安装与配置
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • .Net - 类的介绍
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .net core 实现redis分片_基于 Redis 的分布式任务调度框架 earth-frost
  • .net(C#)中String.Format如何使用
  • .NET/C# 使用 #if 和 Conditional 特性来按条件编译代码的不同原理和适用场景
  • .net程序集学习心得
  • .net和php怎么连接,php和apache之间如何连接
  • .NET与 java通用的3DES加密解密方法
  • /etc/fstab和/etc/mtab的区别
  • @for /l %i in (1,1,10) do md %i 批处理自动建立目录
  • [2669]2-2 Time类的定义
  • [AIR] NativeExtension在IOS下的开发实例 --- IOS项目的创建 (一)
  • [c#基础]值类型和引用类型的Equals,==的区别
  • [CF226E]Noble Knight's Path
  • [flask] flask的基本介绍、flask快速搭建项目并运行