为什么选择Selenium作为测试工具:

  1. 开源免费
  2. 容易与单元测试框架结合
  3. 代码可自主掌握,对于搭建框架,平台等有不可替代的优势

​ Selenium也是一个用于Web应用程序测试的工具,支持多平台,多浏览器,多语言去实现自动化测试,目前在Web自动化领域应用越来越广泛

什么是Selenium?

Selenium是专门为Web应用程序编写的一个自动化验收程序工具。

Selenium工作流程

  1. 测试代码:自动化测试代码发送Http请求给浏览器驱动
  2. 浏览器驱动:解析这些自动化测试的代码
  3. 浏览器:执行浏览器驱动发来的指令,并最终完成工程师想要的操作

Selenium三大组件

  1. Selenium WebDriver: client端通过代码编写指定特定的url通过API具体实现,以http请求的方式发送给server端(Web Driber相当于Web Server)(各浏览器厂家提供的驱动),server接受请求,操作浏览器指令并将操作结果返回给驱动。
  2. Selenium IDE:实现简单的浏览器操作的录制与回放功能
  3. Selenium Grid:是一种自动化的测试辅助工具,Grid通过利用现有的计算机基础设施,能加快Web应用的功能测试。利用Grid可以很方便地实现在多台机器上和异构环境中运行测试用例。

Selenium环境配置步骤

  1. 浏览器FireFox的安装(下面的是绿色版的FireFox)

    RunningCheeseFirefox (lanzoui.com)

  2. JDK的安装

  3. IDEA的安装

  4. 安装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>
    
  5. 安装浏览器驱动

    ​ 设置你的系统去实现浏览器自动化,尽管Selenium WebDriver支持所有主要的市面上的浏览器,例如Chrome、Firefox、Edge等。下面的是Firefox的驱动下载地址如果想下载别的可以去官网查。记得把驱动放在自己能找到的地址下,编写脚本的时候用System的setProperty(“浏览器”,“路径”)方法需要填写此路径。

    Releases · mozilla/geckodriver (github.com)

编写一个自动化脚本

自动化用例的步骤:

  1. 声明driver对象(将要启用什么浏览器)。
  2. driver去打开浏览器并输入你要测试的网页地址(使用get方法打开测试站点)。
  3. 找到需要操作元素(利用WebElement声明元素对象)。
  4. 对元素进行输入,点击,断言操作。
  5. 关闭浏览器,释放资源

自动化脚本演示:

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语言相关推荐

  1. 通过录屏自动测试web端查询功能_海豚 Web UI自动化测试工具

    http://div.io/topic/1339 海豚是什么? 没错,它是一个 Web UI自动化测试工具,专治Web UI的各种疑难杂症,目前只针对移动端Webapp量身定做. 说到 Web UI的 ...

  2. python测试框架数据生成工具最全资源汇总

    xUnit frameworks 单元测试框架 frameworks 框架 unittest - python自带的单元测试库,开箱即用 unittest2 - 加强版的单元测试框架,适用于Pytho ...

  3. python制作考试系统_python测试框架数据生成工具最全资源汇总

    xUnit frameworks 单元测试框架 frameworks 框架 unittest - python自带的单元测试库,开箱即用 unittest2 - 加强版的单元测试框架,适用于Pytho ...

  4. Python3 爬虫学习笔记 C04 【自动化测试工具 Selenium】

    Python3 爬虫学习笔记第四章 -- [自动化测试工具 Selenium] 文章目录 [4.1]下载驱动 [4.2]声明浏览器对象 [4.3]访问页面 [4.4]启动参数 [4.5]查找节点 [4 ...

  5. 基于图片识别的 UI 自动化测试工具 SikuliX

    简介 SikuliX 是一款开源的 GUI自动化测试工具,它的前身是 Sikuli(上帝之眼).SikuliX 在设计上使用到了图片识别技术,会通过不停的对桌面进行截图,然后与预期图片进行比较来判断交 ...

  6. 种草Cypress和TestCafe,QA同学一定想了解的Web UI自动化测试工具

    摘要:Cypress和TestCafe这两个工具相比于Selenium都更加的轻量级,且在不同的方面有了改进,比如安装更简单,增加了内置等待机制,调试更加方便等. Cypress.TestCafe.P ...

  7. 自动化测试工具——Selenium详解

    目录 前言 Selenium的几个特点 seleniun组成部分 selenium RC selenium IDE selenium Grid selenium webDriver 那么seleniu ...

  8. UI自动化测试工具探索:Airtest

    Airtest 简介 Airtest Project是网易游戏内部工具团队开发并开源的一款UI自动化测试工具,据说曾经获得谷歌力挺. AirtestIDE 是一个跨平台.多端(Windows.web. ...

  9. UI自动化测试工具Airtest

    一.工具介绍 Airtest是网易出的基于图像识别和Poco控件识别的一款UI自动化测试工具. 两个关键点: 1.基于图像识别 Airtest可以通过屏幕截图的方式来获取我们想要操作的区域.例如对一些 ...

最新文章

  1. 告别2017!2018投影市场变革机遇与挑战并存
  2. 数据结构(二)--队列
  3. 【Spark】Spark基础教程知识点
  4. 【牛客 - 283E】贪心只能过样例(模拟)
  5. 【计算机组成原理】数据存储的大端和小端
  6. 删除python类中所有未使用的方法?
  7. 【Java基本功】一文读懂final关键字的用法 1
  8. 在vs2010中mfc,C++的一些小经验
  9. 阶段5 3.微服务项目【学成在线】_day04 页面静态化_03-freemarker测试环境搭建
  10. javaScript读取xml文件
  11. Linux99问,适合新手!
  12. python 马赛克拼图_用几十万张图片来拼图!Open CV牛逼不是没有道理的!马赛克拼图...
  13. Python2.爬虫--单词查询程序
  14. word文档 文献尾注修改样式
  15. 计算机del键作用,Delete是什么键,Delete键和Del键的区别是什么?
  16. 大数据工程师必备之数据可视化技术
  17. OSPF路由器类型 ABR与ASBR路由聚合区别
  18. MySQL查询以逗号隔开的字符串
  19. 数字电子钟Multisim仿真(数电课设+实验报告)
  20. packet tracer 下载及简介

热门文章

  1. 体系结构框架建模工具系统
  2. 【引用】SolidWorks工程图转换成AutoCAD DWG文件后字体不变
  3. nes 游戏引擎 原理分析
  4. win10右下角声音符号红叉提示解决未安装任何音频输出设备
  5. 根据国家法定节假日来计算出报告时间
  6. java过载保护_在照明和电加热电路中,熔断器既可以作过载保护,也可以作短路保护...
  7. python成绩统计及格学平成_基于深度学习的目标检测算法综述
  8. Java中利用循环计算出s = a+aa+aaa+aaaa....,其中a为数字1~9中的任意一个,例如:a=5,计算出5+55+555+5555+55555的和(不可以使用Math.pow())
  9. ddr3ddr4 lpddr4速率_超极本的LPDDR3与笔记本的DDR4性能差多少
  10. 曙光服务器如何重新设置u盘启动_曙光服务器常见问题