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

news2024/10/7 9:22:11

本主要介绍以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();
}
}
 

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

在这里插入图片描述

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你! 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1136303.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

财报解读:步步逼近ChatGPT,科大讯飞即将迎来全面爆发?

10月份,科大讯飞进入新的成果验证节点。 一是进一步透露AI进展的财报发布。三季报显示,科大讯飞仍然保持较为稳健的发展步伐,营收始终处于增长状态,对讯飞星火认知大模型的应用成果,进行了进一步揭示。基于此&#xf…

亿图导出word和PDF中清晰度保留方法

步骤一 在亿图软件中画一个元件大小搭配合理的图。注意字体大小的安排,尤其是角标的大小要合适,示范如下 选中所有元器件,右键使用组合功能将电路图组合为一个整体 步骤二: 将亿图软件中的图保存为SVG格式。示范如下 在导出到…

LeetCode 64.最小路径和(开辟额外空间(二维)、不开辟额外空间(二维)、优化(一维))

Problem: 64. 最小路径和 文章目录 前言思路解题方法Code优化: 前言 简单写写自己对这道题的拙见,如有意见或者建议可以联系笔者owo 思路 这道题就是典型的填格子,对于这类题目在看到的时候需要抓住我这个位置状态是依赖于哪几个数据继续构造…

广州华锐互动:3D虚拟现实技术还原物理现象,互动式教学提高学生学习兴趣

物理现象是自然界的客观规律,但是很多人对于物理现象的理解存在困难。随着科技的发展,3D虚拟技术已经越来越普及,3D虚拟技术能够将物理现象进行虚拟还原,将抽象的物理概念转化为具体的三维场景,使得人们能够更加直观地…

如何巧妙告知家长成绩分数

如何让学生和家长们查询期中考试成绩,一直是让许多老师都头疼不已的问题。今天我就来交给大家怎么解决这个问题。 我们先了解一下成绩查询系统是什么。在互联网高度发达的今天,成绩查询系统已经不再是学校的专属,而是可以通过网络平台进行操作的一种工具…

二维码生成和解析工具包-zxing

目录 1、简介 2、做个例子 2.1 添加依赖 2.2 工具类 2.3 测试 3、总结 今天在看一个开源项目的时候发现一个工具类,一个简单的生成二维码的工具类,测试了下很是方便。 虽然在平常的开发中没有使用过,为了以后的场景做个备份 1、简介 …

CTF密码学概述

一. 引言 密码在我们的生活中应用于方方面面,我们的微信、QQ、支付宝、以及我们去银行取钱,都需要输入正确的密码,所以密码学在计算机信息安全上面都是非常重要的。我们现在每天打开的网络页面,浏览的视频内容都是表层网络&#…

用友GRP-U8注入

分享一个拿到CNDV证书的SQL注入,证书截图如下 0x01 漏洞介绍 fofa:app”用友-GRP-U8” 用友GRP-U8存在SQL注入,漏洞文件名为bx_historyDataCheck.jsp 0x02 漏洞分析 文件截图如下 该文件接收3个传参,分别是userName&#xff…

班主任,怎么发布期中考试成绩?

各位班主任是不是有时候觉得每次手动发布期中考试成绩是一件既繁琐又痛苦的事情?让我给你们介绍一个神器——成绩查询系统!让你们的工作变得轻松,让学生们能够自主查询成绩。 我们先了解一下什么是成绩查询系统。成绩查询系统是一种专门用于发…

性能测试 —— Jmeter 常用三种定时器!

1、同步定时器 位置:HTTP请求->定时器->Synchronizing Timer 当需要进行大量用户的并发测试时,为了让用户能真正的同时执行,添加同步定时器,用户阻塞线程,知道线程数达到预先配置的数值,才开始执行…

【Golang】简记操作:Centos安装、卸载、升级Golang运行环境

目录 安装 1、根据实际需求选择合适的golang版本 如下图,选择合适的版本,右键复制链接 2、在Centos选择合适的目录下载golang的源文件 3、解压golang的源文件,解压完成即可执行go命令 4、设置golang的全局环境变量(/etc/pr…

人机环境系统智能是东方与西方智能思想的融合

人机环境系统的思想是一种综合性的思想,它融合了东方思想和西方思想的元素。在东方文化中,人类与自然环境有着密切的联系,强调人类与自然环境的和谐共生关系。而在西方文化中,科技和机器的应用越来越广泛,对人类社会和…

蓝桥杯每日一题2023.10.26

测试次数 - 蓝桥云课 (lanqiao.cn) 题目描述 题目分析 对于本题我们可以使用动态规划来分析 dp[i][j]代表剩余i层,j台手机的情况下对应的测试数量 分类进行讨论一下: 1.当只剩下一台手机的时候,只能从第一层一层一层往上尝试&#xff0c…

日常开发问题汇总

2023.10.26 1.生产环境代码校验更严格产生的问题 发版时出现的问题: 点击报错或提交没有反应 排查: 点击保存后控制台network没有发起请求,定位问题在前端代码,查看代码发现,代码执行到这一行就没往下执行了 这个结果匪夷所思,细看代码后发现是下面代码的问题: 然后…

数据类型与变量—Javase

1.字面常量 在上节课HelloWorld程序中, System.Out.println("Hello World"); 语句,不论程序何时运行,输出的都是Hello World,其实"Hello World"就是字面常量。 常量即程序运行期间,固…

Generative AI 新世界 | Falcon 40B 开源大模型的部署方式分析

在上期文章,我们探讨了如何在自定义数据集上来微调(fine-tuned)模型。本期文章,我们将重新回到文本生成的大模型部署场景,探讨如何在 Amazon SageMaker 上部署具有 400 亿参数的 Falcon 40B 开源大模型。 亚马逊云科技…

Java中的基础知识

导言: 在Java中有很多与C语言类似的语法,但其中又有不同之处。本篇文章主要对java中的数据类型,变量以及类型转换进行简单的介绍,并指出与C的相同与不同之处。 目录 导言: 正文: 一.数据类型 二.变量…

win10蓝牙无法连接,可以尝试在此Windows设备上打开蓝牙

问题:想连接蓝牙耳机,显示无法连接,在设备上打开蓝牙 解决方法 按照以下步骤执行冷重启:长按电源按钮10s,直到屏幕关闭,然后松开。拔下电脑的电源线,等30s,再次打开设备

【尘缘赠书活动第二期】:信息科技风险管理

引言 信息科技对金融业务发展所起的作用是举足轻重的。近年来,金融机构在战略规划中相继引入科技引领的概念。作为金融机构信息科技从业人员,我们笃信信息科技是一个非常有用的工具,一个兼具产品思维和管理思维、拥有高质增效能力的工具。 …

基于机器视觉的图像拼接算法 计算机竞赛

前言 图像拼接在实际的应用场景很广,比如无人机航拍,遥感图像等等,图像拼接是进一步做图像理解基础步骤,拼接效果的好坏直接影响接下来的工作,所以一个好的图像拼接算法非常重要。 再举一个身边的例子吧,…