找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
clipboard.png
config.py 文件代码:
# coding=utf-8
''''
构建第一个包 config,用于存放所有接口的入参
构建第二个包 cms_api 用于存放所有的接口请求
构建第三个包 cms_unittest 用于组建接口的测试用例
cms_run用于运行测试用例
report 用于存放生成的报告
utils 工具类 发送邮件和生成报告模块
'''

# 登录接口入参信息
login_url='http://192.168.137.128:8080/cms/manage/loginJump.do'
login_data={'userAccount':'admin','loginPwd':'123456'}
login_headers={'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'}

#用户管理入参信息
queryUserList_url='http://192.168.137.128:8080/cms/manage/queryUserList.do'
queryUserList_data={'startCreateDate':'','endCreateDate':'','searchValue':'','page':'1'}
queryUserList_headers={'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'}

cms_api.py文件代码
# coding=utf-8
import requests
from config import config
session=requests.Session()
class Cms_api(object):
    def __init__(self):         #构造函数
        pass
    def login_cms(self):
        rep=session.post(url=config.login_url,data=config.login_data,json=config.login_headers)
        return rep.json()

    def queryUserList(self):
        rep=session.post(url=config.queryUserList_url,data=config.queryUserList_data,json=config.queryUserList_headers)
        return rep.json()

if __name__ == '__main__':
    cms_api=Cms_api()
    cms_api.login_cms()
    cms_api.queryUserList()

cms_testcase.py代码:
# coding=utf-8

import unittest
from cms_api.cms_api import Cms_api  #引入请求包中的类
class Cms_unittest(unittest.TestCase): #定义一个类继承单元框架
    @classmethod
    def setUpClass(cls):
        print '类的开始'

    def setUp(self):
        print '方法的开始'

    def test001_login(self):
        rep= Cms_api().login_cms()      #直接引用api中的用例
        self.assertIn(rep['msg'], u'登录成功!')
    def test002_queryUserList(self):
        rep=Cms_api().queryUserList() #直接引用api中的用例


    def tearDown(self):
        print '方法的结束'
    @classmethod
    def tearDownClass(cls):
        print '类的结束'

if __name__ == '__main__':
    unittest.main()

cms_run.py文件代码:
# coding=utf-8

import unittest
import requests
import time
import os
from HTMLTestRunnerCN import HTMLTestRunner

#找到当前文件的绝对路径
rep_path=os.path.abspath(os.path.dirname(os.getcwd()))
# print os.getcwd()
# print os.path.dirname(os.getcwd())
# print rep_path

#通过拿取的项目的路径进行组合
rep_path=rep_path+'\cms_report/'
print rep_path

#获取时间
report_time=time.strftime('%Y-%m-%d-%H-%M-%S')
print report_time

#设置报告文件名称
report_file_path=rep_path+report_time+'-report.html'
print report_file_path

#自动搜寻用例执行报告

def all_run():
    discover=unittest.defaultTestLoader.discover(start_dir='E:\cms_fenceng\cms_testcase',pattern='*.py')
    rep_file=open(report_file_path,'wb')
    runner=HTMLTestRunner(stream=rep_file,title=u'框架测试标题',description=u'框架测试描述',tester=u'小陈')
    runner.run(discover)

if __name__ == '__main__':
    all_run()

分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册