开源测试框架-UI自动化测试工具Selenium的安装与常用操作-Java语言
为什么选择Selenium作为测试工具:
- 开源免费
- 容易与单元测试框架结合
- 代码可自主掌握,对于搭建框架,平台等有不可替代的优势
Selenium也是一个用于Web应用程序测试的工具,支持多平台,多浏览器,多语言去实现自动化测试,目前在Web自动化领域应用越来越广泛
什么是Selenium?
Selenium是专门为Web应用程序编写的一个自动化验收程序工具。
Selenium工作流程
- 测试代码:自动化测试代码发送Http请求给浏览器驱动
- 浏览器驱动:解析这些自动化测试的代码
- 浏览器:执行浏览器驱动发来的指令,并最终完成工程师想要的操作
Selenium三大组件
- Selenium WebDriver: client端通过代码编写指定特定的url通过API具体实现,以http请求的方式发送给server端(Web Driber相当于Web Server)(各浏览器厂家提供的驱动),server接受请求,操作浏览器指令并将操作结果返回给驱动。
- Selenium IDE:实现简单的浏览器操作的录制与回放功能
- Selenium Grid:是一种自动化的测试辅助工具,Grid通过利用现有的计算机基础设施,能加快Web应用的功能测试。利用Grid可以很方便地实现在多台机器上和异构环境中运行测试用例。
Selenium环境配置步骤
浏览器FireFox的安装(下面的是绿色版的FireFox)
RunningCheeseFirefox (lanzoui.com)
JDK的安装
IDEA的安装
安装Selemium Webdriver类库
配置自动化的浏览器,首先,你需要为自动化项目安装Selenium绑定库,库的安装过程取决于你选择使用的语言。
java语言:
可以使用Maven安装java的Selenium库。打开IDEA,新建一个maven项目,然后打开pom.xml文件,添加标签,将以下代码复制进去然后刷新界面出现的蓝色的m就可以了。
<dependency><groupId>org.seleniumhq.selenium</groupId><artifactId>selenium-java</artifactId><version>4.0.0</version> </dependency>
安装浏览器驱动
设置你的系统去实现浏览器自动化,尽管Selenium WebDriver支持所有主要的市面上的浏览器,例如Chrome、Firefox、Edge等。下面的是Firefox的驱动下载地址如果想下载别的可以去官网查。记得把驱动放在自己能找到的地址下,编写脚本的时候用System的setProperty(“浏览器”,“路径”)方法需要填写此路径。
Releases · mozilla/geckodriver (github.com)
编写一个自动化脚本
自动化用例的步骤:
- 声明driver对象(将要启用什么浏览器)。
- driver去打开浏览器并输入你要测试的网页地址(使用get方法打开测试站点)。
- 找到需要操作元素(利用WebElement声明元素对象)。
- 对元素进行输入,点击,断言操作。
- 关闭浏览器,释放资源
自动化脚本演示:
public static void main(String[] args) throws InterruptedException {//设置Firefox驱动的环境变量System.setProperty("webdriver.gecko.driver","D:\\software\\RunningCheeseFirefox\\Firefox\\geckodriver.exe");//如果下载的是绿色版的Firefox,需要添加这句话。System.setProperty("webdriver.firefox.bin","D:\\software\\RunningCheeseFirefox\\Firefox\\firefox.exe");//打开浏览器WebDriver driver=new FirefoxDriver();//地址栏输入URLdriver.get("https://www.baidu.com");//模拟真实的网络延迟操作Thread.sleep(3000);//实现自动在百度的搜索栏中填写“淘宝”driver.findElement(By.id("kw")).sendKeys("淘宝");//实现自动点击百度的查找按钮WebElement login_link=driver.findElement(By.id("su"));login_link.click();//关闭浏览器释放资源driver.close();}
开源测试框架-UI自动化测试工具Selenium的安装与常用操作-Java语言相关推荐
- 通过录屏自动测试web端查询功能_海豚 Web UI自动化测试工具
http://div.io/topic/1339 海豚是什么? 没错,它是一个 Web UI自动化测试工具,专治Web UI的各种疑难杂症,目前只针对移动端Webapp量身定做. 说到 Web UI的 ...
- python测试框架数据生成工具最全资源汇总
xUnit frameworks 单元测试框架 frameworks 框架 unittest - python自带的单元测试库,开箱即用 unittest2 - 加强版的单元测试框架,适用于Pytho ...
- python制作考试系统_python测试框架数据生成工具最全资源汇总
xUnit frameworks 单元测试框架 frameworks 框架 unittest - python自带的单元测试库,开箱即用 unittest2 - 加强版的单元测试框架,适用于Pytho ...
- Python3 爬虫学习笔记 C04 【自动化测试工具 Selenium】
Python3 爬虫学习笔记第四章 -- [自动化测试工具 Selenium] 文章目录 [4.1]下载驱动 [4.2]声明浏览器对象 [4.3]访问页面 [4.4]启动参数 [4.5]查找节点 [4 ...
- 基于图片识别的 UI 自动化测试工具 SikuliX
简介 SikuliX 是一款开源的 GUI自动化测试工具,它的前身是 Sikuli(上帝之眼).SikuliX 在设计上使用到了图片识别技术,会通过不停的对桌面进行截图,然后与预期图片进行比较来判断交 ...
- 种草Cypress和TestCafe,QA同学一定想了解的Web UI自动化测试工具
摘要:Cypress和TestCafe这两个工具相比于Selenium都更加的轻量级,且在不同的方面有了改进,比如安装更简单,增加了内置等待机制,调试更加方便等. Cypress.TestCafe.P ...
- 自动化测试工具——Selenium详解
目录 前言 Selenium的几个特点 seleniun组成部分 selenium RC selenium IDE selenium Grid selenium webDriver 那么seleniu ...
- UI自动化测试工具探索:Airtest
Airtest 简介 Airtest Project是网易游戏内部工具团队开发并开源的一款UI自动化测试工具,据说曾经获得谷歌力挺. AirtestIDE 是一个跨平台.多端(Windows.web. ...
- UI自动化测试工具Airtest
一.工具介绍 Airtest是网易出的基于图像识别和Poco控件识别的一款UI自动化测试工具. 两个关键点: 1.基于图像识别 Airtest可以通过屏幕截图的方式来获取我们想要操作的区域.例如对一些 ...
最新文章
- 告别2017!2018投影市场变革机遇与挑战并存
- 数据结构(二)--队列
- 【Spark】Spark基础教程知识点
- 【牛客 - 283E】贪心只能过样例(模拟)
- 【计算机组成原理】数据存储的大端和小端
- 删除python类中所有未使用的方法?
- 【Java基本功】一文读懂final关键字的用法 1
- 在vs2010中mfc,C++的一些小经验
- 阶段5 3.微服务项目【学成在线】_day04 页面静态化_03-freemarker测试环境搭建
- javaScript读取xml文件
- Linux99问,适合新手!
- python 马赛克拼图_用几十万张图片来拼图!Open CV牛逼不是没有道理的!马赛克拼图...
- Python2.爬虫--单词查询程序
- word文档 文献尾注修改样式
- 计算机del键作用,Delete是什么键,Delete键和Del键的区别是什么?
- 大数据工程师必备之数据可视化技术
- OSPF路由器类型 ABR与ASBR路由聚合区别
- MySQL查询以逗号隔开的字符串
- 数字电子钟Multisim仿真(数电课设+实验报告)
- packet tracer 下载及简介
热门文章
- 体系结构框架建模工具系统
- 【引用】SolidWorks工程图转换成AutoCAD DWG文件后字体不变
- nes 游戏引擎 原理分析
- win10右下角声音符号红叉提示解决未安装任何音频输出设备
- 根据国家法定节假日来计算出报告时间
- java过载保护_在照明和电加热电路中,熔断器既可以作过载保护,也可以作短路保护...
- python成绩统计及格学平成_基于深度学习的目标检测算法综述
- Java中利用循环计算出s = a+aa+aaa+aaaa....,其中a为数字1~9中的任意一个,例如:a=5,计算出5+55+555+5555+55555的和(不可以使用Math.pow())
- ddr3ddr4 lpddr4速率_超极本的LPDDR3与笔记本的DDR4性能差多少
- 曙光服务器如何重新设置u盘启动_曙光服务器常见问题