#!/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()
领取专属 10元无门槛券
私享最新 技术干货