当前位置:首页 » 编程语言 » 用python做自动化测试

用python做自动化测试

发布时间: 2022-07-28 02:45:47

Ⅰ 怎么用python做自动化测试

1新建一台Jenkins服务器,安装并配置好Jenkins2配置一个自动化测试脚本的代码库,可以使用Git或者SVN等版本控制工具。然后在Jenkins服务器上配置一个Job,负责自动的同步最新代码到Jenkins服务器上。3配置要跑自动化测试的虚拟机VM,推荐干净环境下安装需要跑自动化测试的依赖软件工具或者配置以及自动化测试工具(不提前安装配置也行,可以在跑自动化之前用另外的脚本自动安装配置),配置好之后关机并打一个snapshot镜像快照,并命名为prebuild或其它。4新建一个JenkinsJob,用来跑自动化。配置需要连接并使用的自动化测试虚拟机,配置要构建的自动化测试框架xml脚本文件(后面步骤有说明)和target,以及要归档的测试报告,邮件发送等等。5接下来的重点就是自动化测试框架的xml脚本文件了,首先里面定义一个target,负责获取自动化测试对象的安装包。6接着定义一个target(可选),负责从版本库上获取自动化测试脚本同步到Jenkins服务器上(也可以直接使用JenkinsJob本身的插件配置来获取代码)。7定义一个target,负责连接到虚拟机服务器,并恢复到虚拟机的原始状态例如prebuild,然后开机8定义一个target,负责拷贝项目产品安装包和自动化测试源代码到目标虚拟机上。9定义一个target,负责连接到目标测试虚拟机,并打开自动化测试工具,然后运行自动化测试脚本10定义一个target,负责处理自动化测试报告文件和日志文件并把它们从自动化测试虚拟机拷贝到Jenkins服务器对应的Job工作空间下。11最后定义一个主target,按照上面的target流程依次调用。这个主target就是Jenkins服务器上的自动化测试Job中配置的需要构建的Target。

Ⅱ 使用python做接口自动化测试容易吗

为什么要做接口自动化测试?
在当前互联网产品迭代频繁的背景下,回归测试的时间越来越少,很难在每个迭代都对所有功能做完整回归。但接口自动化测试因其实现简单、维护成本低,容易提高覆盖率等特点,越来越受重视。
为什么要自己写框架呢?
使用Postman调试通过过直接可以获取接口测试的基本代码,结合使用requets + unittest很容易实现接口自动化测试的封装,而且requests的api已经非常人性化,非常简单,但通过封装以后(特别是针对公司内特定接口),可以进一步提高脚本编写效率。
一个现有的简单接口例子
下面使用requests + unittest测试一个查询接口
接口信息如下
请求信息:
Method:POST
URL:api/match/image/getjson
Request:
{
"category": "image",
"offset": "0",
"limit": "30",
"sourceId": "0",
"metaTitle": "",
"metaId": "0",
"classify": "unclassify",
"startTime": "",
"endTime": "",
"createStart": "",
"createEnd": "",
"sourceType": "",
"isTracking": "true",
"metaGroup": "",
"companyId": "0",
"lastDays": "1",
"author": ""
}

Response示例:
{
"timestamp" : xxx,
"errorMsg" : "",
"data" : {
"config" : xxx
}

Postman测试方法见截图:

测试思路
1.获取Postman原始脚本
2.使用requests库模拟发送HTTP请求**
3.对原始脚本进行基础改造**
4.使用python标准库里unittest写测试case**
原始脚本实现
未优化
该代码只是简单的一次调用,而且返回的结果太多,很多返回信息暂时没用,示例代码如下
import requests

url = "http://cpright.xinhua-news.cn/api/match/image/getjson"

querystring = {"category":"image","offset":"0","limit":"30","sourceId":"0","metaTitle":"","metaId":"0","classify":"unclassify","startTime":"","endTime":"","createStart":"","createEnd":"","sourceType":"","isTracking":"true","metaGroup":"","companyId":"0","lastDays":"1","author":""}

headers = { 'cache-control': "no-cache", 'postman-token': "e97a99b0-424b-b2a5-7602-22cd50223c15"
}

response = requests.request("POST", url, headers=headers, params=querystring)

print(response.text)

优化 第一版
调整代码结构,输出结果Json出来,获取需要验证的response.status_code,以及获取结果校验需要用到的results['total']
#!/usr/bin/env python#coding: utf-8'''
unittest merchant backgroud interface
@author: zhang_jin
@version: 1.0
@see:http://www.python-requests.org/en/master/
'''import unittestimport jsonimport tracebackimport requests

url = "http://cpright.xinhua-news.cn/api/match/image/getjson"

querystring = { "category": "image", "offset": "0", "limit": "30", "sourceId": "0", "metaTitle": "", "metaId": "0", "classify": "unclassify", "startTime": "", "endTime": "", "createStart": "", "createEnd": "", "sourceType": "", "isTracking": "true", "metaGroup": "", "companyId": "0", "lastDays": "1", "author": ""
}

headers = { 'cache-control': "no-cache", 'postman-token': "e97a99b0-424b-b2a5-7602-22cd50223c15"
}#Post接口调用
response = requests.request("POST", url, headers=headers, params=querystring)#对返回结果进行转义成json串
results = json.loads(response.text)#获取http请求的status_codeprint "Http code:",response.status_code#获取结果中的total的值print results['total']#print(response.text)

优化 第二版
接口调用异常处理,增加try,except处理,对于返回response.status_code,返回200进行结果比对,不是200数据异常信息。
#!/usr/bin/env python#coding: utf-8'''
unittest merchant backgroud interface
@author: zhang_jin
@version: 1.0
@see:http://www.python-requests.org/en/master/
'''import jsonimport tracebackimport requests

url = "http://cpright.xinhua-news.cn/api/match/image/getjson"

querystring = { "category": "image", "offset": "0", "limit": "30", "sourceId": "0", "metaTitle": "", "metaId": "0", "classify": "unclassify", "startTime": "", "endTime": "", "createStart": "", "createEnd": "", "sourceType": "", "isTracking": "true", "metaGroup": "", "companyId": "0", "lastDays": "1", "author": ""
}

headers = { 'cache-control': "no-cache", 'postman-token': "e97a99b0-424b-b2a5-7602-22cd50223c15"
}try: #Post接口调用
response = requests.request("POST", url, headers=headers, params=querystring) #对http返回值进行判断,对于200做基本校验 if response.status_code == 200:
results = json.loads(response.text) if results['total'] == 191: print "Success" else: print "Fail" print results['total'] else: #对于http返回非200的code,输出相应的code raise Exception("http error info:%s" %response.status_code)except:
traceback.print_exc()

Ⅲ python和java哪个比较适合做自动化测试,和测试开发一般用哪种语言。

语言历史:

Python:简单易懂。Python诞生于1991年,这门语言的初衷就是为了让程序员可以用更少的代码,写出一样的程序,达到事半功倍的效果。Python化繁为简,给程序员减轻了不少压力,以至于业界衍生出:人生苦短,我学Python。

Java:地位稳定。Java诞生于1995年,是一门有class为单位,高度面向对象的高级编程语言,因为Java语言稳定,很多公司在做商业级别项目时,都会选择Java语言。

语言优点:

Python:易于学习、语法简洁。Python对比其他语言来说,更容易一些,因为Python语言简洁明了,很多外行人也能读懂它的代码,Python语言不需要很丰富的词汇,简单明了直奔主题,只需要少量的代码就能创建出功能。

Java:架构独特、速度快。Java是一门面向对象的编程语言,吸收了C++语言的各种优点同时摈弃了缺点,Java是可以跨平台的,应用十分广泛,速度快的同时又十分稳定。

语言发展:

Python:快速崛起。Python发展快速,这是一个不争的事实,Python主要优势就是在任何方面都很强大,尤其是数据分析、机器学习、人工智能领域,Python是人工智能时代的第一语言。

Java:无法取代。Java是非常高级的编程语言,全球百分之八十以上的服务器后台用的编程语言都是Java,至今还没有语言可以替代它。

语言应用:

Python:人工智能的首选。Python主要应用于数据分析、人工智能、游戏开发、机器学习、脚本开发、网络爬虫等领域,是大数据、人工智能时代的主力军。

Java:垄断企业级应用的开发。Java主要应用就是服务器开发、web开发以及安卓开发,垄断了企业级应用的开发。

总体情况来讲,Python和Java各有各的优势,至于哪个更适合自动化测试,在这里小编推荐首选Python。

Ⅳ Python做软件自动化测试的入门提问

做自动化首先得选择用什么样的测试工具,python只是用来编写测试脚本用

目前支持python脚本的测试工具也有一些,web测试:selenium,性能测试:LR也支持,功能:QTP目前也支持,但这些工具传统上都是只支持C/C++、VBS的,扩展支持python后效果怎样不是很清楚了。另外,在安卓平台结合MonkeyRunner 测试手机软件效果是很好的。

除此之外,python也可用于C/C++的单元测试。

Ⅳ 如何使用python做android的自动化测试

下面我们开始第一个简单的Android UI自动化测试

1.使用adb命令连接真机或模拟器
2.打开uiautomatorviewer工具
3.使用uiautomatorviewer工具获取应用的元素进行定位
4.简单介绍unittest框架的使用方法
5.使用Python编写猫宁考勤应用注册模块的自动化测试

1.使用adb命令连接真机或模拟器:
手机USB连接电脑,进入开发者模式;

cmd命令:adb devices ,查看手机是否连接

4.简单介绍unittest框架的使用方法

Ⅵ Python可以做自动化测试吗

python 可以做自动化测试。
但是需要安装selenium模块。

Ⅶ 如何使用python语言开展微信端网页自动化测试

我之前是做自动化工作的,自己学了perl,
python,发现perl语法比较难,python比较简单,可读性也很好。现在python的应用很广泛,人才需求也很大,学这个没毛病。前期你可以去鲁德这个测试知道平台看看,自动化测试的资料蛮多的。

Ⅷ 如何用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自动化测试的学习内容有哪些

用python做自动化测试,主要是接口测试和UI自动化测试。 自动化测试还要学习的有很多,selinum、webdriver、monkey、APP测试等等这些都要学习的,建议你去鲁德,课程多样化,学习比较扎实,自动化测试是主打课程

Ⅹ python自动化测试(这作业怎么做)

利用id属性在输入框输入jd?

from selenium import webdriver

import time

driver=webdriver.Firefox() #打开火狐浏览器

driver.get("http://www..com") #打开网络

time.sleep(1) /停顿 一下方便观察


网络id为kw ,name为wd(属性定位用到)

input = driver.find_element_by_id('kw') //通过id定位输入框

input.send_keys('京东') // 在输入框输入京东 已经完成了

input.send_keys(Keys.ENTER) //这一步是搜索京东

你的作业 利用id定位京东输入框


className = driver.find_element_by_class_name('b_searchbox') //将class参数填入

想查看输入框信息我那三张截图。 鼠标右击查看就行了 一般谷歌火狐都能看到





热点内容
linux头文件安装 发布:2025-01-24 18:02:46 浏览:416
fedora20内核编译 发布:2025-01-24 18:02:05 浏览:392
cvr网络存储 发布:2025-01-24 17:24:52 浏览:415
腿套压缩袜 发布:2025-01-24 17:05:16 浏览:458
电脑如何将安卓软件卸载干净 发布:2025-01-24 17:03:06 浏览:489
hello密码怎么破解 发布:2025-01-24 17:03:06 浏览:73
pspfifa无缓存 发布:2025-01-24 16:45:13 浏览:165
androidhandler机制 发布:2025-01-24 16:41:10 浏览:936
安卓系统如何下载aov 发布:2025-01-24 16:29:53 浏览:573
iptables允许ip访问 发布:2025-01-24 16:19:58 浏览:932