0


Selenium4.0自动化测试从入门到实践介绍

前言:

本专栏是以Selenium 4.0 +Python 3为基础的UI自动化测试,小编结合自己多年的工作实践经验将工作过程中对Selenium的思考、实践倾囊相授:主要包括Selenium基础用法、高级用法、测试环境切换、图表自动化、PO模式(页面对象)、关键字模式、持续集成、测试报告生成、疑难杂症等,通过对本专栏的学习读者能从0到1极大的提升自己的Web UI自动化测试技术。

ps:在学习本专栏前,读者需要一定的Python编程基础才能够更快的进行学习,本专栏不会对Python编程语言进行任何讲解只涉及对Selenium Python库的使用,请知悉~

Selenium基础篇:

主要介绍Selenium的基本操作,包括:

编写第一个自动化测试脚本

你将学会从selenium库的安装到第一个selenium测试脚本的编写。

驱动管理

使用webdrivermanage对驱动程序进行管理,不需要去手动下载驱动程序。

Selenium的元素定位策略

详细介绍selenium的七大定位大法:class name、css selector、id、name、link text、partial link、text、tag、name、xpath进行定位。

理解Selenium常见的异常

理解常见的异常对解决问题会有很大的帮助。

Selenium Web元素交互

包括元素的点击、发送文本、清除文本、单选、复选等操作。

Selenium 网络元素的信息

如元素是否显示、获取文本、获取元素属性等。

Selenium 页面加载策略

详细介绍selenium三种页面加载策略。

Selenium 执行速度慢原因总结

为什么自动化测试脚本执行慢,本文将逐一分析。

Selenium 元素不能定位总结

根据小编实际工作经验,对Selenium元素不能定位进行总结。

Selenium高级篇:

主要包括Selenium的高级操作内容:包括ActionChains、ActionBuilder、ExceptedConditon、事件监控等,让您在处理疑难杂症时更游刃有余。

Selenium ActionChains

当传统的Selenium API不起作用时不妨试试Selenium ActionChains提供的接口,它几乎支持所有Selenium提供的传统API操作,如:click()、clear() 、move_to()等。

Selenium 相对定位

在某些情况下,如果页面复用的前端组件较多的时候,可能一个定位方法会定位到N个一样的元素,使用相对定位可以精准定位到目标元素,即A相对于B的位置(上下左右)。

Selenium中常用的JS操作

很多情况下Selenium 常规的API没法完成所有的交互操作,这时候我们就需要借助Web的瑞士军刀JavaScript来进行web交互了,通过selenium执行js代码完成selenium不能完成的操作。

Selenium 浏览器坐标转桌面坐标

在某些特殊情况下需要借助坐标点击来实现元素交互,小编提供一种解决思路。

Selenium 获取接口响应数据

在进行UI交互的时候想获取接口响应数据,没问题!这是可以的,本篇文章提供一种解决思路。

Selenium 显示等待、隐式等待及流畅等待

帮助读者理解不同等待机制的区别,以合理的利用好等待相关的API,让测试事半功倍。

Selenium同窗口和标签一起工作

WebDriver 没有区分窗口和标签页。如果你的站点打开了一个新标签页或窗口,Selenium 将允许您使用窗口句柄来处理它。 每个窗口都有一个唯一的标识符,该标识符在单个会话中保持持久性。因此如何在正确的时机切换窗口就尤为重要了。

Selenium 捕获 console logs (Java)

有时候在进行自动化测试的时候控制台输出会帮忙定位问题,所以捕获控制台输出就显得很重要了~

使用Selenium与Chrome DevTools交互(Java)

开发人员工具是调试和分析网页的强大工具,许多现代浏览器都为其提供内置支持。它允许开发人员检查元素、调试JavaScript和分析网络活动。这篇文章将讨论Selenium如何与Chrome DevTools一起用于自动化任务和测试网页。

Selenium查找svg元素

svg是一种非标准的HTML元素,那么我们该如何对它进行定位呢,本篇为了解开谜题。

Selenium图表自动化篇

越来越多的系统集成了报表,如何对报表进行UI自动化呢?小编撰写了4篇分别介绍图表自动化的思想,以及三种图表自动化的实操。

Selenium图表自动化开篇

介绍了目前市场上主流的图表库及其所涉及的技术及对其的探索。

Selenium折线图自动化测试

以echarts图表库为例,讲解了如何对折线图进行交互。

Selenium 柱状图自动化测试

以echarts图表库为例,讲解了如何对柱状图图进行交互。

Selenium 饼图自动化测试

以echarts图表库为例,讲解了如何对饼图图进行交互。

Selenium框架篇

主要介绍了2个主流的Selenium框架包括PO模式(Page Obeject)和关键字驱动,这是目前很多自动化平台都会用到的测试框架,小编将详细介绍这2个框架的核心实现包括如何去实现。

Python Selenium 关键字驱动

这个思想其实是基于Selenium IDE录制思想来的,将某些操作封装成一个 关键字,然后通过来识别关键字达到自动化的目的。

Selenium登录关键字封装

详细介绍了以登陆为例如何封装一个业务流程作为关键字。

关键字驱动测试报告集成到Allure Report

默认情况下Allure是不支持关键字的报告的,如何破解呢?本文将详细介绍。

Pytest测试框架篇

好马配好鞍,当测试用例够多时纯使用Selenium进行测试用例管理就会很混乱了,就需要测试框架来组织测试用例了,Pytest是一个很好的Python 测试框架,其丰富的插件系统、上下文管理、钩子函数的高可玩性让在测试管理上游刃有余。

此部分主要会介绍:

如何使用Pytest对测试用例进行测试前环境的准备,以及测试后环境的清理?

即传统单元测试的setup\teardown操作。

如何对测试用例进行分组?

实际项目中会存在不同的测试环境,例如:开发环境(dev)、测试环境(sit)、验收环境(uat)、生产环境(prd)因此对测试用例进行分组很有必要。

如何设置测试用例的顺序?

在测试过程中会存在一个场景依赖另一个场景的情形,例如购物操作,需要先执行登陆操作后才能进行购买。

如何设置失败重试?

有些测试用例由于某些因素可能会出现失败,增加重试会加强测试用例的健壮性

如何使用软断言保证测试不会因为某个验证点失败而中途中断?

常规的断言操作在没有异常情况下都会测试通过,但是如果多个断言情况下,一个前置断言失败后,后面的断言就执行不到就会导致测试失败,本专栏中会告诉读者如何设置软断言保证测试的健壮性。

如何设置测试过程日志?

日志对问题排查或者测试记录主要重要意义,一个成熟的框架日志系统这块必不可少。

如何对测试环境进行切换?

一套测试代码如何无缝切换测试环境呢?这个也是Pytest擅长的。

如何集成测试到Allure测试报告?

还在用HtmlReport生成测试报告?不妨试试Allure测试报告框架吧,多维度的展示界面,丰富的报告接口,还不满足?当然你也可以自己二次开发。

Jenkins持续集成篇

UI自动化要持续的运行才能体现其价值,本篇讲述如何将项目集成到Jenkins进行持续运行并推送测试报告

Jenkins 有头模式运行selenium

有些情况下需要使用Jenkins在有头模式下运行测试,这样可以进行视频录制啥的,本篇讲述如何让Jenkins有头模式运行自动化测试。

Jenkins邮件推送配置

如何让项目组其他成员也能查看到测试报告呢,快来使用Jenkins推送报告吧。

完结篇

其他同事要加入自动化测试项目协同开发,如何生成项目接口测试文档?如何将项目封装成类库给其他成员引用?别急,本篇将讲述如何生成自动化项目的接口测试文档助你一臂之力。

使用sphinx生成API文档

本文详细介绍如何使用sphinx来生成漂亮的接口测试文档,包括如何写注释等。

打包Python项目

想将自己封装的库给其他项目引用?来打包吧,本教程将指导您如何打包一个简单的Python项目。它将 向您展示如何添加必要的文件和结构来创建包,如何 构建包,以及如何将其上传到Python包索引(PyPI)。

标签: selenium

本文转载自: https://blog.csdn.net/TalorSwfit20111208/article/details/140736611
版权归原作者 知识的宝藏 所有, 如有侵权,请联系我们删除。

“Selenium4.0自动化测试从入门到实践介绍”的评论:

还没有评论