unittest 测试用例实现
unittest框架结构
test_case:
测试套件,每一个.py文件代表一个测试用例,测试用例以test开头,否则框架读取不到测试用例
__init__.py是做什么的?
public:存放测试用例所调用的公共模块
data:存放用于参数化的数据
report:存放测试报告
all_tests.py:执行test_case中的测试用例
qq邮箱登录测试用例:
1 #encoding:utf-8
2 from selenium import webdriver
3 import time
4
5 import unittest
6 from selenium.common.exceptions import NoSuchElementException
7
8 class Login(unittest.TestCase):
9 def setUp(self):
10 self.driver = webdriver.Chrome()
11 self.driver.get("https://mail.qq.com/")
12 self.driver.maximize_window()
13 def test_login(self):
14 #先跳转到frame框架
15 self.driver.switch_to.frame('login_frame')
16 time.sleep(3)
17 #self.driver.find_element_by_css_selector("#qqLoginCard").click()
18 self.driver.find_element_by_id('u').send_keys('******@qq.com')
19 self.driver.find_element_by_id("p").send_keys('******')
20 self.driver.find_element_by_id("login_button").click()
21 time.sleep(10)
22
23 #try:
24 # text = self.driver.find_element_by_id('useralias').text
25 # print(text)
26 # return True
27 #except:
28 # return False
29
30 def tearDown(self):
31 self.driver.quit()
32
33
34 if __name__ == '__main__':
35 unittest.main
all_test.py
1 #encoding:utf-8
2 import unittest
3 import HTMLTestRunner
4 import os,time
5 listaa = 'D:\\unittest\\test_case' #测试用例所在目录
6 def creatsuite1():
7 testunit = unittest.TestSuite()
8 discover = unittest.defaultTestLoader.discover( #用discover读取测试用例
9 listaa,
10 pattern='*.py',
11 top_level_dir=None
12 )
13 for test_suite in discover:
14 for test_case in test_suite:
15 testunit.addTests(test_case)
16 print(testunit)
17 return testunit
18
19 alltestnames = creatsuite1()
20
21 now = time.strftime('%Y-%m-%d-%H_%M_%S',time.localtime())#获取当前时间并设置时间格式
22 filename = "D:\\unittest\\test_case\\report"+now + "result.html" #将测试报告存到本地
23
24 fp = open(filename,'wb')
25
26 runner = HTMLTestRunner.HTMLTestRunner( #设置测试报告格式
27 stream=fp,
28 title= u'qq登录测试报告',
29 description=u'用例执行情况'
30 )
31
32 runner.run(alltestnames)#运行测试用例并生成测试报告
unittest 测试用例实现的更多相关文章
- unittest测试用例的执行顺序
unittest的测试顺序为:有几个测试用例,测试固件就会执行多少次. 例如:只有一个测试用例时: setup--testcase1--teardown import unittest class F ...
- appium+python+unittest 测试用例的几种加载执行方式
利用python进行测试时,测试用例的加载方式有2种: 一种是通过unittest.main()来启动所需测试的测试模块: 一种是添加到testsuite集合中再加载所有的被测试对象,而testsu ...
- Django 测试开发5 unittest测试用例
Django测试用例 Django默认Python的标准库unittest编写测试用例.Django的单元测试类django.test.TestCase 从unittest.TestCase继承而来. ...
- PyCharm上unittest 测试用例两种执行方式
每次讲到unittest测试框架的时候,经常有同学在群里反映,为啥我的运行不是按照我往suite里添加的用例顺序执行的,为什么别人的能跑出来报告,我的就不行... 当然,首先确认代码是OK的,如果代码 ...
- python -- unittest测试用例函数无法传参的处理方法(ddt)
1.超继承 重写测试用例类的init方法,如下所示. import requests import unittest class XiaoheiCases(unittest.TestCase): de ...
- 一文带你定制unittest测试用例的名称
在之前的文章中,我在之前的文章中提到过,这里呢,考虑后,感觉之前的写法不够优雅,于是乎呢,我自己抽空去研究了下,主要是新写方法,这样呢,以后的要使用的时候,可以直接去使用,而不是每次换个环境就要修改环 ...
- 【Python + Selenium】之unittest测试用例满足条件,进行跳过测试Skip
直接上代码: __author__ = 'zc' import unittest class demoSkipTest(unittest.TestCase): a = 70 b = 50 print( ...
- unittest框架官方翻译:中文版
指数 模块 | 下一个 | 上一个 | Python » 英语 法国 日本 朝鲜的 开发(3.8) 3.7.3rc1 3.6 3.5 2.7 文档 » Python标准库 » 开发工具 » | ...
- python接口自动化测试 - unittest框架基本使用
unittest简单介绍 单元测试框架 还可以适用WEB自动化测试用例的开发与执行 提供丰富的断言方法 官方文档:https://docs.python.org/zh-cn/3/library/uni ...
随机推荐
- Solution -「洛谷 P4320」道路相遇
\(\mathcal{Description}\) Link. 给定一个 \(n\) 个点 \(m\) 条边的连通无向图,并给出 \(q\) 个点对 \((u,v)\),询问 \(u\) 到 ...
- Vue 源码解读(1)—— 前言
当学习成为了习惯,知识也就变成了常识. 感谢各位的 点赞.收藏和评论. 新视频和文章会第一时间在微信公众号发送,欢迎关注:李永宁lyn 文章已收录到 github 仓库 liyongning/blog ...
- Numpy的各种下标操作
技术背景 本文所使用的Numpy版本为:Version: 1.20.3.基于Python和C++开发的Numpy一般被认为是Python中最好的Matlab替代品,其中最常见的就是各种Numpy矩阵类 ...
- shell批量监控网站状态码
shell批量监控网站状态码脚本,使用curl很慢.等我学完其他方式,在来更新. #!/bin/bash #GuoYabin yuming=`/bin/cat yuming.txt` for i in ...
- 如何使用 Rancher Desktop 访问 Traefik Proxy 仪表板
Adrian Goins 最近举办了关于如何使用 K3s 和 Traefik 保护和控制边缘的 Kubernetes 大师班,演示了如何访问 K3s 的 Traefik Proxy 仪表板,可以通过以 ...
- web安全之cookie伪造
我们注册一个用户登陆上 Cookie都是351e766803开头 我们猜把351e766803后面的值改成admin的md5值 351e766803 21232f297a57a5a743894a0e4 ...
- Renix中如何实现流调速——网络测试仪实操
在Renix操作中有时我们需要进行流调速,那么如何实现呢?接下来为您详细介绍. 第一步:预约测试资源 首先打开Renix软件,连接机箱, 预约端口 第二步:流调速 例如:端口下有3条流,分别设置为10 ...
- 金融数据分析还能这样做?快试试这个BI工具小白也能学会!
说起银行.保险.股票投资等这些金融行业,大多数人都认为它们都是依靠数据驱动的企业,毕竟大数据的诞生本来就是为了金融信息流通而服务的,但是事实真的是这样吗? 事实并非如此,真正在金融行业做数据分析的人, ...
- 厌倦了excel绘制地图的繁琐操作,来看看这款可视化地图神器!
在现代生活中,地图无论对于社会主义建设.国防.运输以至旅行都是不可缺少的.要学会正确地使用地图,必须学会如何绘制地图. 最近我发现了一款好用的可视化地图神器,比excel做地图可视化好一万倍!其实呢, ...
- windev中使用DateFile和Query作为表格数据源的一个重要区别
表格可以使用DateFile(数据表)和Query(查询表)作为数据源,在列表页面中,因为表格一般都设置为不可编辑,所以这两者在表现使用上,区别都不大.尽管如此,我们还是需要清晰的知道,这两者本质上的 ...