测试Jenkins构建及禁用Job接口

Posted on 周三 13 四月 2016 in [接口测试] • Tagged with [Python, 接口测试]Leave a comment

使用python unittest+requests对Jenkins构建及禁用job接口进行测试:

# coding=utf-8

import unittest
import requests
import json
from requests.auth import HTTPBasicAuth


class JenkinsPostTest(unittest.TestCase):
    def setUp(self):
        # 构建job的url
        self.build_job_url = 'http://192.168.217.130:8080/jenkins/job/check_python_version/build'
        # 禁用job的url
        self.disable_job_url = 'http://192.168.217.130:8080/jenkins/job/check_python_version/disable'
        # 获取job状态等信息的rul
        self.job_url = 'http://192.168.217.130:8080/jenkins/job/check_python_version/api/json'

    # 测试构建某一job接口
    def test_buildJob(self):
        r = requests.post(self.build_job_url, data=None, auth=('admin', 'admin'))
        print r.status_code
        self.assertEqual(r.status_code, 201)

    # 测试禁用某一job接口
    def test_disableJob(self):
        # 确认job状态是否可执行,'buildable':'true'
        status = self.get_JobInfo()
        self.assertTrue(status)

        # 禁用job,断言禁用job是否成功
        r = requests.post(self.disable_job_url, data=None, auth=('admin', 'admin'))
        self.assertEqual(r.status_code, 200)

        # 获取当前job状态
        status = self.get_JobInfo()
        self.assertFalse(status)
        print status

    # 获取当前job信息
    def get_JobInfo(self):
        job_info = requests.get(self.job_url, auth=('admin', 'admin')).json()
        return job_info['buildable']
Continue reading

一个简单Python单元测试用例

Posted on 周三 13 四月 2016 in [python] • Tagged with [python]Leave a comment

使用python unittest 框架进行单元测试

# coding=utf-8
import unittest

'''
测试除法
1、自定义1个除法函数div
2、测试 1/1
3、测试 3/4
4、测试 3/0
'''


def div(a, b):
    return a / b
    # 1 / 2 = 1


class MyfirstTestCase(unittest.TestCase):
    pass

    def setUp(self):
        print 'run before every testcase'

    def tearDown(self):
        print 'run after every testcase'

    def test_1div1(self):
        print 'case1:1/1'
        case1 = div(1, 1)
        self.assertEqual(case1, 1/1)

    def test_3div4(self):
        print 'case1:3/4'
        case2 = div(3, 4)
        self.assertEqual(case2, 3/4)

    def test_3div0(self):
        print 'case3:3/0'
        case3 = div(3, 0)
        self.assertRaises(ZeroDivisionError, div, 3, 0)


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