建设工程招标网站,flat movie wordpress,烟台网站制作维护,软件介绍下载网站建设selenium 是 web 应用中基于 UI 的自动化测试框架#xff0c;支持多平台、多浏览器、多语言。
提到 UI 自动化就先了解什么是自动化测试#xff1f; 目录
1. 自动化测试
2. UI 自动化
2.1 UI 自动化的特点
2.2 UI 自动化测试的优缺点
2.3 UI 自动化测试的使用对象
2.4…selenium 是 web 应用中基于 UI 的自动化测试框架支持多平台、多浏览器、多语言。
提到 UI 自动化就先了解什么是自动化测试 目录
1. 自动化测试
2. UI 自动化
2.1 UI 自动化的特点
2.2 UI 自动化测试的优缺点
2.3 UI 自动化测试的使用对象
2.4 UI 自动化测试框架
3. selenium
3.1 selenium IDE
3.1.1 selenium IDE 的使用
3.1.2 selenium IDE 的特点
3.2 webdriver
3.2.1 搭建 selenium 测试环境
3.2.2 webdriver 的工作原理
3.2.3 编写一个简单的脚本 1. 自动化测试
自动化测试指软件测试的自动化在预设状态下运行应用程序或者系统预设条件包括正常和异常最后评估运行结果。将人为驱动的测试行为转换为机器执行的过程。自动化测试包括 UI 自动化接口自动化单元测试自动化。
自动化测试过程 2. UI 自动化
今天学习的就是 UI 自动化测试UI自动化测试就是对系统的界面元素进行操作用脚本实现模拟用户的使用完成功能的正常和异常测试。
2.1 UI 自动化的特点
用例维护量大页面相关性强必须后期项目页面开发完成后介入UI 测试适合界面变动较小的项目。
2.2 UI 自动化测试的优缺点
优点
降低系统由于变更或者多期开发引起的大量的回归测试的人力投入减少重复测试的时间实现快速回归测试创建可靠的测试过程减少人为错误可以运行更多更繁琐的测试可以更好的利用资源减少人力资源可以执行一下手工测试无法完成的测试。
缺点
自动化测试是工具执行无法进行主观判断对一些人眼容易发现的错误无法判断比如对界面色彩、布局等 自动化测试工具本身就是一个产品在不同的系统平台可能会受到影响可能会影响测试的结果 对于需求更改频繁的系统不适合自动化测试因为测试脚本的维护和设计比较困难 自动化测试要编写脚本设计场景这些对测试人员的要求较高测试的设计直接影响测试的结果。 2.3 UI 自动化测试的使用对象
实验自动化测试的前提条件需求变动不频繁项目周期足够长自动化测试脚本可重复利用。
适合做自动化测试的项目
产品型项目产品型项目新版本是在旧版本上进行改进功能变动不大的项目但是项目的新老功能都必须进行回归测试。机械并频繁的测试。每次都需要输入相同、大量的一些数据并且在一个项目中运行的周期比较长。比如兼容性测试。 2.4 UI 自动化测试框架
比如 windows 客户端测试的 AutolT, web 测试的 selenium 以及 TestPlant eggPlantRobot framework等。今天主要学习的就是 selenium。
3. selenium
selenium 的组成
selenium 1.0selenium IDE、selenium RC、selenium grid
selenium 2.0selenium IDE、selenium RC、webdriver、selenium grid
selenium 3.0selenium IDE、webdriver、selenium grid
3.1 selenium IDE
selenium IDE 是一个用于 selenium 测试的集成开发环境可以直接在浏览器录制用户的操作并且能回放编辑和调试测试脚本。可以使用其录制一个基本的脚本然后修改逻辑采用关键字驱动的方式进行脚本开发的。
3.1.1 selenium IDE 的使用
方式一下载 Firefox 浏览器安装 selenium IDE 插件。
方式二使用 Edge 中的 selenium IDE 插件。
Chrome 上也可以但是大多数电脑都打不开 Chrome 应用商店。
因为本机上有 Edge 浏览器所以直接使用 Edge 作为示范。
1. 先找到浏览器中的扩展下载插件selenium IDE。 2. 下载完成后点击菜单栏中的插件。找到 selenium IDE 插件点击。 3. 新建一个新测试在一个新工程中。 4.在新工程中添加测试用例创建工程名添加 url 进行录制脚本。 5.根据关键字进行驱动生成的代码。 target使用右键检查页面就可以查看页面组建的id。 6.一个完整的自动化测试用例不仅包括 command、target、vaule还有 assert 断言。通过断言就可以自动对比实际结果和预期结果是否一致。
比如断言文本断言值等。 7.运行脚本。 8.除了可以通过 selenium 录制脚本也可以进行手动添加脚本同样是通过关键字command、target、vaule 以及 assert。
9.导出脚本。 可以有多种语言多种框架选择。 ps如果想要导出 python unittest 框架脚本可以使用 Katalon 插件。
3.1.2 selenium IDE 的特点
容易在页面上进行录制能自动通过 idname 和 xpath 来定位页面元素自动执行 selenium 命令能够进行调试和设置断点录制生成的脚本能够转化成各种语言可以加入断言用来判断预期和实际结果是否一致。 3.2 webdriver
webdriver 是对浏览器的 API也就是对浏览器中元素或者浏览器的操作。webdriver 替代了 selenium RC提高了对浏览器的调度效率。 3.2.1 搭建 selenium 测试环境
1.安装 python 环境
2.安装 selenium
3.安装驱动
具体细节可以百度搜索。 3.2.2 webdriver 的工作原理
webdriver 的实现依据的是 C/S 模式。工作流程是
webdriver 启动浏览器后将目标浏览器绑定到特定的端口启动后的浏览器则作 webdriver 的 remote server。客户端(也就是测试脚本)借助 ComandExecutor 发送HTTP请求给 Server 端。Server 端需要依赖原生的浏览器组件转化 Web Service 的命令为浏览器 native 的调用来完成操作。
Server就是 Remote Server 端可以是任意的浏览器。 Client就是我们的测试脚本。 3.2.3 编写一个简单的脚本
# coding utf-8
# 防止乱码可加可不加
# 导包
from selenium import webdriver
# 创建浏览器对象
driver webdriver.Chrome()
# 打开百度首页
driver.get(https://www.baidu.com)
# 在百度的输入框中输入selenium一个控件有若干属性idname等百度的输入框id叫 kw
driver.find_element_by_id(kw).send_keys(selenium)
# 点击百度按钮搜索按钮的id叫 su
driver.find_element_by_id(su).click()
# 关闭浏览器
driver.quit()