① 如何用python做自动化测试
目前大家对Python都有一个共识,就是他对测试非常有用,自动化测试里Python用途也很广,但是Python到底怎么进行自动化测试呢?今天就简单的向大家介绍一下怎么使用Python进行自动化测试,本文只是自己的一点点分享,若有错误,请大家多多批评指正。这里主要介绍的是一些Python测试的框架1、单元测试a、unittest:Python自带的单元测试框架b、pyunit:Junit的Python版本2、使用Pyhon进行WindowsGUI测试这部分的功能主要就是和大家平时使用的QTP类似。在Windows下我们可以使用pywinauto这个开源的框架:/p/pywinauto/来个小例子:app.Notepad.MenuSelect("Help->AboutNotepad")app.AboutNotepad.OK.Click()app.Notepad.Edit.TypeKeys("pywinautoWorks!",with_spaces=True)呵呵,强大吧3、使用Python进行Web自动化测试使用Python进行Web自动化测试的工具有很多,这里就向大家推荐一下我比较熟悉的Selenium(WebDriver)吧。c、Pymeter
② Python实现性能自动化测试竟然如此简单
一、思考❓❔
1.什么是性能自动化测试?
2.Python中的性能自动化测试库?
locust库
二、基础操作
1.安装locust
安装成功之后,在cmd控制台将会新增一条命令,可输入如下命令查看:
2.基本用法
三、综合案例演练
1.编写自动化测试脚本
2.使用命令行运行
3.打开web ui界面进行配置
设置并发用户数为10,每5秒创建一个用户
压测过程截图
美轮美奂的压测报告
压测失败详情
下载压测统计数据
下载的压测统计数据csv文件
六、总结
出处:https://www.cnblogs.com/keyou1/
③ python 自动化,如何添加测试用例
1、单独添加一个或多个用例
......
2、添加某个类下的所有用例
2.1方法一:
如Class_name类下有多个用例,则直接括号里不写入任何用例名,即可测试该类下所有用例。
2.2方法二
使用unittest.makeSuite(类名),将该类下所有用例添加到套件中
2.3方法三
使用 unittest.TestLoader()这个类下的loadTestsFromTestCase(类名),将该类下的所有用例加入到套件中
3、将整个文件中的用例都加载到套件中,不管有几个用例类
使用 unittest.TestLoader()这个类下的loadTestsFromMole(文件名, pattern=None),moudle就是用例存放的文件名
④ python3实现自动化测试 [基于python语言实现自动化测试的研究]
[摘 要]自动化测试近年来的技术已经越来越成熟,在某些方面有着不可替代的作用,例如在性能测试,压力测试中,自动化测试可以模拟成千上万个用户对目标程序进行测试。本文通过对大型实际项目的分析研究,分析针对某一产品的自动化测试框架。然后讨论怎样用python实现自动化测试。
[关键词]测试技术手工测试自动化测试python脚本
[中图分类号]TP3[文献标识码]A[文章编号]1007-9416(2010)03-0088-01
地添加测试用例,为测试用例提供公用函数,执行测试用例,发送测试结果等功能。
1 自动化测试的重要概念
检查点(CheckPoint):将特定属性的当前数据与期望数据进行比较的地方,用于判定被测试程序的功能是否正确。
成本收益比:并不是所有的测试都适合自动化测试,衡量一个用例是否适合自动化测试一个很重要的参考是国际上流行的自动化测试成本收益比,即是p=k*n/c1+c2。各个参数的意义下:
K=手工执行自动化测试案例所花费的时间成本。
N=自动化测试案例执行的次数
C1=花费在自动化测试前期的(时间成本+人力成本+金钱成本)
C2=花费在自动化测试后期的(时间成本+人力成本+金钱成本)
二八定律:1897年意大利经济学家帕列托发现的二八定律在软件行业同样适用,而可以给我们很多启发,指导我们的软件开发和测试。80%的用户经常使用的是20%的软件功能。在软件测试中,80%的bug是集中在20%的软件模块中,对于自动化测试来说,找出这20%的测试用例是至关重要的。
2 自动化测试的执行步骤
每次脚本都是从一个统一的文件开始执行的,就是如上的Start.py。这样做的好处是可以把每个脚本都需要处理的工作放到一个文件中去执行,例如收集一些配置信息,读取命令行参数。以这样统一的处理风格为脚本的可读性提供了保证,也为简化了测试脚本的编写,不用每次都要处理一些基本的事务。
启动文件Start.py首先会读取命行参数,如pthon Start.py -s FileMenu.suite -t FileNew
通过python的内置函数sys.argv就可以读取命令行参数吵肢,非常方便。读取到命令行参数后,在Start.py内部可以判断命令行的格式是否符合我们的格式,如测试人员不小心把-s 写成了-z 这样就要退出测试执行。
如果输入的格式是正确的,Start.py 负责在特定的目录下寻找特定的Suite文件和Testcase。Suite文件和Testcase的格式会在下边的具体实例中作介绍。
找到特定的Testcase后就可以执行测试用例,根据检查点的通过或失败发送测试报告,该报告会以网页的形式显示,方便测试人员和开发人员的查找调试。
3 用python实现GUI测试
图形用户界面(GUI) 就是使用图象,输入的文字,带图标的计算机界面,取而代之了许多键盘的功能。GUI可以让用户通过图标和鼠标与计算机进行交互,而不是单调地在命令行中输入文本进行操作。设计良好的图形用户界面可以使用户从命令中解放出来。
GUI测试主要包括两个方面:一是纯GUI测试,主要关注应用程序上GUI组件是否符合规范或是用户的使用习惯,二是功能测试,主要是检验和验证系统是否实现了系统的业务需求,旨在验证系统的业务实现能力。但事实上两者不是完全独立的,一方面GUI的测试必定要触发功能,另一方面,功能测试也一定要通过GUI将搜碰洞事件传递给后台服务。
3.1 编写测试用例
ID 466540 :: Test CaseGeneral UI File Menu
Version 2
世枯PriorityP1
Summary:Verify File New window
Steps
SelectFile -> New
Expected Results
1. The VM creation window should open.
Keywords: i18n
Requirements : None
Created on 09/22/2008 20:58:23by wangw
Last modified on04/17/2009 00:20:53by marian
3.2 测试用例分析
以上是一个完整测试用例, 该测试用例包括:
测试ID 466540 , 有了测试ID就可以在测试人员提交bug后,QA或开发人员通过ID找到这个测试用例。还有一个更大的用处就是,在自动个脚本生成测试报告后,可以根据测试ID把该测试用例显示在测试报告中,以供测试人员和开发人员调试。
测试名称,根据测试名称应该可以很快了解测试用例的内容,所以好的测试名称也是非常重要的。
测试用例的版本(Version)。
测试优先级(Priority),测试优先级也是一个很重要的参数,因为大型项目都要有很多测试用例要执行。只有明确测试优先级才能确保重要的测试用例得以及时进行,保证软件质量。
测试用例概述(summary),帮助测试执行人员了解该测试用例的用测的功能。
测试步骤,描述测试人员或是自动化脚本每一步是怎样操作的,例如本例告诉测试人员选择菜单Fie,然后选择菜单项New。
预期结果(Expected Results),说明经过以上测试步骤,期望程序运行出现的结果。
4 结语
本文在明确软件测试理论的基础上,对自动化测试做了重点阐述,通过实际项目的自动化测试分析,有些测试用例特别适合用自动化测试。例如GUI测试中,用些是要验证界面元素是否显示正常。如果是脚本就可以准确无误地很快验证完毕,而用人工验证不仅容易出错而且费时间。由于时间和硬件条件有限,本论文规避了许多问题,所以仍有许多工作需要完成。例如:做好脚本的复用,使测试脚本不断积累。及研究怎样在测试工具和自己搭建框架中寻找平衡等。
[参考文献]
[1] 张克东.《软件工程与软件测试自动化教程》.北京:电子工业出版社,2002.
[2] 朱菊,王志坚,杨雪.《基于数据驱动的软件自动化测试框架》[J]计算机技术测试与发展,2006.
[3] 马瑞芳,王会燃.《计算机软件测试方法的研究》.小型微型计算机系统,2003.
[4] 朱鸿,金凌紫.《软件质量保障和测试》[M].北京:电子科学出版社,1997.
本文为全文原貌 未安装PDF浏览器用户请先下载安装 原版全文
⑤ python+appium自动化测试-重复执行测试用例
来自APP Android端自动化测试初学者的笔记,写的不对的地方大家多多指教哦。
在功能测试过程中,经常会遇到一些偶然出现的Bug,需要通过重复执行用例来复现问题,那么,在自动化测试的过程中,对于一些偶然出现的Bug,也可以针对单个用例,或者针对某个模块的用例重复执行多次来复现。
重复执行测试用例的方法这边主要总结了三个:
①重复运行单条或全部测试用例
②测试用例运行失败后重新运行
③测试用例重复运行直到第一次失败后停止
要重复执行测试用例,需要先安装pytest-repeat插件
全局安装: 即安装在全局环境中,新创建的工程导入全局环境时会将该包导入,cmd输入:pip install pytest -repeat,安装成功后会显示repeat版本号
局部安装: 即安装在当前项目的环境下,新创建的工程不会同步该包,在PyCharm→File→setting,搜索pytest intrepreter,点击“+”号,如下图所示:
再搜索pytest-repeat,点击install package安装
出现下图表示安装成功:
重复执行测试用例的方法有多种,比如:方法一的重复执行单条测试用例;方法二的重复执行每条测试用例;方法三的每条测试用例执行一次,共执行N遍。
在测试用例前添加注解@pytest.mark.repeat(value),value表示重复的次数,来实现单条用例的重复执行。
运行结果为:被装饰的测试用例test_one会连续执行两次,再执行test_two,即按照顺序,第一个测试用例执行N次,再执行下一个测试用例
在终端传入-count的方式实现重复执行测试用例
运行结果为:测试用例test_one会连续执行两次,再执行两次test_two,即按照执行顺序,每一个测试用例都执行N次
注意:-s:表示输出用例中的调式信息,比如print的打印信息等。
-repeat-scope类似于pytest fixture的scope参数,在终端输入,-repeat-scope有四个参数:
重运行机制使用到了pytest的插件,插件名称为:rerunfailures,要使用它,需要先安装此插件
出现下图表示安装成功:
运行结果如下:
注意:
运行结果如下:
将pytest的 -x 选项与pytest-repeat结合使用,可以实现在重复运行测试用例的过程中,测试用例第一次失败时就停止运行,具体实现方法如下:
运行结果如下:
⑥ 基于Python+UIautomation的WindowsGUI自动化测试实战
1 测试需求
模拟用户操作,打开记事本进行内容输入
2 测试步骤
2.1 用例1
打开记事本;
窗口最大化;
输入"人生苦短,我用Python!";
关闭窗口;
不保存直接退出。
2.2 用例2
打开记事本;
窗口最大化
输入:
Python之禅!
优美胜于丑陋(Python 以编写优美的代码为目标)
明了胜于晦涩(优美的代码应当是明了的,命名规范,风格相似)
简洁胜于复杂(优美的代码应当是简洁的,不要有复杂的内部实现)
复杂胜于凌乱(如果复杂不可避免,那代码间也不能有难懂的关系,要保持接口简洁)
扁平胜于嵌套(优美的代码应当是扁平的,拍核不能有太多的嵌套)
间隔胜于紧凑(优美的代码有适当的间隔,不要奢望一行代码解决问题)
可读性很重要(优美的代码是可读的)
即便假借特例的实用性之名,也不可违背这些规则(这些规则至高无上)
不要包容所有错误,除非你确定需要这样做(精准地捕获异常,不写 except:pass 风格的代码)
当存在多种可能,不要尝试去猜测
而是尽量找一种,最好是唯一一种明显的解决方案(如果不确定,就用穷举法)
虽然这并不容易,因为你不是 Python 之父(这里的 Dutch 是指 Guido )
做也许好过不做,但不假思索就动手还不如不做(动手之前要细思量)
如果你无法向人描述你的方案,那肯定不是一个好方庆喊案;反之亦然(方案测评标准)
命名空间是一种绝妙的理念,我们应当多加利用(倡导誉贺野与号召)"