python selenium 自动化流程的一些总结与思考
首先要考虑的项目为什么要做自动化测试?(主要从自动化测试的优点着手)
其次是什么项目才适合做自动化测试?
自动化测试覆盖率要达到什么样的程度?因为都知道不可能达到100%的,不然脚本太臃肿,反而会失去初衷,偏离目标。
再次再来解决如何做自动化测试?
自动化测试主要流程有哪些呢?如何开展的问题等。
先是战略上清晰,才能开始解决战术上的问题,如:如何开展自动化测试,自动化测试的主要流程等问题。
因为不是任何系统都可以做自动化测试的,当然,局部还是可以的。
下面来讲一讲本人做自动化测试时的一些大概思路与步骤吧。
1,安装PYTHON,配置好环境,下载浏览器的驱动并配置在PYTHON的根目录下。(我用的是谷歌浏览器的驱动,大家可以随机选择别的浏览器驱动,操作步骤一致)
2,下载PYTHON的编辑器,也可以使用IDLE,我用的是PYCHARM,功能很强大,自动补全功能用起来很舒服,而且报错有提示。方便定位问题。
3,安装SELENIUM,我是直接用PIP命令安装,省时省力。
以上是基本的环境配置,完成后,再继续下面的自动化的的操作。(前提是理解了业务需求)
1,根据业务需求,初步写一次冒烟测试的自动化,有助于了解各个业务步骤,同时为后面的用例的撰写提供了大概的思路。
2,开始定义函数,把相同步骤,相似操作的步骤分别定义为一个函数,同时,函数的参数进行参数化。(这一步很重要,需要仔细,参数化可以是文本内容,也可以是定位的元素。)
3,当定义了多个函数后,就可以开始写自动化用例了,把多个函数组装成一个用例,此时的用例内是有数据的。
4,把组装好的用例内的数据剥离出来,我是记录在EXCEL表格中。(方便后期更改数据来驱动测试)
5,利用PYTHON的单元测试框架,把用例组织,执行,并查看结果。
持续更新中,
python selenium 自动化流程的一些总结与思考的更多相关文章
- python selenium自动化点击页面链接测试
python selenium自动化点击页面链接测试 需求:现在有一个网站的页面,我希望用python自动化的测试点击这个页面上所有的在本窗口跳转,并且是本站内的链接,前往到链接页面之后在通过后退返回 ...
- python+selenium自动化登录dnf11周年活动界面领取奖励登录部分采坑总结[1]
背景: Dnf的周年庆活动之一,游戏在6月22日 06:00~6月23日 06:00之间登陆过游戏后可以于6月25日 16:00~7月04日 06:00领取奖励 目标:连续四天自动运行脚本,自动领取所 ...
- Python+selenium 自动化-启用带插件的chrome浏览器,调用浏览器带插件,浏览器加载配置信息。
Python+selenium 自动化-启用带插件的chrome浏览器,调用浏览器带插件,浏览器加载配置信息. 本文链接:https://blog.csdn.net/qq_38161040/art ...
- Python+Selenium自动化总结
Python+Selenium自动化总结 1.环境搭建 1.1.安装selenium模块文件 pip install selenium 1.2.安装ChromeDriver驱动 [1]下载安装Chro ...
- Python+Selenium自动化-定位一组元素,单选框、复选框的选中方法
Python+Selenium自动化-定位一组元素,单选框.复选框的选中方法 之前学习了8种定位单个元素的方法,同时webdriver还提供了8种定位一组元素的方法.唯一区别就是在单词elemen ...
- Python+Selenium自动化-模拟键盘操作
Python+Selenium自动化-模拟键盘操作 0.导入键盘类Keys() selenium中的Keys()类提供了大部分的键盘操作方法:通过send_keys()方法来模拟键盘上的按键. # ...
- Python+Selenium自动化-设置等待三种等待方法
Python+Selenium自动化-设置等待三种等待方法 如果遇到使用ajax加载的网页,页面元素可能不是同时加载出来的,这个时候,就需要我们通过设置一个等待条件,等待页面元素加载完成,避免出现 ...
- Python+Selenium自动化-清空输入框、输入内容、点击按钮
Python+Selenium自动化-清空输入框.输入内容.点击按钮 1.输入内容 send_keys('valve'):输入内容valve #定位输入框 input_box = browser. ...
- Python+Selenium自动化-设置浏览器大小、刷新页面、前进和后退
Python+Selenium自动化-设置浏览器大小.刷新页面.前进和后退 1.设置浏览器大小 maximize_window():设置浏览器大小为全屏 set_window_size(500,5 ...
随机推荐
- AGC024B Backfront
题目大意 给你一个1~n的排列 你有两个操作:将一个数移到最后或将一个数移到最前 问将排列排序最少要几次操作 分析 年纪大了,脑子不行了.. 实际我们只需求出对与一段连续的数它在排列中已经有序的最长长 ...
- Elasticsearch后台运行步骤
Elasticsearch后台运行步骤 1.cmd 到elasticsearch 中bin目录下 2.elasticsearch-service 出现 3.安装服务 elasticsearch-se ...
- 箫声远(本人)的小站(为展示作品、简历,基于github pages)
箫声远的个人前端小站在线地址
- 斯坦福【概率与统计】课程笔记(五):EDA | 箱线图
介绍箱线图之前,需要先介绍若干个其需要的术语 min:整个样本的最小值 max:整个样本的最大值 Range:即整个样本的取值范围,Range = max - min Inter-Quartile R ...
- 【Python-Django讲义】针对django的ppt讲义
MCV思想: M是指数据模型,V是指用户界面,C则是控制器.使用MVC的目的是将M和V的实现代码分离,从而使同一个程序可以使用不同的表现形式.比如一批统计数据你可以分别用柱状图.饼图来表示.C存在的目 ...
- ss证书问题
#SSL--校验网站证书 #一.什么是SSL证书 from urllib import request #ssl免验证 import ssl ssl._create_default_https_con ...
- jmeter 线程组之间传递动态变化的变量值
http://www.51testing.com/html/01/n-3725501.html https://www.jianshu.com/p/73832bae65af https://blog. ...
- matplotlib系列——中文显示
幕布视图:https://mubu.com/doc/alG8r_3iSw 参考文献:嵩天的Python课程讲义 方式一: 示例 rcParams的属性 方式二:(推荐使用) 示例: 中文字体种类
- How To Release and/or Renew IP Addresses on Windows XP | 2000 | NT
Type 'ipconfig' (without the quotes) to view the status of the computer's IP address(es). If the com ...
- SpringMVC学习(5):数据绑定2 @PathVariable、@CookieValue、@RequestHeader、@ModelAttribute..
在系列(4)中我们介绍了如何用@RequestParam来绑定数据,下面我们来看一下其它几个数据绑定注解的使用方法. 1.@PathVariable 用来绑定URL模板变量值,这个我们已经在系列(3) ...