IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 开学了软测的同学也该跟上了--selenium介绍+简单操作 -> 正文阅读

[开发测试]开学了软测的同学也该跟上了--selenium介绍+简单操作

??????? Hi,大家好,关注过我的应该知道前面其实是有写selenium的,为什么要重新写,因为前面写的不是特别的明白,有很多小伙伴私信我说没怎么看懂,所以,这里写这一系列的手把手教写。

??????? 我的微信是qing_an_an,公众号是Sea_Cha,有兴趣的可以加我一起学习,我也有一个学习群,群内都是刚刚学习的朋友,更有大佬的加持,分分钟教导

目录

什么是自动化?

为什么要自动化?

什么时候开始自动化测试?

自动化测试的优缺点:

?什么web项目适合做自动化测试?

测试工具有哪些?

初识selenium

Selenium+WebDriver环境搭建

webDriver原理

简单的操作

?1. 打开网页:get(url)

?2. 刷新:refresh()

?3. 前进:forward()

?4. 后退:back() ???????

?5. 截屏:get_screenshot_as_file(保存路径)

?6. 退出:close(),quit()


什么是自动化?

????????让程序代替人为,自动化验证web项目功能的过程

为什么要自动化?

????????1. 解决回归测试(新版本正式测试之前的问题回归以及周边功能的验证)

????????2. 解决压力测试(多用户操作软件,统计软件服务器处理多用户请求的能力)

????????3. 解决兼容性测试(兼容不同的软件环境,如浏览器,操作系统,分辨率等)

????????4. 提高测试效率,保证产品质量

什么时候开始自动化测试?

????????功能测试完毕(手工测试)》》》web UI自动化

自动化测试的优缺点:

????????优点:

????????????????1. 较少的时间内运行更多的测试用例;

????????????????2. 自动化脚本可重复运行

????????????????3. 较少人为的错误;

????????????????4. 测试数据存储?

????????缺点:

????????????????1. 不能取代手工测试;

????????????????2. 手工测试比自动化测试发现的缺陷更多;

????????????????3. 测试人员技能要求高

????????误区:

????????????????1. 自动化测试完全替代手工测试

????????????????2. 自动化测试一定比手工测试厉害

??????????????? 3. 自动化可以发现更多的bug

?什么web项目适合做自动化测试?

????????1. 需求变动不频繁

????????2. 项目周期长

????????3. 项目需要回归测试

测试工具有哪些?

????????主流工具

????????????????1. web自动化测试:Selenium、Robot Framework

????????????????2. App自动化测试:Appium、MonkeyRunner、UIautomation

????????????????3. PC客户端自动化测试:QTP、WinRunner

????????????????4. 接口自动化测试:Jmeter、Postman、HttpUnit、RestClient、Python+requests

????????????????5. 云测平台:Testin、Testbird --》app兼容性测试

????????????????6. 性能测试:Jmeter、LoadRunner

初识selenium

特点:

????????1. 开源软件:源代码开放,可以根据需要来增加工具的某些功能;

????????2. 跨平台:Linux、Windows、MacOS

????????3. 核心功能:就是可以在多个浏览器上进行自动化测试,Chrome,Firefox,IE,Safari,opear

????????4. 多语言:java、python、C#、JavaScript、Ruby等

????????5. 成熟稳定:目前已被百度、腾讯等公司广泛使用

????????6. 功能强大:能够实现类似商业工具的大部分功能,因为开源,可实现定制化功能。

Selenium+WebDriver环境搭建

????????1. WebDriver是一种用于web应用程序的自动化测试工具;

????????2. 它提供了一套友好的API;

????????3. WebDriver完全就是一套类库,不依赖与任何测试框架,除了必要的浏览器驱动;

webDriver原理

????????1. WebDriver API(基于Java、Python、C#等语言),对于java语言来说,就是下载下来的selenium的Jar包,比如 selenium-java-3.8.1.zip包,代表Selenium3.8.1的版本

????????2. 浏览器的驱动(browser driver),每个浏览器都有自己的驱动,均以exe文件形式存在比如谷歌的 chromedriver.exe、火狐的geckodriver.exe、IE的IEDriverServer.exe

????????3. 浏览器,浏览器当然就是我们很熟悉的常用的各种浏览器(IE、Firefox、Chrome)。

????????简单一点就是,有一把刀,它的作用就是削水果,也可以切菜等,这把刀相当于webDriver,你呢就是写代码的人,你想让它干嘛,切菜,削水果还是其他的,写一系列的代码,然后水果刀完成它要做的动作。

??????? 道理讲完了,我们也该进入正题了,一些简单的操作,也是非常实用的。

简单的操作

?1. 打开网页:get(url)

from selenium import webdriver

# 打开火狐浏览器
fox = webdriver.Chrome()
fox.get('https://baidu.com')

# 打开谷歌浏览器
gu = webdriver.Chrome()
gu.get('https://baidu.com')

??????? 其他的浏览器方法类似,通过实例化驱动,指定浏览器,打开百度网址。至于驱动,在这里之说下载自己浏览器所对应的版本的驱动即可。如果你浏览器版本是2.1.1,驱动没有的只有2.3.3也没关系,是兼容的,但是你不能下载比你浏览器版本低的驱动。

?2. 刷新:refresh()

from selenium import webdriver

fox = webdriver.Chrome()
fox.get('https://baidu.com')
fox.refresh()

?3. 前进:forward()

from selenium import webdriver

fox = webdriver.Chrome()
fox.get('https://baidu.com')
fox.forward()

?4. 后退:back() ???????

from selenium import webdriver

fox = webdriver.Chrome()
fox.get('https://baidu.com')
fox.back()

????????注意:4、5这两个操作,只能在你浏览了其他页面的情况下才能使用,这里还没有讲到元素定位,所以这里先做了解,后续熟悉元素定位后,可自行操作

?5. 截屏:get_screenshot_as_file(保存路径)

from selenium import webdriver

fox = webdriver.Chrome()
fox.get('https://baidu.com')
fox.get_screenshot_as_file('F:\MES\baidu.png')

?6. 退出:close(),quit()

from selenium import webdriver

fox = webdriver.Chrome()
fox.get('https://baidu.com')
fox.quit()

??????? 注意,这里两者是有区别的,quit是关闭打开浏览器中的所有窗口,而close是关闭当前窗口,所以,用的时候可别搞混了,搞混不得。

??????? 看看下面的例子,就明白了:

from selenium import webdriver

driver = webdriver.Firefox()
driver.get('https://baidu.com')
js = "window.open('https://www.jd.com/')"
driver.execute_script(js)
driver.close()

??????? 这里我用js重新打开了一个窗口,然后用close的方法关闭一个窗口,此时,你会觉得关闭的是京东的窗口吧。其实不然,你错了哦。我没有切换窗口,所以关闭了还是第一次打开的窗口,也就是百度窗口。至于为什么要做窗口切换操作,这一点后续会有一章专门讲到。敬请期待吧。

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2021-09-10 11:09:24  更:2021-09-10 11:10:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/21 4:49:03-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码