unittest


Python unittest appium

旧城冷巷雨未停 提交于 2019-12-24 01:17:57
import unittest from appium import webdriver from appium.common.exceptions import NoSuchContextException import desired_capabilities class ContextSwitchingTests(unittest.TestCase): def setUp(self): desired_caps = desired_capabilities.get_desired_capabilities('selendroid-test-app.apk') self.driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) def test_contexts_list(self): self._enter_webview() contexts = self.driver.contexts self.assertEqual(2, len(contexts)) def test_move_to_correct_context(self): self._enter_webview() self.assertEqual('WEBVIEW_io.selendroid.testapp', self

Day-10: 错误、调试和测试

百般思念 提交于 2019-12-23 02:06:04
  程序运行时,会遇到各种各样的错误。   编写错误叫做bug,而另一类由于运行过程中无法预测的,比如写文件时,磁盘满了,写不进去;或者从网络抓取数据,网络突然掉了。这些错误称为异常,程序中需要对异常进行处理,使得程序能够运行下去。 错误处理   Python中,程序运行错误时,如果错误没有捕获,它会一直往上抛,最后被Python解释器捕获,打印一个错误。 # err.py: def foo(s): return 10 / int(s) def bar(s): return foo(s) * 2 def main(): bar('0') main() $ python err.py Traceback (most recent call last): File "err.py", line 11, in <module> main() File "err.py", line 9, in main bar('0') File "err.py", line 6, in bar return foo(s) * 2 File "err.py", line 3, in foo return 10 / int(s) ZeroDivisionError: integer division or modulo by zero 从上到下,错误会一层层的反馈,直到显示最终出错的地方。   try..

unittest单元测试,基于java的junit测试框架

北城以北 提交于 2019-12-23 00:42:00
import unittestclass study(unittest.TestCase): def testXia(self): self.assertEqual((3*4),20) def testHong(self): self.assertEqual(2,2)if __name__=="__main__": unittest.main()注意:1.方法的命名以test开头;2.查看unittest的用法,help(unittest);3.查看**的属性,dir(unittest.TestCase); 来源: https://www.cnblogs.com/canglongdao/p/11966851.html

Python接口自动化测试框架实战 从设计到开发

旧时模样 提交于 2019-12-21 01:00:35
第1章 课程介绍(不要错过) 本章主要讲解课程的详细安排、课程学习要求、课程面向用户等,让大家很直观的对课程有整体认知! 第2章 接口测试工具Fiddler的运用 本章重点讲解如何抓app\web的http\https请求包、如何模拟请求数据、过滤规则及修改响应数据、如何解决无法抓包问题 以及fiddler接口测试,让大家能应用好工具! 第3章 Requests常见方法实战运用 本章重点讲解 get\post请求测试、接口测试中结果处理、上传\下载文件接口测试、请求中header及cookie处理、登陆接口加秘密字段处理及session的管理,重点让大家掌握Requests常见的方法。 第4章 get\post接口开发实战 本章主要讲解开发接口环节搭建、flask开发get接口以及flask开发post接口,让大家深入掌握接口开发! 第5章 Mock服务如何实现 本章重点讲解Mock实现原理和实现、case中Mock的实现以及MockRunner的使用,重点让大家掌握Mock服务。 第6章 Unittest的使用 本章重点讲解unittest介绍及使用 、unittest中断言、unittest中case的管理、unittest和接口测试结合及接口测试之报告生成。 第7章 接口自动化框架设计 本章重点讲解持续集成环境搭建、 jenkins插件管理、Jenkins邮件配置

Web自动化之Unittest框架

情到浓时终转凉″ 提交于 2019-12-20 23:12:56
文章目录 UnitTest 框架 1. TestCase(测试用例) 2. TestSuite(测试套件) 3.TextTestRunner(测试用例执行) 4. TestLoader(组装测试用例) 5. Fixture 6. 断言 定位不到元素怎么处理? 今日目标 能够使用UnitTest定义测试用例并运行 记住TestSuite作用及使用方式 记住TextTestRunner作用及使用方式 了解TestLoader作用及使用方式 掌握定义方法级别的Fixture 掌握定义类级别的Fixture 了解定义模块级别的Fixture 了解断言的概念 能够使用assertEqual、assertIn进行断言 UnitTest 框架 什么是框架? 框架英语单词是framework 为解决一类事情的功能集合 什么是UnitTest框架? 概念:UnitTest是Python自带的一个单元测试框架,用它来做单元测试。 为什么使用UnitTest框架? 能够组织多个用例去执行 提供丰富的断言方法 能够生成测试报告 UnitTest核心要素 TestCase TestSuite TestRunner TestLoader Fixture 1. TestCase(测试用例) 代码步骤 1.导包:import unittest 2.定义测试类:新建测试类必须继承unittest.TestCase

python--unittest框架之testcase

匆匆过客 提交于 2019-12-17 23:09:16
** 一 unittest是什么? ** unittest是python内置的单元测试框架,具备编写用例、组织用例、执行用例、输出报告等自动化框架的条件。是标准库,安装方式:pip install unittest 使用unittest前需要了解该框架的五个概念: 即test case,test suite,testLoader,test runner,test fixture。 test case :一个完整的测试单元,执行该测试单元可以完成对某一个问题的验证,完整体现在: 测试前环境准备(setUp),执行测试代码(run),以及测试后环境还原(tearDown); test suite :多个测试用例的集合,测试套件或测试计划; testLoader :加载TestCase到TestSuite中的,其中loadTestsFrom__()方法用于寻找TestCase, 并创建它们的实例,然后添加到TestSuite中,返回TestSuite实例; test runner :执行测试用例,并将测试结果保存到TextTestResult实例中,包括运行了多少测试用例, 成功了多少,失败了多少等信息; test fixture:一个测试用例的初始化准备及环境还原,主要是setUp() 和 setDown()方法; ** 1.unittest的属性如下: [‘BaseTestSuite

pytest使用简介

淺唱寂寞╮ 提交于 2019-12-17 16:46:27
pytest是基于py unittest的一个单元测试框架,用起来比unittest简单不少,不过和unittest使用不太一样,总结如下: 格式: case的py文件名必须是test开头 def用例必须是test开头 class名必须是Test开头,注意大写 class中的def用例必须是test开头 pytest提供了很多运行参数,比较常用的有: -k:只执行指定的用例-s:命令行显示测试代码的输出,如果需要输出html结果最好不要-s -v:显示详细信息 -q:不显示详细信息 --html=path:输出测试结果到html 初始化,pytest提供了如下初始化和清理环境方法: setup_function、teardown_function setup_module、teardown_module setup、teardown setup_class、teardown_class setup_method、teardown_method @pytest.fixture() 对于class用例集类来说: setup_function、teardown_function 不能用 setup_module、teardown_module 放在类外可以使用、放在类内不能使用,只在最前和最后调用 setup、teardown 放在类内可以使用、放在类外不能使用,每个case都会调用

python 驱动开发环境实践

余生长醉 提交于 2019-12-17 15:58:25
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 我平常使用Gvim来写代码,所以先配置Vim的python开发环境。 一、配置Vim环境 模版文件准备 为了在vim中能够自动建立测试文件框架,需要建立模版文件,假设我在 ~/.vim/skeleton 目录下建立需要的模版文件,目录结构如下: /home/bl/.vim/skeleton |---test.py |---skeleton_top.py |---alltests.py |---skeleton_bottom.py alltest.py 模版文件 import unittest import sys import os CUR_DIR = os.path.abspath(os.path.dirname(__file__)) PAR_DIR = os.path.abspath(os.path.join(CUR_DIR, os.path.pardir)) sys.path.append(os.path.abspath(PAR_DIR)) sys.path.append(os.path.abspath(CUR_DIR)) sys.path.append(os.path.join(CUR_DIR, 'tests')) tests = os.listdir(os.curdir) tests = [n[:-3

Flask-单元测试

时光总嘲笑我的痴心妄想 提交于 2019-12-16 13:47:39
Flask-单元测试 敏捷开发(agile development) scrum 结对编程 测试驱动开发(TDD): Test driven development 单元测试(unit testing)是开发者自己编写的一小段代码,用于检验被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试是用于判断某个 特定条件(或者场景)下某个特定函数 的行为。 注意单元测试是开发人员自己负责 unittest Pytest是 python的一种unittest框架,与python自带的unittest测试框架类似,但是比unittest框架使用起来更简洁,效率更高。 执行测试过程中可以将某些测试跳过,或者对某些预期失败的case标记成失败 能够支持简单的单元测试和复杂的功能测试 支持重复执行失败的case 支持运行由nose, unittest编写的测试case 具有很多第三方插件,并且可以自定义扩展 方便的和持续集成工具集成 支持参数化 pytest fixture用途 1.做测试前后的初始化设置,如测试数据准备,链接数据库,打开浏览器等这些操作都可以使用fixture来实现 2.测试用例的前置条件可以使用fixture实现 3.支持经典的xunit fixture ,像unittest使用的setup和teardown 4

unittest 执行airtest 脚本

十年热恋 提交于 2019-12-16 13:22:46
参考: https://blog.csdn.net/gzh00001/article/details/93331399 #!/user/bin/python3#coding=utf-8#2019/12/14 --17:21#author :huifrom airtest.core.api import *import unittestfrom BeautifulReport import BeautifulReportimport osauto_setup(__file__)class WTestcase(unittest.TestCase): @classmethod def setUpClass(cls): init_device("Android", "OALEP004751") def setUp(self): print('ui测试开始') # start_app("team.driver.dev") def test_1(self): """ui冒烟测试""" # 热启动吊起app touch(Template(r"tpl1576313993828.png", record_pos=(-0.336, 0.024), resolution=(720, 1440))) sleep(6) # 错误登录 text("12341234") sleep(5) touch

工具导航Map