当前位置:首页 » 编程语言 » python测试框架

python测试框架

发布时间: 2022-07-16 15:15:18

python写的测试框架怎么使用

安装

>pipinstall-Upytest#通过pip安装

>py.test--version#查看pytest版本

Thisispytestversion2.7.2,importedfromC:Python27libsite-packagespytest.pyc

简单的测试

让我们创建第一个文件,对个简单的功能进行测试。

好吧!其实, 我也不理解这段代码的含义,但是执行它的可运行测试用例了。

pytest/

├──test_case/

│├── test_sample.py

│├──test_class.py

│├── __init__.py

│ └──test_case2/

│ ├── test_main.py

│ ├── test_time.py

│ └──__init__.py

└──runtests.py

执行runtest.py文件。

>python runtest.py

当然,你也可以打开runtests.py 文件运行它。

===================================================================

*最后,pytest是如果识别测试用例的呢?它默认使用检查以test_ *.py 或*_test.py命名的文件名,在文件内部查找以test_打头的方法或函数,并执行它们。

pytest还有许多需要讨论的地方,做为这个系列的第一节,先介绍到这里。

⑵ Python自动化测试框架有哪些

自动化测试常用的Python框架有哪些?常用的框架有Robot Framework、Pytest、UnitTest/PyUnit、Behave、Lettuce。Pytest、Robot Framework和UnitTest主要用于功能与单元测试,Lettuce和Behave仅适用于行为驱动测试。
一、Robot Framework
Python测试框架之一,Robot Framework被用在测试驱动(test-driven)类型的开发与验收中。虽然是由Python开发而来,但是它也可以在基于.Net的IronPython和基于java的Jython上运行。作为一个Python框架,Robot还能够兼容诸如Windows、MacOS、以及linux等平台。
在使用Robot Framework(RF)之前,需要先安装Python 2.7.14及以上的版本。推荐使用Python 3.6.4,以确保适当的注释能够被添加到代码段中,并能够跟踪程序的更改。同时还需要安装Python包管理器--pip。
二、Pytest
适用于多种软件测试的Pytest,是另一个Python类型的自动化测试框架。凭借着其开源和易学的特点,该工具经常被QA(质量分析)团队、开发团队、个人团队、以及各种开源项目所使用。鉴于Pytest具有“断言重写(assert rewriting)”之类的实用功能,许多大型互联网应用,如Dropbox和Mozilla,都已经从下面将要提到的unittest(Pyunit)切换到了Pytest之上。
除了基本的Python知识,用户并不需要更多的技术储备。另外,用户只需要有一台带有命令行界面的测试设备,并且安装好了Python包管理器、以及可用于开发的IDE工具。
三、UnitTest/PyUnit
UnitTest/PyUnit一种标准化的针对单元测试的Python类自动化测试框架。基类TestCase提供了各种断言方法、以及所有清理和设置的例程。因此,TestCase子类中的每一种方法都是以“test”作为名词前缀,以标识它们能够被作为测试用例所运行。用户可以使用load方法和TestSuite类来分组、并加载各种测试。
可以通过联合使用,来构建自定义的测试运行器。正如我们使用Junit去测试Selenium那样,UnitTest也会用到UnitTest-sml-reporting、并能生成各种XML类型的报告。由于UnitTest默认使用了Python,因此我们并不需要什么先决条件。除了需要具备Python框架的基本知识,您也可以额外地安装pip、以及用于开发的IDE工具。
四、Behave
行为驱动开发是一种基于敏捷软件开发的方法。它能够鼓励开发人员、业务参与者和QA人员,三者之间的协作。Python测试框架Behave允许团队避开各种复杂的情况,去执行BDD测试。从本质上说该框架与SpecFlow和Cucumber相似,常被用于执行自动化测试。用户可以通过简单易读的语言来编写测试用例,并能够在其执行期间粘贴到代码之中。而且,那些被设定的行为规范与步骤,也可以被重用到其他的测试方案中。
任何具备Python基础知识的人都可以使用Behave。其他先决条件还包括:先安装Python 2.7.14及以上的版本。通过Python包管理器或pip来与Behave协作。大多数开发人员会选择Pycharm作为开发环境,当然您也可以选用其他的IDE工具。
五、Lettuce
Lettuce是另一种基于Cucumber和Python的行为驱动类自动化工具。Lettuce主要专注于那些具有行为驱动开发特征的普通任务。它不但简单易用,而且能够使得整个测试过程更流畅、甚至更有趣。安装带有IDE的Python 2.7.14、及以上的版本。当然,您也可以使用Pycharm或任何其他IDE工具。同时,您还需要安装Python包管理器。

⑶ 如何搭建python自动化测试框架

Auty文件夹结构介绍
1. actions文件夹:包含了和业务相关的包含可复用方法的脚本文件,根据业务的不同可以在actions文件夹下创建不同的业务文件夹;
2. constants文件夹:包含了常量初始化的python脚本文件,根据业务划分可以再创建子文件夹或多个常量文件;
3. data文件夹:包含了测试用的数据;
4. lib文件夹:包含了支持框架运行的python文件;
5. log文件夹:包含了运行测试过程中生成的日志文件;
6. results文件夹:包含了测试结果文件;
7. scripts文件夹:包含了scripts文件夹和selections文件夹;
1)scripts文件夹下包含了测试脚本(可根据业务划分成多个子目录);
2)selections文件夹下包含了suite文件(包含了需要执行的脚本路径集合);
8. utils文件夹:包含了和业务逻辑无关的包含可复用方法的脚本文件;
Auty文件结构介绍
1. Auty文件夹下:
1)__init__.py文件:包结构所必需文件(以下所有涉及可调用脚本的文件夹下均需有此文件);
2)config.txt文件:Auty框架配置说明文件;
3)recovery.py文件:垃圾代码回收文件(用来回收执行测试过程中因故障未能自动删除的自动生成的代码);
4)requirements文件:包含了框架所需要安装的python库信息;
5)setup.py文件:执行脚本以安装requirements文件中所包含的python库;
6)start.py文件:执行脚本以启动接口自动化测试;
2. lib文件夹下:
1)exe_deco.py文件:包含修饰脚本运行时方法的文件;
2)execute_selection.py文件:包含运行suite集合下脚本方法的文件;
3)generate_html.py文件:包含根据生成的csv格式测试结果文件生成html类型测试结果文件方法的文件;
4)generate_result.py文件:包含生成csv格式测试结果方法的文件;
5)read_selection.py文件:包含读取可执行的脚本列表方法的文件;
6)recovery_code.py文件:包含垃圾代码回收方法的文件;
7)write_log.py文件:包含生成日志文件方法的文件;
3. scripts文件夹下:
1)create_selection.py文件:包含创建suite文件(all_scripts_selection.txt)方法的文件;
Auty使用步骤
1. 运行Auty/setup.py文件;
2. 编写接口测试python脚本并放到Auty/scripts/scripts目录(或子目录)下;
3. 运行Auty/scripts/create_selection.py文件生成Auty/scripts/all_scripts_selection.txt文件;
4. 修改Auty/scripts/all_scripts_selection.txt文件自定义test_selection.txt文件(名字随意起)并放到Auty/scripts/selections文件夹下;
5. 运行Auty/start.py文件开始接口自动化测试;
6. 在Auty/results文件夹下生成的测试结果文件中查看测试结果。
Auty编写过程
这个框架里scripts、utils、actions、contants四个文件夹中的内容是根据实际工作内容可以随意替换的,其他为Auty接口自动化测试框架必需的组成部分

⑷ python单元测试框架 有哪些

python单元测试框架 有哪些
同在软件测试岗位。由于同样初学python,所以没有太多的实践经验。

使用python的单元测试框架,可以建立测试类,构造测试集。
测试类中包含了common的测试方法定义,包括测试开始前建立测试环境的setUp方法和测试完成后清理还原环境的tearDown方法,最好按照约定规则(以test开头)来命名所有的测试方法。
测试集允许你根据测试策略组合不同的测试用例并实施。

⑸ 怎么搭建 python 的接口自动化测试框架

1.框架搭建
1.1 将struts2中的jar文件导入到项目中
commons-fileupload-1.2.1.jar,commons-io-1.3.2.jar,freemarker-2.3.15.jar,ognl-2.7.3.jar
struts2-core-2.1.8.1.jar,xwork-core-2.1.6.jar
1.2 将struts.xml文件拷贝到项目的src目录下
1.3 修改web.xml文件
添加:
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>

<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
2.action中方法的调用方式
2.1 自动方法调用(只能调用execute)
2.2 指定方法调用(通过设置action标签中的method属性)
2.3 动态方法调用(在调用时,在action后加!方法名称,如:login!deletUser)
注意:<constant name="struts.enable.DynamicMethodInvocation" value="true" />
2.4 通配符调用
3. action接收客户端参数的方式
3.1 直接在action中定义参数变量,并生成set和get方法
3.2 定义接收参数的类
注意:都要为action的成员变量提供get和set方法
3.3 让action实现ModelDriven接口,并实现里面的getModel方法
4.获取request,session,application的方式
4.1 用ActionContext获取,实际上获取到的都是Map对象
4.2 用ServletActionContext获取,获取到的是基于Servlet API的对象

⑹ python已经自动化了,大家一般用什么测试框架

首先我们需要明白自动化测试框架更倾向于一种设计思想 ,这种思想指导工具的使用或者自研开发,并且不是只能使用仅仅一种框架,结合被测系统本身特性一般是选择多种测试框架的组合,来满足测试和设计需求(开发、维护角度)。
录制回放测试框架

录制回放测试框架所采用的原理是通过录制应用程序产生的线性脚本进行回放从而达到自动化测试的目的。

优点:对测试人员测试开发能力要求最低,通过录制就可以得到所需脚本。

缺点:一般不具有逻辑判断的能力 ,可维护性差 ,效率低。

适应场景:不推荐,传统的UI自动化测试逐步弱化。关于U自动化,一定要清楚 被测系统是否满足开展自动化的条件,在被测系统变动频繁的项目中,开展UI自动化无疑是挖了一个很大的坑,其后期维护工作足以让大心疲惫,被迫放弃自动化测试。
测试库构架框架(The Test Library Architecture Framework )

测试库构架框架的核心思想可以概括为系统功能操作和业务逻辑的解耦。将所有的针对测试系统支持的功能操作封装在测试库中,测试脚本调用测试库的同时传递外部的测试数据,测试库的编写由自动化测试发工程编写(可以不懂业务),负责控件的变更和维护, 测试脚本的编写可由对业务比较掌握的自动化测试开发工程编写,负责业务逻辑、测试数据的变更和维护。

优点:被测试系统无论是哪层发生变化(代码层或业务层等),只需要相应的人员进行变更维护即可。

缺点:变更引起的维护工作同时附加在自动化测试开发工程师与业务测试人员身上,维护代码建级大。

适应场景:基于各种自动化开展方式(基于工具如Jemet或不基于工具的自研研发+持续集成)一般都会应用该框架。
数据驱动的自动化测试框架( The Data-Driven Testing Framework )

数据驱动的核心思想可以概括为数据(测试数据、配置数据)与代码解耦。该种框架的原理是采用了数据驱动脚本进行测试,数据驱动脚本是将数据输入存储在独立的数据文件中,脚本只存代码,运行时脚本的输入直接从文件中读取,如此相同的脚本(代码模版)可以运行于不同的测试用例中,实现了代码与数据的分离。

优点:对于业务人员由面向代码的开发转换为面向配置的设计(参数组合设计), 降低了开发难度与开发成本,同时提高了测试用例的易扩展性,可以快速扩展相似测试,实现了自动化代码不随用例的增长而增

缺点:测试脚本的维护由自动化测试开发工程师负责,要求懂自动化编程和业务逻辑,初始测试脚本设计成本较大,具有一定局限性 (针对相同的测试内容并具有相同的测试逻辑).

适用场景:更适应于测试内容测试逻相重复度高,被测对象对测试用例易扩展性、可复用性要求较高的场景。
关键字或表驱动的自动化测试框架(The Keyword-Driven or Table-Driven Testing Framework )

关键字驱动是对数据驱动的逻相扩展,它的核心思想可以概括为数据代码流程(逻辑)解耦,同时完成了代码与测试描述(针对被测对象的测试描述)的映射。该框架的原理是基于数据驱动的基础上,完成了对被测对象的拆分、抽象、 封装使之映射成个个“关键词” (测试描述),编写测试用例时,仅需要对关键词进行组合 ,即可完成不同场景的测试用例开发。

优点:对于业务手工测试人员,由面向代码或配置的开发转化为面向自然语言(测试描述)的开发,最大程度的降低了开发难度与维护成本,同时提高了测试用例的易扩展性、易组织性,实现了自动化代码不随用例的增长而增多。

缺点:对测试人员的测试开发能力以及业务了解程度要求很高。

适用场景:被测对象包含复杂业务流程(逻辑),当然复杂的能做简单的更ok。
了解 更多可以看着这篇文章,希望对你有所帮助,欢迎关注、点赞支持。
https://www.toutiao.com/i6616242076721873416/

⑺ python做接口测试时有哪些框架呢

1、日志类,用于测试时日志记录
pyapilog.py
1 # -*-coding:utf-8 -*-
2 # !/usr/bin/python
3 __author__ = 'dongjie'
4 __data__ = '2015-05-20'
5
6 import logging
7 import datetime
8 import os
9 import setting
10 logLevel = {
11 1 : logging.NOTSET,
12 2 : logging.DEBUG,
13 3 : logging.INFO,
14 4 : logging.WARNING,
15 5 : logging.ERROR,
16 6 : logging.CRITICAL
17 }
18 setFile = os.path.join(setting.root_dir, 'setting.ini')
19 loggers = {}
20
21
22 # 定义日志方法,从配置文件读取日志等级,且定义日志输出路径
23 def pyapilog(**kwargs):
24 global loggers
25 log_level = setting.logLevel
26 log_path = setting.logFile
27 if os.path.exists(log_path):
28 log_file = os.path.join(log_path, datetime.datetime.now().strftime('%Y-%m-%d') + '.log')
29 else:
30 os.mkdir(r'%s' % log_path)
31 log_file = os.path.join(log_path, datetime.datetime.now().strftime('%Y-%m-%d') + '.log')
32 logger = logging.getLogger()
33 logger.setLevel(logLevel[log_level])
34 if not logger.handlers:
35 # 创建一个handler,用于写入日志文件
36 fh = logging.FileHandler(log_file)
37 fh.setLevel(logLevel[log_level])
38 # 再创建一个handler,用于输出到控制台
39 ch = logging.StreamHandler()
40 ch.setLevel(logging.ERROR)
41 # 定义handler的输出格式
42 formatter = logging.Formatter('%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s')
43 fh.setFormatter(formatter)
44 ch.setFormatter(formatter)
45 # 给logger添加handler
46 logger.addHandler(fh)
47 logger.addHandler(ch)
48 loggers.update(dict(name=logger))
49 return logger

⑻ 当前PYTHON常用的测试框架有哪些

从GitHub中整理出的15个最受欢迎的Python开源框架。这些框架包括事件I/O,OLAP,Web开发,高性能网络通信,测试,爬虫等。 Django: Python Web应用开发框架 Django 应该是最出名的Python框架,GAE甚至Erlang都有框架受它影响。

⑼ 如何搭建python+selenium自动化测试框架

selenium是一个web的自动化测试工具,不少学习功能自动化的同学开始首选selenium,相因为它相比QTP有诸多有点:

*免费,也不用再为破解QTP而大伤脑筋

*小巧,对于不同的语言它只是一个包而已,而QTP需要下载安装1个多G的程序。

*这也是最重要的一点,不管你以前更熟悉C、java、ruby、python、或都是C#,你都可以通过selenium完成自动化测试,而QTP只支持VBS

*支持多平台:windows、linux、MAC,支持多浏览器:ie、ff、safari、opera、chrome

*支持分布式测试用例的执行,可以把测试用例分布到不同的测试机器的执行,相当于分发机的功能。

关于selenium的基础知识与java平台的结合,我之前写过一个《菜鸟学习自动化测试》系列,最近学python,所以想尝试一下selenium的在python平台如何搭建;还好这方法的文章很容易,在此将搭建步骤整理分享。

搭建平台windows

准备工具如下:

-------------------------------------------------------------

下载python

-------------------------------------------------------------

如果你是新学python,哪果你没有要用的包是必须依赖于pyhton2.x 的,那么请毫不犹豫的选择python3.5吧!

window安装步骤:

1、下载python安装。

又报了个错:

Chromeversionmustbe>=27.0.1453.0 (Driverinfo:chromedriver=2.0,platform=WindowsNT5.1SP3x86)

说我chrome的版本没有大于27.0.1453.0,这个好办,更新到最新版本即可。

安装IEdriver

在新版本的webdriver中,只有安装了iedriver使用ie进行测试工作。

iedriver的下载地址在这里,记得根据自己机器的操作系统版本来下载相应的driver。

暂时还没尝试,应该和chrome的安装方式类似。

记得配置IE的保护模式

如果要使用webdriver启动IE的话,那么就需要配置IE的保护模式了。

把IE里的保护模式都选上或都勾掉就可以了。

⑽ 基于python的自动化测试框架有哪些

好象python的浏览器测试框架,原来只有一个,还是仿ruby的框架做的。似乎在IE上可以比较好的应用。很老的框架。对JS支持不好。

不过python写个测试框架真是非常容易的事情,随手就来。 基于浏览器测试也容易做。因为你可以使用pyqt,这个库里有一个基于webkit的浏览器。基本上,想做什么都可以了。

最近听说有几个新的BDD的框架正在做。也不知道怎么样。

其实对于python这种语言来说,框架的成本太低。所以最好不要做框架。它有一个基本的编程原则则DRY。do not repeat yourself。不要再造轮子的意思。

直接使用现有的python的testsuite结合进程,线程模型,还有QT轻松就组装出一个测试模块。

热点内容
大数据与数据库的关系 发布:2025-03-07 08:48:20 浏览:288
取幂C语言 发布:2025-03-07 08:43:10 浏览:488
高考解压性 发布:2025-03-07 08:43:10 浏览:690
搜狐广告服务器是什么 发布:2025-03-07 08:36:45 浏览:147
csgo稳定fps要什么配置 发布:2025-03-07 08:35:01 浏览:404
matlab粒子群优化算法 发布:2025-03-07 08:13:49 浏览:249
编译原理翻译 发布:2025-03-07 08:08:01 浏览:592
安卓光遇测试服为什么服务器错误 发布:2025-03-07 08:05:53 浏览:550
火狐缓存文件夹 发布:2025-03-07 08:05:51 浏览:113
代码编程库 发布:2025-03-07 08:05:09 浏览:182