selenium 自动化测试课上实操指南1——百度搜索

1.环境准备

下面的所有资源可以从超星班级资料中下载,机房的同学在收到的文件夹中可以找到文件

非本校同学,免费加入学银在线课程,就可以在资料 根目录 >  02 课件新 >  week09 web自动化测试02 里下载本次实操资料

1)安装java环境

我的是java version "1.8.0_241",理论上版本高一些是应该没有问题的

因为我们使用java编程,所以你的计算机上,机房已经有了可跳过此步骤

2)安装eclipse ,

机房已经有了可跳过此步骤,自己的计算机可以自行安装

3)下载selenium  webdriver

已经发给大家,大家收到的文件夹中有

使用自己电脑的同学,到超星班级资料下载 4_selenium-server-4..jar,大家也可以根据需要去下载

4)下载安装浏览器和浏览器驱动

注意浏览器驱动的类型和版本号需要和你计算机上的浏览器版本匹配。

浏览器机房已经有,大家可以直接使用,浏览器驱动已经发给大家,

浏览器驱动器和浏览器通讯,向浏览器发出请求,接收响应,两者版本务必要匹配才行。查看浏览器版本方法如下:   

    chrome浏览器100版本的安装包为:1_100.0.4896.127_chr.exe

    chrome100版本浏览器对应的浏览器驱动:5_chromdriver100.0.1.zip文件夹,其下的chromedriver.exe是浏览器驱动       

谷歌浏览器驱动程序各版本下载路径https://chromedriver.chromium.org/downloads
最新测试中的chrome驱动版本

  Chrome for Testing availability

火狐浏览器驱动程序各版本下载路径

  https://github.com/mozilla/geckodriver/releases

Edge浏览器驱动程序下载路径Microsoft Edge WebDriver | Microsoft Edge Developer
其他类型浏览器驱动程序下载路径:Unable to Locate Driver Error | Selenium

下面我们万事俱备,只欠东风。我们来编写一个简单的自动化测试程序实现百度搜索自己的名字吧!

2.实操

1)解压我给大家的java项目文件

2)启动eclipse,导入我给大家的java项目

部分同学使用过程中会不小心把项目视图关闭,通过菜单 windows -> show view 菜单点击对应的视图即可开关相应视图

3)运行脚本

大家根据自己的浏览器情况,选择相应java文件,运行,如果能打开浏览器,进入菜鸟网站,控制提台输出了菜鸟的标题,则说明环境正常,可以继续编写脚本

注意:如果你的chrome浏览器不是我列出的四个版本,也不要害怕。或者把chrome浏览器的代码注释掉,将火狐浏览器的代码取消注释。

如果仍想使用chrome浏览器。请按照下面的步骤进行

a) 下载和你谷歌浏览器版本对应的浏览器驱动。放到项目的chromedriver下,当然为了日后方便查看,建议名称中包含版本

b) 程序中修改浏览器驱动的路径

3)编写脚本

a) 网址可以更改为百度网址澳

driver.get("https://www.runoob.com/html/html-tutorial.html");

b)下面网百度的搜索框输入你的名字

我们需要先定位到搜索框,然后再输入文字,大家如果对html不是太熟悉的话,先给大家一种万能的方法

将定位方式复制下来,写入到代码

例如,我拷贝了css选择器的定位方式 “#kw”,复制到代码中,

driver.findElement(By.cssSelector("#kw"))

因为我要操作,所以,我对元素进行点击  click()

    driver.findElement(By.cssSelector("#kw")).click();

其他操作类型,大家完成剩余操作

4)注意事项

a) 建议代码上加上适当的注释,

这样后期维护、调试时方便些

可以在每个操作前加上注释。例如。 //点击确定按钮  //搜索框输入姓名

b) 及时调试

可以写上几个步骤就运行下,有错误及时修改。不要全部写完再调试

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

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

相关文章

【打工日常】云原生之搭建私有化web在线聊天软件LumenIM

一、LumenIM介绍 1.LumenIM简介 Lumen IM 是一个网页版在线聊天项目,前端使用 Naive UI Vue3,后端采用 GO 开发。 2.LumenIM功能 基于 WebSocket 服务做消息即时推送 支持私聊及群聊 支持多种聊天消息类型 例如:文本、代码块、图片及其它类型文件&…

JAVA对象的实例化内存布局与访问定位刨析

目录 1. 创建对象的方式 1.1 创建对象方式具体描述 2. 创建对象的步骤 2.1 判断对象对应的类是否加载、链接及初始化 2.2 为对象分配内存 2.3 处理并发安全问题

15.接口自动化学习-Mock(挡板/测试桩)

场景: 新需求还未开发时,使用mock提早介入测试,等后边开发后,进行调试 三方接口返回效率低,使用mock技术走通流程 1.mock方式 (1)如果会写django或flask,可以写简单对应的代码 (…

lua编译器介绍

Lua编译器是将Lua语言编写的源代码转换为可执行代码的工具 一、实现原理 Lua编译器的核心任务是将Lua源代码(纯文本文件)转换为可执行的二进制代码(字节码)。这一过程通常包括词法分析、语法分析、语义分析、中间代码生成、优化以…

互联网摸鱼日报(2024-04-23)

互联网摸鱼日报(2024-04-23) 36氪新闻 重塑城市:AI驱动的城市模型如何改变治理 Windows将迎来第三方广告,微软终究还是“饿了” 加码内容化,或是京东攻占下沉市场的必由之路 同时押注两条路线,广汽智驾能领先华为和小鹏吗&…

为什么需要BigDecimal类

一、BigDecimal类介绍 BigDecimal 类在 Java 中主要用于提供高精度的浮点数运算。在 Java 中,float 和 double 类型并不适合进行高精度的金融计算,因为它们无法精确表示所有的小数。例如,0.1 的二进制表示是无限循环的,所以 floa…

MySQL 自建数据库慢日志分析

文章目录 前言1. 参数介绍1.1 慢日志参数1.2 慢日志切割 2. pt-query-digest2.1 离线分析2.2 在线分析2.3 常用参数 总结 前言 慢 SQL 是指 MySQL 中执行时间超过指定阈值的语句将被记录到 Slow log 文件中的查询。慢 SQL 的风险是可能随时都会因为某种原因而被触发&#xff0…

博客文章导航(实时更新)

一、计算机基础 链接:http://t.csdnimg.cn/ZtfmC 二、软件开发 链接:http://t.csdnimg.cn/cdT6H 三、数据结构与算法 链接:http://t.csdnimg.cn/XfoU0 四、计算机视觉 链接:http://t.csdnimg.cn/p21Y3 五、大语言模型 链…

Mysql--基础知识点--0.1--脏读、不可重复读、幻读

1 脏读、不可重复读、幻读 1.1 脏读 如果一个事务读到了另一个事务已修改且未提交的数据,则发生了脏读现象。 1.2 不可重复读 在一个事务里面多次读取同一个数据,若前后两次读到的数据不一致,则发生不可重复读现象。 1.3 幻读 在一个…

redis7 for windows的安装教程

本篇博客主要介绍redis7的windows版本下的安装教程 1.redis介绍 Redis(Remote Dictionary Server)是一个开源的,基于内存的数据结构存储系统,可用作数据库、缓存和消息代理。它支持多种数据结构,如字符串、哈希表、列…

【软考高项】二十六、范围管理基础内容

一、管理基础 产品范围和项目范围 产品范围强调结果,项目范围强调结果 管理的新实践 :需求一直是项目管理的关注重点,需求管理过程结束于需求关闭,即把产品、服务或成果移交给接收方,以便长期测量、监控、实现并维持收…

three.js 学习笔记 | 光线投射技术 - 包围盒(碰撞检测)

文章目录 three.js 学习笔记光线投射技术实现3D场景交互事件 THREE.Raycaster坐标系的转换案例:选中的模型变为红色 包围盒Box3 - 碰撞检测AABB包围盒辅助器Box3Helper案例1:创建AABB包围盒/包围球computeBoundingBox与boundingBox 搭配使用,…

PHP中的会话管理是如何工作的?

PHP中的会话管理是如何工作的? PHP中的会话管理是一个关键特性,它允许开发者跟踪和识别用户的活动,从而提供个性化的体验。会话管理主要依赖于会话ID、会话数据以及会话存储机制来实现。下面将详细解释PHP中会话管理的工作原理及其各个组成部…

vivado Aurora 8B/10B IP核(1)

Aurora 8B/10B IP 支持 Kintex -7, Virtex -7 FPGA GTP 和 GTH 收发器,Artix -7 FPGA GTP 收发器, Zynq -7000 GTP and GTP 收发器。Aurora 8B/10B IP core 可以工作于单工或者全双工模式。IP CODE的使用也非常简单,支持 AMBA总线的 AXI4-Stream 协议。…

字符串函数及其模拟实现

目录 strlen函数介绍模拟实现 strcpy函数介绍模拟实现 strcat函数介绍模拟实现 strcmp函数介绍模拟实现 strncpy函数介绍模拟实现 strncat函数介绍模拟实现 strncmp函数介绍模拟实现 strtokstrstr函数介绍模拟实现 strerrorperror strlen 函数介绍 函数介绍: 字符串…

Leetcode 17. 电话号码的字母组合

给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。 示例 1: 输入:digits “23” 输出:[“a…

清华大学 【战略管理的逻辑】全6讲笔记

讨论从20世纪初的企业管理背景入手,讲述了随着经济和技术的进步,企业管理理念和实践所经历的主要变化。 1.战略管理的重要性及其时代演变 在过去的几十年里,企业管理的理念和方法经历了从重视生产效率到注重市场营销,再到强调战略…

React真的好难用

我发现React就像个宗教一样,网络上总有一群信徒。信徒:React天下第一,谁也不能说他不好。 网络上大佬对React的评价一般有几类: React跟Vue比就是手动档和自动档的区别,高手都开手动档。—— 就一个破打工的&#xf…

Qt——代码崩溃 free() invalid pointer

最近在开发中&#xff0c;使用多个QSharedPointer创建智能指针指向c11 写的单例时&#xff0c;出现了程序崩溃&#xff0c;如标题的错误提示&#xff0c;故此记录&#xff1a; 错误代码&#xff1a; QSharedPointer <Singleton>m_test(Singleton.getInstance()); QShare…

cJSON的使用

文章目录 一、CJSON初识二、CJSON解析器基础三、CJSON解析数据JSON解析基础CJSON解析数组数据CJSON解析嵌套数据 五、创建JSON数据 一、CJSON初识 JSON (JavaScript Object Notation)是一种轻量级的数据交换格式&#xff0c;常用于在网络之间传输数据。它是一种文本格式&#…