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 ...
随机推荐
- jdk8的stream流式计算的操作
jdk8之后增加了流式计算,现在根据学习了流式计算,并把过程记录下来: Person.java的bean package com.zhang.collectordemo; /** * @program ...
- Caused by: java.lang.ClassNotFoundException: com.mchange.v2.cfg.MConfig
出错原因:c3p0 为0.9.5.2版本 而使用了 mchange-commons-java 的版本为0.2.3.4,mchange-commons-java 的版本太高了, 将mchange-com ...
- 【Python—待解惑的问题】
疑问1: map()函数第一个参数接收函数,所以 dict.keys() 是函数?这个不是方法吗? map(dict.keys,s) s1.keys() == dict.keys(s1) 输入: Tr ...
- Springboot集成Mybatis+PageHelper
1.Springboot项目引入mysql和mybatis的依赖: <dependency> <groupId>org.mybatis.spring.boot</grou ...
- 一步一步学Vue(九) 路由元数据
一步一步学Vue(九):https://www.cnblogs.com/Johnzhang/p/7260888.html
- 使用VS 2019发布.net core程序并部署到IIS的最新教程
不管你是使用.net core开发的是web api还是网站类的程序,如果你是部署到IIS,那么下面的内容都适合于你,不会将.net core程序部署到IIS的朋友,可以看看这篇手把手教你部署.net ...
- 使用批处理发布 QT 的程序
1. 将 QT Creator 生成的 exe 文件拷贝到一个目录中 :C:\Users\zyy\Desktop\qtrelease 2.新建 bat 文件:qt.bat . 编辑文件,注意替换 QT ...
- (十二)Bind读取配置到C#实例
继续上一节的,接下来用Options或者Bind把json文件里的配置转成C#的实体,相互之间映射起来.首先新建一个asp.net core mvc项目OptionsBindSample Startu ...
- db2中将表中的某一字段设置为自增长
DB2可以使用generated always as identity 将某一个字段指定为自增长的字段: 这表示id自动是一个自增长的字段,它从1开始增加每次增加1.也可以通过generated 将字 ...
- powerdesigner级联删除
在Reference Properties属性窗口的Integrity属性页中选中Delete Constraint的Cascade;选中Update Constraint的Cascade.