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) 及时调试

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

K8S探针分享

一,探针介绍 1 探针类型 livenessProbe:存活探针,用于判断容器是不是健康;如果探测失败,Kubernetes就会重启容器。 readinessProbe:就绪探针,用于判断是否可以将容器加入到Service负载均衡池…

使用Tortoise 创建远程分支

1。首先创建本地分支branch1,右键tortoise git->创建分支,输入分支名称branch1,确定。 2。右键tortoise git->推送,按下图设置,确定,git会判断远程有没有分支branch1,如果没有会自动创建…

C++学习随笔(11)——vector

本章我们来学习一下vector! 目录 1.vector的介绍及使用 1.1 vector的介绍 1.2 vector的使用 1.2.1 vector的定义 1.2.2 vector iterator 的使用 1.2.3 vector 空间增长问题 1.2.4 vector 增删查改 1.2.5 vector 迭代器失效问题。 1.vector的介绍及使用 1…

ANSYS WorkBench基础说明

1引入CAE产品设计流程 2有限元法简介 有限元法的基本概念:把一个原来是连续的物体划分为有限个单元,这些单元通过有限个节点相互连接,承受与实际载荷等效的节点载荷,根据力的平衡条件进行分析,并根据变形协调条件把这些单元重新组…

【Redis 开发】全局ID生成器

全局ID生成器 为了增加ID的安全性,我们可以不直接使用Redis自增的数值,而是拼接一些其他信息: ID的组成部分: 符号位:1bit,一直为0 时间戳:31bit,一秒为单位,可以使用69年 序列号:32bit,秒内…

idea 通过maven构建无法使用@SpringBootApplication

问题描述 SpringBootApplication标红,没有提示,无法启动springboot使用maven构建。通过idea的标准版本构建 原因 springboot构建启动依赖spring-boot-maven-plugin idea的标准版本没有指定构建版本,然后在springboot-parent里面没有指定默…

(已解决)PyQT5问题:控件和背景色同色,如何解决?

一、问题复现 难看到吐是不是 二、解决方案 拖动一个widget,设置其背景色,并且右键放到最后一层 三、解决结果 如上图所示 四、问题原因 直接在窗体右键设置背景色,由于Form是父类,即其下所有控件都与其同色,即使…

知识在人工智能中的核心作用:连接主义与符号主义的交融

知识在人工智能中的核心作用:连接主义与符号主义的交融 一、连接主义与深度学习的崛起二、感知与认知:AI的双眼与大脑三、知识的多元表示与处理四、符号主义与知识工程的实践五、知识在AI中的核心地位六、AI的具体应用案例分析七、知识图谱:认…

Linux多线程(一) 线程的创建与控制

一、线程概述 线程是轻量级的进程(LWP:light weight process),在Linux环境下线程的本质仍是进程。在计算机上运行的程序是一组指令及指令参数的组合,指令按照既定的逻辑控制计算机运行。操作系统会以进程为单位&#…

element-ui et -i 编译默认主题报错:ReferenceError: primordials is not defined

报错信息如下 fs.js:40 } primordials;^ ReferenceError: primordials is not defined导致这个问题的原因:node和gulp版本冲突!! 我使用的是node 14版本 解决方法: 看了好几个帖子,都推荐使用node 11.15.0版本&am…

css中新型的边框设置属性border-block

border-block 是 CSS 中的一个属性,主要用于在样式表中一次性设置元素的逻辑块向边框的属性值。这个属性是简写属性,可以同时设置 border-block-width、border-block-style 和 border-block-color。其中,border-block-start 用于设置元素的开…

物联网应用技术综合实训室解决方案

一、背景 随着物联网技术的快速发展和广泛应用,物联网产业已经成为新的经济增长点,对于推动产业升级、提高社会信息化水平具有重要意义。因此,培养具备物联网技术应用能力的高素质人才成为了迫切需求。 传统的教育模式往往注重理论教学&…

新科技辅助器具赋能视障生活:让盲人出行融入日常

随着科技日新月异的发展,一款名为蝙蝠避障专为改善盲人日常生活的盲人日常生活辅助器具应运而生,它通过巧妙整合实时避障与拍照识别功能,成功改变了盲人朋友们的生活格局,为他们提供了更为便捷、高效的生活体验。 这款非同…

DevOps(十五)如何创建参数化的Jenkins Job

一、Jenkins参数化 在Jenkins中创建参数化的Job允许你在构建过程中动态输入一些值,这样可以让构建过程更加灵活和通用。以下是创建参数化Jenkins Job的步骤: 1、 创建新的Job 登录到Jenkins控制台。点击左侧的“新建任务”或“Create new jobs”。输入…

RocketMQ 部署

RocketMQ 部署 1、安装依赖(Java) [rootMicroservices ~]# mkdir -p /data/businessServer/ [rootMicroservices ~]# cd /data/businessServer/# 获取安装包(下载较慢) [rootMicroservices businessServer]# wget https://githu…

【Redis 开发】(Feed流的模式,GEO数据结构,BitMap,HyperLogLog)

Redis FeedTimeline GEOBitMapHyperLogLog Feed Feed流产品有两种常见模式: Timeline:不做内容筛选,简单的按照内容发布时间排序,常用于好友或关注。例如朋友圈 优点:信息全面,不会有缺失。并且实现也相对简单 缺点:信息噪音较多&#xff0c…

「51媒体」城市推介会,地方旅游推荐,怎么做好媒体宣传

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 城市推介会和地方旅游推荐是城市形象宣传的重要组成部分,通过有效的媒体宣传可以提升城市的知名度和吸引力。: 一,活动内容层面: 突出亮点…

公认最好的随身WiFi的格行5G随身WiFi真实测评!格行5G和纽曼5G随身WiFi哪个好?5G随身WiFi推荐第一名

随着5G信号基站的铺设逐渐完善,各大通讯移动公司也都适时的推出了属于自己的5G随身WiFi。其中老牌企业纽曼与格行的5G随身WiFi最受大家的欢迎。那么二者到底谁才是5G设备中的王者呢?今天就做一个全面测评。 一、首先是颜值党们最为关注的外观问题 纽曼5…

Java中Synchronized的锁升级

锁升级过程 当JVM启动后,一个共享资源对象直到有线程第一个访问时,这段时间内是处于无锁状态,对象头的Markword里偏向锁标识位是0,锁标识位是01。 Tips:当一个共享资源首次被某个线程访问时,锁就会从无锁状…

记录AE学习查漏补缺(持续补充中。。。)

记录AE学习查漏补缺 常用win下截图WinShifts导入AI/PS工程文件将图层上移一个位置或者下移一个位置展示/关闭图层标线/标度放大面板适应屏幕大小 CtrlAltF 关键帧熟记关键参数移动锚点位置加选一个关键参数快速回到上下一帧隐藏/显示图层关键帧拉长缩短关键帧按着鼠标左键不松手…