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 -「多校联训」朝鲜时蔬
\(\mathcal{Description}\) Link. 破案了,朝鲜时蔬 = 超现实树!(指写得像那什么一样的题面. 对于整数集 \(X\),定义其 好子集 为满足 \(Y\sub ...
- 【Azure 应用服务】部署Jar到App Service for Linux,因启动命令路径配置错误而引起:( Application Error 问题
问题描述 App Service for Linux 资源创建完成后,通过FTP方式把 .jar包(logdemo.jar)包上传到 /site/wwwroot/ 文件夹后,在App Service的 ...
- Java线程池进阶
线程池是日常开发中常用的技术,使用也非常简单,不过想使用好线程池也不是件容易的事,开发者需要不断探索底层的实现原理,才能在不同的场景中选择合适的策略,最大程度发挥线程池的作用以及避免踩坑. 一.线程池 ...
- Gradle进行Build 报GBK错误
如上图,码主电脑windows,公司用的gradle进行项目build,本地进行build,总是出现这种GBK错误. 本身知道这是文件的编码问题:一般文件都是UTF-8编码,compilejava 默 ...
- Spring Cloud Gateway现高风险漏洞,建议采取措施加强防护
大家好,我是DD 3月1日,Spring官方博客发布了一篇关于Spring Cloud Gateway的CVE报告. 其中包含一个高风险漏洞和一个中风险漏洞,建议有使用Spring Cloud Gat ...
- Google发布跨云Serverless管理平台Knative
企业只要使用由Google与Pivotal.IBM.红帽和SAP等企业共同开发的跨云Serverless管理平台Knative,就能在支持Kubernetes的云平台上自由的迁移工作负载,无论是跨私有 ...
- Deep Upsupervised Cardinality Estimation 解读(2019 VLDB)
Deep Upsupervised Cardinality Estimation 本篇博客是对Deep Upsupervised Cardinality Estimation的解读,原文连接为:htt ...
- C# Struct结构的介绍
C# (Struct)结构的介绍 在 C# 中,所有简单值类型都是结构类型.结构类型是一种可封装数据和相关功能的值类型 ,是隐式密封的值类型,不可继承. 使用 struct 关键字定义结构类型.str ...
- RabbitMQ安装以及简单操作应用(针对Windows和C#)
1.RabbitMQ安装 1.1下载并安装Erlang https://www.erlang.org/downloads 一直点next就安装好了.我直接使用了默认的安装目录.否则的话,应该需要配置一 ...
- 跟k8s工作负载Deployments的缘起缘灭
跟k8s工作负载Deployments的缘起缘灭 考点之简单介绍一下什么是Deployments吧? 考点之怎么查看 Deployment 上线状态? 考点之集群中能不能设置多个Deployments ...