首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Python接口自动化

#!/usr/bin/env python

# -*- coding:utf-8 -*-

importunittest

importHTMLTestRunner

importjson

frombaseimportinterface

importurllib3

#忽略警告

urllib3.disable_warnings()

classtestMethod(unittest.TestCase):

@classmethod

defsetUpClass(cls):

pass

#print('setupclass--------------所有测试方法之前执行,只执行一次')

@classmethod

deftearDownClass(cls):

pass

#print('tearDownClass--------------所有测试方法之后执行,只执行一次')

defsetUp(self):

self.run = interface.RunMain()

#print('setup--------------每个测试方法之前执行')

deftearDown(self):

pass

#print('teardown------------每个测试方法之后执行')

deftest_post(self):

print(userid)

url2 ='https://demo3.appiron.cn:30443/emm-manager/login/login.do'

#登录接口参数

data = {

'strname':'secadmin',

'strpwd':'204,127,55,178,224,98,123,92'

}

#登录需要的cookies,需要加到请求头里面去

cookies = {

'Cookie':'JSESSIONID=0F245B6D8DB24AFFC85D92CBDB546341'

}

res =self.run.run_main(url2,'POST',data,cookies)

#assertEqual断言两个值是否一样

print(res)

self.assertEqual(res['success'],'false','测试失败')

deftest_get(self):

#全局变量,解决接口数据依赖,也可以通过数据库来管理

globals()['userid'] ='1000009'

url ='https://demo3.appiron.cn:30443/emm-manager/'

res =self.run.run_main(url,'GET')

print(res.status_code)

#装饰器unittest.skip表示跳过用例

@unittest.skip('test_01')

deftest_01(self):

print('测试用例01')

if__name__ =='__main__':

#unittest两者运行方式1:unittest.main() 2:使用testSuite批量执行

#unittest.main()

#根据指定类,获取其中所有以test开头的测试方法,返回一个测试套件

testCase = unittest.TestLoader().loadTestsFromTestCase(testMethod)

#将多个测试类加载到测试套件中

suite = unittest.TestSuite([testCase])

# suite = unittest.TestSuite()

# suite.addTest(testMethod('test_get'))

#执行测试套件里面的用例

#unittest.TextTestRunner(verbosity=1).run(suite)

# suite = unittest.defaultTestLoader.discover('.',

# pattern="test*.py",

# top_level_dir=None)

#使用HTMLTestRunner生成测试报告

filepath ='C:\\HTML_report.html'

fp =open(filepath,'wb')

runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title='first report!',description='description')

runner.run(suite)

fp.close()

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180712G2022H00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券