unittest

python测试用框架unittest & HTMLTestRunner

匿名 (未验证) 提交于 2019-12-02 20:32:16
import unittestimport requestsimport os, time,sysfrom HTMLTestRunner import HTMLTestRunnerfrom caculate import *class TestClass(unittest.TestCase): @classmethod #类方法:每次运行测试类只执行一次 def setUpClass(cls): print("这是测试整个类前要执行的方法") def setUp(self): print("这是每一个测试方法前面运行的方法") def tearDown(self): print("这是每一个测试方法后面运行的方法") def test_first(self): print("这是测试方法1-进行接口测试demo") # 这是利用requests第三方库(进行发请求,收响应)向百度发个get请求 res = requests.get('http://www.baidu.com') # 这是输出返回结果 print(res.text) def test_second(self): print("这是测试方法2-研究一下python的断言") assert 1 == 1 assert {'name': 'linda', 'age': 18} == {'name': 'linda',

Python+Selenium+Unittest+Ddt+HTMLReport分布式数据驱动自动化测试框架结构

匿名 (未验证) 提交于 2019-12-02 20:32:16
1、Business:公共业务模块,如登录模块,可以把登录模块进行封装供调用 ------login_business.py from Page_Object . Common_Page . login_page import Login_Page from HTMLReport import logger import time def login ( driver , username , password ): """ 登录业务 :param driver:浏览器驱动 :param username:用户名 :param password:密码 :return:None """ logger (). info ( f "使用用户名:{username},密码:{password}进行登陆" ) login_page = Login_Page ( driver ) login_page . send_username ( username ) login_page . send_password ( password ) login_page . submit () time . sleep ( 2 ) ----Base_url.py:对应的url地址 2、Common:与业务无关的公共模块,如对Selenium的二次封装,方便后期的调用,还有一些工具类

unittest的命令窗口

帅比萌擦擦* 提交于 2019-12-02 19:46:32
命令窗口执行:   1.可以在命令窗口下执行单个module、class、method    python - m unittest test_module1 test_module2      python - m unittest test_module . TestClass    python - m unittest test_module . TestClass . test_method   2.执行某个文件下的测试用例   python -m unittest tests/test_something.py   3.传递-v使测试执行更加清晰    python - m unittest - v test_module      4.不传递任何测试脚本,则执行当前目录下所有能发现的脚本   python -m unittest  5.命令窗口语法查看 python -m unittest -h /*--> */ /*--> */ optional arguments: -h, --help show this help message and exit -v, --verbose Verbose output -q, --quiet Quiet output --locals Show local variables in tracebacks -f, -

初识unittest

人走茶凉 提交于 2019-12-02 19:42:52
unittest介绍:   unitest是python版本的junit测试框架,支持测试自动化、共享测试设置和关闭代码,测试用例组合管理及生成对应的测试报告 unittest四大功能: test fixture A test fixture represents the preparation needed to perform one or more tests, and any associate cleanup actions. This may involve, for example, creating temporary or proxy databases, directories, or starting a server process.   支持一个或多个的测试组件,以及清除测试动作,例如:创建或临时数据库链接,目录及启动服务器进程等操作。 test case A test case is the smallest unit of testing. It checks for a specific response to a particular set of inputs. unittest provides a base class, TestCase , which may be used to create new test cases.  

Django单元测试

你离开我真会死。 提交于 2019-12-02 18:10:41
更多技术资讯可关注:gzitcast mock 测试 ock 是辅助单元测试的模块,用于测试不方便调用的别人的接口。举个简单的例子,比如说,我们测试django 写的微信登录接口,正常流程下,我们需要前端拉起授权窗口,获取jscode或其他数据。而这一部分操作,我们在单元测试的时候没办法模拟出来。此时,我们希望假设调用微信的接口,正常返回了我们需要的数据,在这种情况下,我们便需要简单的mock 函数,假设已经该函数正常返回了我们的结果,让流程更通畅。 代码demo: [Python] 纯文本查看 复制代码 ? 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 from rest_framework.test import APITestCase from unittest import mock class AdviserTest(APITestCase): # mock.patch 中指定我们需要mock的函数路径(使用时的路径) @mock .patch( "adviser.views.jscode2session" ) def test_small_app_login( self , mock_jscode2session): # 添加mock 函数的返回值,指定之后

Python接口测试框架实战与自动化进阶✍✍✍

帅比萌擦擦* 提交于 2019-12-02 05:50:36
Python接口测试框架实战与自动化进阶 一、fiddler在工作中的运用 1、如何抓接口  抓紧手机端接口    ①、在电脑终端输入:ipconfig ,找到电脑ip    ②、打开手机,连接WiFi,进入WiFi详情,改用手动代理,将ip设置为电脑端的ip,端口默认(8888)      ③、打开fiddler,找到并打开Fiddler Options ,选择Connections栏,做如下改动:    这样就可以尝试抓取接口了。 注: Python requests中文文档参考: http://docs.python-requests.org/zh_CN/latest/user/quickstart.html 二、unittest使用 python自带的包 1、unittest简单使用 使用 unittest的test类:TestCase ,重载相关方法: import unittest class TestMethod(unittest.TestCase): @classmethod def setUpClass(cls): print('重载setUpClass类方法,类实例化(初始化)时调用') @classmethod def tearDownClass(cls): print('重载tearDownClass方法,所有方法执行完后调用') def setUp

pytest小结

一世执手 提交于 2019-12-02 05:26:59
一.pytest简洁和好处 自动发现 testloader 断言方便 assert 1==1 灵活运行指定的测试用例,标签化,回归 正向 冒烟 登陆 环境管理灵活。会话 模块 那个用哪个不用 fixture:setUp setIPClass setUpModel 丰富的插件,测试报告,插件介绍 allure(比较成熟的测试报告体系,unittest不支持这个插件) 和unittest / nose兼容 二 pytest运行方式 当前文件夹,裕兴的哪个目录,看下没有的情况运行 自动发现测试用例: 1.文件名test_*.py 和 *_test.py开头或结尾,有类名,必须以Test开头的类,没有__init__函数,测试方法名以test_开头的函数 2.没有类,那么以函数为单位的函数名必须以test_开头 三/断言: 自定义提示文案 assert 1==1, "提示文案" 三。 pytest 命令行 python -m pytest ,unittest 编辑器:Run -->run-->Edit Configurations-->+ -->python test -->pytest -->Run 尽量以项目名打开 python代码:添加test_cases文件夹, main.py import pytest pytest.main()/i 自定义查找规则(在根目录下pytest

unittest单元测试框架

早过忘川 提交于 2019-12-02 01:47:50
from testcase1 import countimport unittestclass MyTest(unittest.TestCase): def setUp(self): print('test start') def tearDown(self): print('test end')class TestCount(unittest.TestCase): def test_add(self): j=count(3,2) self.assertEqual(j.add(),5) def test_add2(self): j=count(3,4) self.assertEqual(j.add(),7)if __name__ == '__main__': # unittest.main() #构造测试集 单个案例 suite=unittest.TestSuite() suite.addTest(TestCount('test_add2')) #执行测试集 runner=unittest.TextTestRunner() runner.run() 来源: https://www.cnblogs.com/panpan8554/p/11724055.html

Python接口测试框架实战与自动化进阶 学习 教程

假如想象 提交于 2019-12-01 15:13:07
Python接口测试框架实战与自动化进阶 学习 教程 一、fiddler在工作中的运用 1、如何抓接口  抓紧手机端接口   ①、在电脑终端输入:ipconfig ,找到电脑ip   ②、打开手机,连接WiFi,进入WiFi详情,改用手动代理,将ip设置为电脑端的ip,端口默认(8888)     ③、打开fiddler,找到并打开Fiddler Options ,选择Connections栏,做如下改动:    这样就可以尝试抓取接口了。 注:Python requests中文文档参考: http://docs.python-requests.org/zh_CN/latest/user/quickstart.html 二、unittest使用 python自带的包 1、unittest简单使用 使用unittest的test类:TestCase ,重载相关方法: import unittest class TestMethod(unittest.TestCase): @classmethod def setUpClass(cls): print('重载setUpClass类方法,类实例化(初始化)时调用') @classmethod def tearDownClass(cls): print('重载tearDownClass方法,所有方法执行完后调用') def setUp

httprunner学习19-跳过用例skip/skipIf/skipUnless

不羁岁月 提交于 2019-12-01 10:33:57
前言 在实际工作中,我们有时候会需要对测试用例加判断,比如某个接口功能暂时去掉了,我们希望对这个用例skip不去执行。 当其它的接口依赖于登陆接口返回的token时候,如果登陆都失败了,后面的接口,我们希望也不用执行了。httprunner 中可以用 skip 和 skipIf 去实现此功能。 unittest提供了一些跳过指定用例的方法 @unittest.skip(reason):强制跳转。reason是跳转原因 @unittest.skipIf(condition, reason):condition为True的时候跳转 @unittest.skipUnless(condition, reason):condition为False的时候跳转 @unittest.expectedFailure:如果test失败了,这个test不计入失败的case数目 httprunner 框架延用了 skip/skipIf/skipUnless 三个功能 skip跳过用例 skip是无条件跳过用例,不执行此用例,后面可以加上描述跳过此用例的原因 - config: name: httpbin api test request: base_url: http://www.httpbin.org - test: name: get request skip: 此功能已去除,skip掉 times: