python+selenium自动化框架
---恢复内容开始---
主要使用的模块:
- selenium/webdriver模块(须准备Chrome驱动),主要用于调用浏览器实现自动点击。
- unittest模块,主要用于整合测试用例。
- xlrd模块,主要用于调用Excle获取测试数据。
- HTMLTestRunnerCN模块,主要用于生成测试报告。
框架分层思路:
- 常用函数层
- 测试数据层
- 测试元素层
- 测试用例层
- 测试结果层
详细解释层级划分:
一、常用函数层:主要写常用的一些类,方便后面调用,如:selenium调用浏览器、读取URL的EXCEL、读取用户数据的EXCEL等
二、测试数据层:主要存放一些用户数据/URL/测试数据等到EXCEL中方便后续调用 我这里存放的主要有:
- 测试网站的URL。
- 项目中不同权限用户的用户名和密码
- 常用配置文件信息
三、测试元素层:主要存放一些较长的Xpath和Css定位路径,使后续脚本简洁
四、测试用例层:主要使用unittest模块 创建测试用例:
class Test(unittest.TestCase):
def setUp(self):
self.flag = 1
self.ca = function.OpenChrome()
self.br = function.OpenChrome().open()
self.xpath = element.Element()
self.eid = element.ID()
self.css = element.Css()
self.temp = function.Openurl()
self.br.maximize_window()
#以上为定义unittest类,并在setUp中添加前置条件 def test_登录用户(self):...
def test_xxx(self):...
def test_xxx(self):...
def test_xxx(self):...
def test_xxx(self):...
#以上为使用test__xx函数逐个创建测试用例 def tearDown(self):
self.assertEqual(self.flag,1,msg="用例执行失败")
self.br.close()
#以上为添加后置条件,如:断言,关闭浏览器等
五、测试结果层:主要使用HTMLTestRunnerCN模块生成测试报告:
filepath = '../result/Yunque_result.html'
fp = open(filepath,'wb')
runner = HTMLTestRunnerCN.HTMLTestReportCN(stream=fp,title='xx测试报告',tester='测试人员',description = '报告中描述部分')
runner.run(suite)
测试结果如下图:

python+selenium自动化框架的更多相关文章
- python+selenium自动化框架搭建
环境及使用软件信息 python 3 selenium 3.13.0 xlrd 1.1.0 chromedriver HTMLTestRunner 说明: selenium/xlrd只需要再pytho ...
- python+selenium+unnittest框架
python+selenium+unnittest框架,以百度搜索为例,做了一个简单的框架,先看一下整个项目目录结构 我用的是pycharm工具,我觉得这个工具是天使,超好用也超好看! 这些要感谢原作 ...
- 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加载的网页,页面元素可能不是同时加载出来的,这个时候,就需要我们通过设置一个等待条件,等待页面元素加载完成,避免出现 ...
随机推荐
- SQL,如果碰到Json,你会怎么做?
1.Json串如下: DECLARE @JsonInfo NVARCHAR() SET @JsonInfo=N' { "CalcPayInput":{ ", " ...
- Optional和Stream的map与flatMap
Optional的map和flatMap Optional存在map和flatMap方法.map源码如下 public<U> Optional<U> map(Function& ...
- 聚焦Python分布式爬虫必学框架Scrapy 打造搜索引擎视频教程
下载链接:https://www.yinxiangit.com/595.html 目录: 第1章 课程介绍介绍课程目标.通过课程能学习到的内容.和系统开发前需要具备的知识 第2章 windows下搭建 ...
- 随笔之AJAX粗解 小白入门向
AJAX = Asynchronous JavaScript and XML(异步的 JavaScript 和 XML). AJAX 不是新的编程语言,而是一种使用现有标准的新方法. AJAX 最大的 ...
- group by语法
group by 用法解析 group by语法可以根据给定数据列的每个成员对查询结果进行分组统计,最终得到一个分组汇总表. SELECT子句中的列名必须为分组列或列函数.列函数对于GROUP BY子 ...
- maven下载jar包源码配置
两个依赖,就想下mail的源码包,因该怎么 <dependencies> <dependency> <groupId>javax.mail</groupId& ...
- (附源码gitHub下载地址)spring boot -jta-atomikos分布式事务
应用场景:双数据源,就是某些项目会涉及到两个数据源或者两个以上的数据源,这个多数据源的项目一般是数据同步,也就是把数据从另一个系统中,保存到另一个系统,两边的 数据库又不一样,比如一个Mysql.一个 ...
- 第1次作业-Numpy练习
1.创建一个边界值为1而内部都是0的数组,图例如下:[提示:]解此题可以先把所有值都设置为1,这是大正方形:其次,把边界除外小正方形全部设置为0.本题用到numpy的切片原理.多维数组同样遵循x[st ...
- CDH健康检查报DATA_NODE_BLOCK_COUNT告警
告警原文: The health test result for DATA_NODE_BLOCK_COUNT has become concerning: The DataNode has 500,0 ...
- Java线程池Executor&ThreadPool
java自1.5版本之后,提供线程池,供开发人员快捷方便的创建自己的多线程任务.下面简单的线程池的方法及说明. 1.Executor 线程池的顶级接口.定义了方法execute(Runnable),该 ...