位置: IT常识 - 正文

自动化工具selenium(一)(自动化工具 业务有哪些)

编辑:rootadmin
自动化工具selenium(一) 一)什么是自动化?为什么要做自动化?

推荐整理分享自动化工具selenium(一)(自动化工具 业务有哪些),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:自动化工具有哪些,自动化工具软件,自动化工具开发,自动化工具selenium,自动化工具selenium使用js 增加新的元素,自动化工具有哪些,自动化工具软件,自动化工具软件,内容如对您有帮助,希望把文章链接给更多的朋友!

自动化测试可以代替一部分手工测试,不能够完全代替手工测试

1)自动化测试相比于手工测试来说人力的投入和时间的投入是非常非常少的,自动化测试能够提高测试效率

2)在回归测试里面,如果你回归的功能越来越多,迭代的版本越来越多,版本回归压力也会越来越大,所以仅仅通过人工测试的方式来回归所有的版本肯定是不现实的,所以我们需要借助自动化进行回归

 selenium介绍1)Selenium是web应用中基于UI的自动化测试框架

selenium1.0 + webdriver 构成现在的Selenium2.0 2)现在我们说起selenium,一般指的是Selenium2.0它由Selenium IDE,Webdriver,Selenium Grid组成

selenium IDE:自动化脚本录制工具

selenium GRID:做分布式测试(把我们的脚本铺在不同的机器上面)

selenium RC:服务器

二)为什么选择selenium作为自动化测试工具?

selenium是web应用中的基于UI的自动化测试框架,支持多平台,多浏览器,多语言

选择它一定是有原因的

1)支持多浏览器,在进行兼容性测试的时候,我们要对浏览器进行测试,因为用户可能会使用多个浏览器,因为它可以支持多浏览器进行自动化测试;

2)支持多平台多个操作系统,比如说linux系统,mac系统,windows系统,MacOS系统;

3)开源免费,不用花钱;

4)selenium支持多语言,比如说JAVA还支持python;

5)selenium包底层有很多可以使用的API;

自动化测试脚本可以重复的进行测试执行, 用的次数越多,越有价值

1)UI自动化:进行Web界面的测试,项目比较稳定,如果说我们的项目不稳定,需求在不断地发生变化,不适合做自动化测试,脚本还要进行改动,在我们项目的后期进行UI自动化测试,因为我们不同的用户有不同的操作习惯,所以我们的测试用例的维护量大

2)接口自动化:在项目前期就可以进行,项目前期就可以进行介入,测试用例的维护量比较少,可变性比较大,只要考虑输入和输出就可以了,我们还要从多角度验证非法的输入和输出,接口还要稳定

3.1)每次我们进行迭代的时候,我们把核心的功能和流程写成自动化脚本,而这些核心的功能和流程一般是不会发生改变的,就算要进行下一次迭代,也是在这些和新的功能和流程的基础上增加一些新的功能,我们进行回归测试就把自动化脚本执行一次

3.2)兼容性测试也可以用脚本,我们只需要在脚本中更改浏览器的驱动就可以了

3.3)自动化测试执行速度是很快的,例如咱们之前说的注册邮箱功能,24小时之内和给我们发邮件,那如果正好是24小时呢?我们就要对这个时间节点去进行测试,我们总不可能让人去拿着秒表来进行等待测试吧,况且人脑试想一个反应时间的,所以测试也会不准确,所以我们使用自动化脚本的方式会更准确

三)环境部署

selenium工具包

Chrome浏览器

ChromeDriver谷歌驱动

Java版本最低要求是8

四)什么是驱动?驱动的工作原理是什么?

4.1)汽车是具有驱动的,两个轮子也是有驱动的,四个轮子还是有驱动的,驱动可以使汽车跑起来

4.2)计算机里面也是有驱动程序的,可以驱动计算机和设备工作起来

4.3)打开浏览器也是需要驱动的,在人工测试的情况下,人工可以手动的驱动打开浏览器

但是对于自动化测试来说,代码不能够手动的直接打开浏览器,需要借助驱动程序来协助打开浏览器,总结:代码可以驱使驱动打开浏览器

五)驱动的工作原理:

Selenium RC 在浏览器中运行 JavaScript 应用,会存在环境沙箱问题,而 WebDriver 可以跳出 JavaScript 的沙箱,针对不同的浏览器创建更健壮的,分布式的,跨平台的自动化测试脚本;

前提:使用selenium来编写代码

1)我们使用的selenium编写的自动化脚本代码会给浏览器的驱动发送一个HTTP请求

2)webdriver浏览器驱动会接受这个HTTP请求并进行解析

3)wendriver浏览器驱动会操控浏览器来执行一些操作

自动化工具selenium(一)(自动化工具 业务有哪些)

4)浏览器会把执行结果包装成HTTP响应给驱动,驱动再把执行结果返回给应用程序

启动浏览器,把浏览器绑定到特定的端口,形成一个remote server,自动化脚本通过command executor,HTTP协议给remote server发送指令,去操纵浏览器

用Selenium实现自动化,主要需要三个东西:

1)自动化测试代码:自动化测试代码发送请求给浏览器的驱动,比如火狐驱动、谷歌驱动,IE驱动;

2)浏览器驱动:它来解析这些自动化测试的代码,解析后把它们发送给浏览器

3)浏览器:执行浏览器驱动发来的指令,并最终完成工程师想要的操作。

测试代码中包含了各种期望的对浏览器界面的操作,例如点击,测试代码通过给Webdriver发送指令,让Webdriver知道想要做的操作,而Webdriver根据这些操作在浏览器界面上进行控制,由此测试代码达到了在浏览器界面上操作的目的。

Selenium脚本执行时后端实现的流程:

1)对于每一条Selenium脚本,一个http请求会被创建并且发送给浏览器的驱动 2)浏览器驱动中包含了一个HTTP Server,用来接收这些http请求 3)HTTP Server接收到请求后根据请求来具体操控对应的浏览器 4)浏览器执行具体的测试步骤 5)浏览器将步骤执行结果返回给HTTP Server 6)HTTP Server又将结果返回给Selenium的脚本,如果是错误的http代码我们就会在控制台看到对应的报错信息

1)webdiver:驱动浏览器做事情,是一个.exe文件,绕过了JavaScript的环境沙箱问题,当我们打开一个新的页面的时候,会出现被拦截的现象

2)脚本:就类似于乘客,脚本里面有详细的路线,去哪里,从哪里转

3)司机:根据乘客说的路线进行开车,拿钥匙开车,根据乘客的指示来进行操作,webDriver

4)车:被驱动的工具,浏览器

5)webDriver根据脚本的指令驱动浏览器

必须知道请求驱动的地址是什么?那么此时驱动在这里面应该扮演这是一个啥样的角色呢?

驱动应该是一个服务器,IP+端口号,IP地址就是本机IP,端口号就是默认的9515

乘客的指令=自动化脚本

webdriver=司机

浏览器=出租车

当前驱动程序已经建立好了TCP链接

六)简单的自动化测试脚本

1)创建一个maven项目

2)引入依赖

<!-- https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java --><dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>4.0.0</version></dependency>

环境沙箱问题:打开一个新的网页的时候会一直转动,转小圆圈

selenium IDE:自动化脚本录制工具

安装selenium IDE,先打开浏览器的扩展和主题搜索Selenium IDE,下载完成之后再来点击

1)先进行下载 

 2)找到启动位置

3)使用

 4)进入到指定页面

 5)导出报告,右键test点击export

6)点击run可以重新运行脚本

安装python:

先去官网:Welcome to Python.org

点击下载,点击Windows

本文链接地址:https://www.jiuchutong.com/zhishi/298280.html 转载请保留说明!

上一篇:ChatDoctor本地部署应用的实战方案

下一篇:layui最新版本更新已全面拥抱Vue3,layui - vue是一套Vue 3.0的桌面端组件库,提供100%的layui的体验;(layui 安卓)

  • 荣耀play4是什么处理器(荣耀play4是什么时候出的)

    荣耀play4是什么处理器(荣耀play4是什么时候出的)

  • 苹果7p是双卡双待吗(iphone 7p是不是双卡)

    苹果7p是双卡双待吗(iphone 7p是不是双卡)

  • 微信绑定手机号频繁多久恢复(微信绑定手机号不用了怎么登录微信)

    微信绑定手机号频繁多久恢复(微信绑定手机号不用了怎么登录微信)

  • 一个完整的计算机系统包括什么(一个完整的计算机软件)

    一个完整的计算机系统包括什么(一个完整的计算机软件)

  • iphone录像软件黑屏(苹果手机录像特别黑)

    iphone录像软件黑屏(苹果手机录像特别黑)

  • 手机热点共享会不会中毒(手机共享热点会泄露信息吗)

    手机热点共享会不会中毒(手机共享热点会泄露信息吗)

  • 华为hms可以卸载吗(华为hms卸载对手机有影响吗)

    华为hms可以卸载吗(华为hms卸载对手机有影响吗)

  • 抖音直播10万音浪可以提现多少人民币(抖音直播10万音浪)

    抖音直播10万音浪可以提现多少人民币(抖音直播10万音浪)

  • 手机掉水里了后置摄像头里有水蒸气怎么办(手机掉水里了后可以充电吗)

    手机掉水里了后置摄像头里有水蒸气怎么办(手机掉水里了后可以充电吗)

  • word表格边框线设置(word表格边框线显示不全)

    word表格边框线设置(word表格边框线显示不全)

  • 快手服务商是干嘛的(快手服务商运营总部)

    快手服务商是干嘛的(快手服务商运营总部)

  • 笔记本1t什么意思(笔记本电脑1t和1tb有什么区别)

    笔记本1t什么意思(笔记本电脑1t和1tb有什么区别)

  • 手机飞行模式有辐射吗(手机飞行模式有wifi可以用微信吗)

    手机飞行模式有辐射吗(手机飞行模式有wifi可以用微信吗)

  • x27的三个摄像头怎么用(x27的三个摄像头都起什么作用)

    x27的三个摄像头怎么用(x27的三个摄像头都起什么作用)

  • 荣耀20关闭后台程序(荣耀20怎么关闭程序运行)

    荣耀20关闭后台程序(荣耀20怎么关闭程序运行)

  • 小米Max2屏幕是LCD还是OLED(小米max2屏幕参数)

    小米Max2屏幕是LCD还是OLED(小米max2屏幕参数)

  • 吸顶式无线ap怎么安装(吸顶式无线ap设置方法)

    吸顶式无线ap怎么安装(吸顶式无线ap设置方法)

  • 12reads购买的是纸质书吗(12reads没有免费资源吗)

    12reads购买的是纸质书吗(12reads没有免费资源吗)

  • 手机拍太阳会烧镜头吗(手机拍太阳会烧焦吗)

    手机拍太阳会烧镜头吗(手机拍太阳会烧焦吗)

  • volte怎么视频通话

    volte怎么视频通话

  • 小米屏幕分辨率在哪(小米13屏幕分辨率)

    小米屏幕分辨率在哪(小米13屏幕分辨率)

  • 0x00000024蓝屏代码是什么意思(0x00000024蓝屏代码BIOS 删除)

    0x00000024蓝屏代码是什么意思(0x00000024蓝屏代码BIOS 删除)

  • qq聊天上的耳朵是什么(qq聊天的耳朵怎么取消)

    qq聊天上的耳朵是什么(qq聊天的耳朵怎么取消)

  • 华为arstl00是什么型号(华为arstl00参数配置)

    华为arstl00是什么型号(华为arstl00参数配置)

  • 怎么完善网页导航(网页怎么导出数据)

    怎么完善网页导航(网页怎么导出数据)

  • window.print() 前端页面打印与预览PDF(前端 input)

    window.print() 前端页面打印与预览PDF(前端 input)

  • 程序员未来是不是会大量失业?(程序员未来会失业吗)

    程序员未来是不是会大量失业?(程序员未来会失业吗)

  • 节能服务公司可以做什么
  • 合伙企业税务筹划点
  • 期初未缴税额是什么意思
  • 外贸企业的出口收入免征其地方水利建设基金
  • 利润分配未分配利润借贷方表示什么
  • 坏账准备转回的条件
  • 冲回存货跌价准备所得税是调增还是调减
  • 购进灭火器材怎么入账
  • 增值税可以退税嘛
  • 债券置换债务
  • 结转本期各项收入
  • 小规模纳税人开普票要交税吗
  • 预收电费结转成本怎么办
  • 外资企业所得税和内资区别
  • 隔年的费用发票怎样入账
  • 预收账款发货
  • 增值税电子发票怎么作废
  • 资源税如何进行账务处理
  • 财务报表中应收账款包括什么
  • 出纳可以做记账表格吗
  • 累计折旧费用
  • 广告行业监管政策
  • 建筑劳务公司的会计账务处理
  • 收到进项发票抵扣联怎么做分录
  • windows11不显示桌面
  • 存货跌价准备借贷方表示的含义
  • 收不回的心
  • bios设置教程视频
  • 缴纳税款滞纳金计算方式
  • PHP:xml_set_processing_instruction_handler()的用法_XML解析器函数
  • 本期用于购建不动产的扣税凭证怎么填
  • linux的命令行指的是什么
  • 讲述人功能怎么关闭
  • redhat无法进入图形界面
  • php发送邮件的问题有哪些
  • 初雪与最后的秋天的区别
  • 员工餐费需要附什么凭证
  • 上月未开发票的销项税,已经申报缴税,在本月开了票,应该如何填报?
  • 动态设置窗体记录源属性
  • https是如何保证安全的
  • 金税盘税控盘和税务Ukey有什么区别
  • 普通增值发票作废税务局能查到吗
  • ps怎么抠的干净
  • 线程池中的一个线程执行完一个任务后
  • 劳保统筹费计入什么科目
  • 国税办税人员怎么解绑
  • 美金账户余额截图
  • 小企业会计准则和一般企业会计准则的区别
  • 加工费计入什么科目制造企业成本
  • sql数据对比语句
  • 给客户赞助怎么写合适
  • 增值税税款多缴纳还能退回吗
  • 其他应收款科目核算哪些业务
  • 零星采购多少不需要发票
  • 3%税率专用发票
  • 应付职工薪酬的会计科目
  • 工资的税额
  • 公司卖掉软件计提折旧吗
  • win10建行网银盾插上网页弹不出来
  • 两种方法解决一年级看图问题
  • 关闭win10操作系统,相当于
  • fedora 10
  • linux怎么调整屏幕大小
  • win8.1文件夹选项
  • win7小技巧
  • mac新版系统
  • win10更新到win11
  • win8使用技巧 图文
  • javascript数据结构
  • cocos2dx游戏案例
  • unity读取文本文件
  • perl \w
  • ug10避让怎么设置
  • unity的shader在哪儿
  • 安卓系统手机图片文件夹在哪里
  • 全电子发票开具怎么扫脸认证?
  • 哪些初级农产品可以免税
  • 监察室主任岗位职责
  • 深圳市地方税务局历任局长
  • 津补贴怎么算
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设