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();
}
}

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

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

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

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

相关文章

C++进阶 set和map讲解

set 和 map set 和 multiset set set 类的介绍 set 是基于红黑树实现的有序容器。它的插入、删除、查找操作的时间复杂度均为 O(log n)。遍历时,set 的迭代器按照中序遍历,因此它总是以升序排列元素。 set 的声明如下,T 表示 set 的关键字类…

Kubernetes集群部署(kubernetes)

三台主机恢复到docker快照状态; 检查驱动器类型为sytemd; 设置各个节点的主机名; 然后同步会话,修改hosts文件; 在k8s运行过程中不建议使用交换分区; 关闭交换分区; 但是这种方法是临时性的&am…

JavaSE--零基础的开始笔记02:基础语法--标识符,关键字,变量

一.标识符 Java 语言中,对各种变量、方法和类等要素命名时使用的字符序列称为标识符。 Java 标识符有如下命名规则: 标识符由字母、下划线“_” 、美元符“$”或数字组成。 标识符应以字母、下划线 、美元符开头。 Java 标识符大小写敏感&#xff0c…

【Linux笔记】虚拟机内Linux内容复制到宿主机的Window文件夹(文件)中

一、共享文件夹 I、Windows宿主机上创建一个文件夹 目录:D:\Centos_iso\shared_files II、在VMware中设置共享文件夹 1、打开VMware Workstation 2、选择需要设置的Linux虚拟机,点击“编辑虚拟机设置”。 3、在“选项”标签页中,选择“共…

初识模版!!

初识模版 1.泛型编程1.1 如何实现一个交换函数呢(使得所有数据都可以交换)?1.2 那可以不可以让编译器根据不同的类型利用该模子来生成代码呢? 2.模版类型2.1 模版概念2.2 函数模版的原理2.3 函数模板的实例化2.4 模板参数的匹配原…

【C++初阶】探索STL之——String类的模拟实现

【C初阶】String类的模拟实现 1.string类2.string类的构造和赋值实现3.类的析构实现4.类的iterator5.类的修改(Modify)实现6.类的capacity实现7.类access的实现8.类relational operators的实现9.类find、insert、erase的实现10.operator>>和operat…

官方力荐:LDR6020 PD技术,让Type-C接口充放OTG不再是梦!

PD(Power Delivery)芯片赋能Type-C接口:解锁充电与数据传输的双重魔法 一、PD芯片的科技内核 高速充电与智能数据传输: PD芯片深谙USB Power Delivery规范,支持高功率传输协议,实现快速充电的同时&#x…

数据中台过时了?为什么现在都在说数据飞轮

数据中台作为一种集中式的数据管理与服务平台,在解决企业数据管理困境中发挥着重要作用,如数据孤岛、数据标准化、数据共享与复用等问题。通过统一的数据采集、处理、存储和服务,数据中台构建了一个全局性的数据枢纽,满足各业务部…

【YOLO目标检测道路交通标识数据集】共2838张、已标注txt格式、有训练好的yolov5的模型

目录 说明图片示例 说明 数据集格式:YOLO格式 图片数量:2838 标注数量(txt文件个数):2838 标注类别数:56 标注类别名称: mand_straight forb_right prio_priority_road info_crosswalk forb_weight_over_3.5t inf…

亿发工单系统:让任务风平浪静

在现代企业的日常运营中,工单管理系统已经成为必不可少的工具,无论是生产制造、IT运维,还是客服支持,工单系统的存在都是为了高效处理任务、跟踪进展、分配资源。然而,现实中的工单管理,往往不是“风平浪静…

【FPGA】编程方式

FPGA编程方式 1 什么是PLD?2 什么是颗粒度?3 可编程逻辑器件的编程方式有哪些?3.1 SRAM 编程技术3.2 Flash/EEPROM 编程技术3.3 反熔丝编程技术3.4 编程技术比较 参考资料 1 什么是PLD? 可编程逻辑器件 英文全称为:pr…

Cocos Creator3.x设置动态加载背景图并且循环移动

效果图 项目结构 项目层级结构: 预制: 代码 import { _decorator, CCFloat, Component, Node, Sprite, instantiate, Prefab, assert } from cc; const { ccclass, property } _decorator;/*** 背景脚本*/ ccclass(Background) export class Backg…

【Verilog学习日常】—牛客网刷题—Verilog快速入门—VL19

使用3-8译码器①实现逻辑函数 描述 下表是74HC138译码器的功能表. E3 E2_n E1_n A2 A1 A0 Y0_n Y1_n Y2_n Y3_n Y4_n Y5_n Y6_n Y7_n x 1 x x x x 1 1 1 1 1 1 1 1 x x 1 x x x 1 1 1 1 1 1 1 1 0 x x x x x 1 1 1 1 1 …

机器学习之实战篇——图像压缩(K-means聚类算法)

机器学习之实战篇——图像压缩(K-means聚类算法) 0. 文章传送1.实验任务2.实验思想3.实验过程 0. 文章传送 机器学习之监督学习(一)线性回归、多项式回归、算法优化[巨详细笔记] 机器学习之监督学习(二)二元逻辑回归 …

模板初阶

目录 1. 泛型编程 2. 函数模板 2.1 函数模板概念 2.2 函数模板格式 2.3 函数模板的原理 2.4 函数模板的实例化 2.5 模板参数的匹配原则 3. 类模板 3.1 类模板的定义格式 3.2 类模板的实例化 1. 泛型编程 如何实现一个通用的交换函数呢? void Swap(int& left, …

API - Math,System,Runtime,BigDecimal,日期时间,Arrays...

01 Math类 【注意】:round在四舍五入时,只会四舍五入小数点后第一位,例如:4.499,的结果是4. 02 System类 【解释】:currentTimeMillis返回的是从1970-1-1 0:0:0开始到此刻的毫秒值,所以返回值才…

Moshi: a speech-text foundation model for real time dialogue

视频号 挺神奇的东西 整下来 kyutai-labs/moshi (github.com) git clone https://github.com/kyutai-labs/moshi.git 在线体验 moshi.chat 结束后 点击Download audio Download video 可以下载音频与视频 (不过是webm格式) 发行版 已上传至资源 小…

【C++篇】C++类与对象深度解析(四):初始化列表、类型转换与static成员详解

文章目录 C类与对象超详细入门指南前言1. 初始化列表——再谈构造函数1.1 初始化成员变量的方式1.1.1 构造函数内部赋值 vs 初始化列表1.1.2 两者的区别1.1.3 为什么要使用初始化列表1.1.4 示例 1.2 初始化列表的语法1.2.1 示例: 1.3 引用成员变量、const成员变量的…

【图灵完备 Turing Complete】游戏经验攻略分享 Part.4 处理器架构

比较有难度的一个部分。 运算单元ALU,其实就是通过OP选择计算方式,然后选通某个计算,之后输出。每个计算逐个实现就行了。 下面是一个优化占地面积的ALU,变得紧凑了一点。 下面是一个简单的OP选通原理线路。判断是立即数寻址&…

【C++】关键字auto详解

🦄个人主页:小米里的大麦-CSDN博客 🎏所属专栏:C_小米里的大麦的博客-CSDN博客 🎁代码托管:C: 探索C编程精髓,打造高效代码仓库 (gitee.com) ⚙️操作环境:Visual Studio 2022 目录 一、前言 二、类型别名思考 三、auto简介 四…