unittest

Python自动化生成测试报告

好久不见. 提交于 2019-12-04 14:00:23
1、 导入HTMLTestRunner 模块 单用例文件执行且生成报告 #coding=utf-8 import unittest import HTMLTestRunner class Study01(unittest.TestCase): def test01(self): print "test01" def test02(self): self.assertEqual(1,2,msg="1 != 2") def test03(self): print "test03" def test04(self): print "test04" if __name__ == '__main__': testcases = [Study01("test01"),Study01("test02"),Study01("test03"),Study01("test04")] suit = unittest.TestSuite() suit.addTests(testcases) #测试报告生成 dir = "D:\\test.html" #定义测试报告文件 filename = open(dir,"wb") #"wb"新建或者打开一个二进制文件,写入执行完的数据 runner = HTMLTestRunner.HTMLTestRunner(stream=filename,title=

WebAPI 相关资料

泄露秘密 提交于 2019-12-04 08:59:06
##Intruduction Getting Started with ASP.NET Web API 2 系列文章——Web API从开始到结束 ##Demos Web API Thoughts 1 of 3 - Data Streaming MVC AngularJS Master/Detail CRUD, Filter And Sorting Using WEB API 2 With Stored Procedure RESTful Day #6: Request logging and Exception handling/logging in Web APIs using Action Filters, Exception Filters and NLog Detailed Tutorial for Building ASP.NET WebAPI RESTful Service 有层次结构的资源该如何设计API? Hierarchical Resource Structure in ASP.NET Web API ##Authentication Using Basic Authentication in ASP.NET WebAPI Customize Authentication Header in SwaggerUI using Swashbuckle Don't

unittest单元测试框架小白入门

穿精又带淫゛_ 提交于 2019-12-04 03:47:55
unittest单元测试框架: 一般也称为pyunit,是从java程序中广泛应用的junit启发而来的, unittest使我们具备创建测试用例,测试套件,测试·夹具的能力。 unittest组件: 1):Test fixture(测试夹具): 使用测试夹具,可以定义在单个或多个测试执行之前的准备工作和执行之后的清理工作。 2)Test Case(测试用例): unittest中执行测试的最小单元,通过验证unittest提供的assert方法来验证一组特定的操作和输入以后得到的响应,unittest提供了一个名为TestCase的基础类,可以用来创建测试用例; 3)Test Suit(测试套件): 一个测试套件是多个测试或测试用例的集合,是针对被测程序的对应的功能和模块创建的一组测试,一个测试套件内的测试用例将一起执行; 4)Test Runner(测试执行器): 测试执行器负责测试执行调度并且生成测试结果给用户; 测试执行器可以使用图形界面、文本界面或者特定的返回值来展示测试执行结果; 5)Test Report(测试报告): 测试报告展示所有执行用例的成功或者失败状态的汇总;包括失败的测试步骤的预期结果和实际结果,还有整体运行状况和运行时间的汇总; 来源: https://www.cnblogs.com/zhongxiaoyan/p/11829406.html

unittest使用总结

爷,独闯天下 提交于 2019-12-03 20:51:10
unittest简介 Unittest是python内置的一个单元测试框架,主要用于自动化测试用例的开发与执行 简单的使用如下 import unittest class TestStringMethods(unittest.TestCase): def setUp(self): print("test start") def test_upper(self): self.assertEqual('foo'.upper(), 'FOO') def test_isupper(self): self.assertTrue('FOO'.isupper()) self.assertFalse('Foo'.isupper()) def tearDown(self): print("test end") if __name__ == '__main__': unittest.main() 1.导入unittest库 2.创建类继承TestCase类 3.以test开头的方法,就是实际执行的独立用例,必须要以test开头,因为是unittest中约定的 4.setUp()方法用于测试用例执行前的初始化工作,tearDown()方法用于用例执行完后的清理操作,这里用例指以test开头的方法,也就是每个test开头的方法执行前后都会调用这两个方法 5

接口自动化框架 - httprunner

♀尐吖头ヾ 提交于 2019-12-03 15:28:32
自己曾经写过一个接口自动化的框架,并做了一版本的优化,一直觉得做的还不错,且没依赖现有的框架。 最近因为一些工作的原因,开始又思考之前写的框架的一些缺点及如何优化,所以找到比较有名的httprunner源码来比较和学习下 1、httprunner 提供了比较便利的脚手架代码及命令行运行方式 cli.py脚本里: parser = argparse.ArgumentParser(description=__description__)parser.add_argument 提供比较多的命令参数,去实现各种类型的操作 2、在运行用例和用例集的时候,依赖于unittest api.py. _add_tests. -> _add_test - >run_test - > _run_test运行每个用例 其中的setuphooks , teardownhooks 用到了反射,可以实现对用例数据的动态处理 3、在将用例写入到用例集里面的时候,用到了元编程 for testcase in testcases: config = testcase.get("config", {}) test_runner = runner.Runner(config) TestSequense = type('TestSequense', (unittest.TestCase,), {})

python自动化基础(参数化)

China☆狼群 提交于 2019-12-03 15:06:14
一、创建加法类 #定义一个数学加法类 class Mathmethod(): def add(self,a,b): return(a+b) def sub(self,a,b): return(a-b) 二、创建测试用例,并进行参数化 import unittest from HTMLTestRunner import HTMLTestRunner from requesttest.math1.Mathmethod import Mathmethod # 引入Mathmethod模块 #import HTMLTestRunnerNew class TestMathmethod(unittest.TestCase): #超继承(既有父类的特性,又有自己的新特性) #子类有跟父类相同的特性,就会覆盖父类的特性 重写 def __init__(self,methodName,a,b,excepted): super(TestMathmethod,self).__init__(methodName)#超继承父类的初始化函数 self.a=a self.b=b self.excepted=excepted def test_method_add(self): res=Mathmethod().add(self.a,self.b) print('两个数值相加结果是',res) self

selenium学习-模拟键盘单个按键操作

两盒软妹~` 提交于 2019-12-03 14:34:04
导入 from selenium.webdriver.common.keys import Keys 格式:Keys.XXX 一般这么用:send_keys(Keys.XXX) 1 # coding=UTF-8 2 #18.模拟键盘单个按键操作 3 import sys 4 reload(sys) 5 sys.setdefaultencoding('utf8') 6 from selenium import webdriver 7 import unittest 8 import time 9 from selenium.webdriver.common.keys import Keys 10 11 class Case18(unittest.TestCase): 12 13 def setUp(self): 14 self.driver = webdriver.Chrome() 15 16 def test_simulateASingleKey(self): 17 url = "https://www.sogou.com" 18 self.driver.get(url) 19 element = self.driver.find_element_by_id("query") 20 element.send_keys(Keys.F12) # 按下F12键 21 time.sleep

Selenium 2自动化测试实战35(HTML测试报告)

守給你的承諾、 提交于 2019-12-03 11:20:42
HTML测试报告 显然,一份漂亮的测试报告展示自动化测试成果只有一个简单的log文件是不够的。 HTMLTestRunner是python标准库unittest单元测试框架的一个扩展,它生成易于使用的HTML测试报告。 下载地址: http://tungwaiyip.info/software/HTMLTestRunner.html 下载HTMLTestRunner.py文件,选中后右键另存为,保存到本地,然后将其放在python安装目录下的Lib目录下。即:Windows保存到…\pytohn27\Lib目录下。 在python交互模式下引入HTMLTestRunner模块,如果系统没有报错,则说明添加成功,如下图所示 2.修改HTMLTestRunner 因为HTMLTestRunner.py是基于python2开发的,为了使其支持python3的环境,需要对其中的部分内容进行修改,如下图所示。 #第94行 #第540行 #第633行 #第646行 #第771行 #第778行 3.生成HTML测试报告 下面继续以test_baidu.py文件为例生成HTMLTestRunner测试报告。 (注意:由于当前本人使用的是python2.7,所以不能修改HTMLTestRunner.py文件) #test_baidu.py #coding:utf-8 from selenium

Selenium 2自动化测试实战34(编写Web测试用例)

房东的猫 提交于 2019-12-03 11:12:37
编写Web测试用例 1.介绍了unittest单元测试框架,其主要是来运行Web自动化测试脚本。简单的规划一下测试目录: web_demo1/ ------test_case/ ------------test_baidu.py ------------test_google.py ------report/ ------------login.txt ------runtest.py 目录结构如下图所示: 创建web测试用例。 #test_baidu.py #coding:utf-8 from selenium import webdriver import unittest import time class MyTest(unittest.TestCase): def setUp(self): self.driver=webdriver.Chrome() self.driver.maximize_window() self.driver.implicitly_wait(10) self.base_url="http://www.baidu.com" def test_baidu(self): driver=self.driver driver.get(self.base_url+"/") driver.find_element_by_id("kw").clear()

python unittest 加载测试用例的方法

穿精又带淫゛_ 提交于 2019-12-03 10:01:14
方法一: suite=unittest.TestSuite() suite.addTest(类名(要运行的函数名)) #第一条测试用例 方法二: suite=unittest.TestSuite() loader=unittest.TestLoader() #用例加载器 suite.addTest(loader.loadTestsFromTestCase(类名)) #可以一次性加载某个类下面所有的测试用例 方法三: suite=unittest.TestSuite() loader=unittest.TestLoader() suite.addTest(loader.loadTestsFromModule(模块名)) #可以一次性加载某个模块下面所有的测试用例 运行 runner=unittest.TextTestRunner() runner.run(suite) 来源: https://www.cnblogs.com/wind666/p/11787396.html