Metadata-Version: 2.1
Name: BluePlug
Version: 0.0.1
Summary: Plug for all.
Home-page: https://github.com/liufeng3486/BluePlug.git
Author: Adol liu
Author-email: 34862933@qq.com
License: MIT
Description: 
        # About
        A basic library could decrease the workload.Most of the problem solved in a real testing job.
        # Function info
        ## interface test
        > parameter template 
        url = "https://test/api/log?requestID=testid&clientToken=testtoken" body ={"date": "2018-11-04 10:10:10", "actions": [{"actionTime": 1542248466944,"note"]}}
        ### interface basic verification
        ---
           verification of the value of parameter is null
        ---
        verification of the parameter in a GET method restful interface link, such as requestID: 
        >url = "https://test/api/log?requestID=&clientToken=testtoken"
        
        verification of request body in a POST restful interface, type of the body, such as form or raw will self adapted.
        e.g
        >body ={"date": "",
        	"actions": [{"actionTime": 1542248466944,"note"]}}
        
        >body ={"date": "2018-11-04 10:10:10",
        	"actions": [{"actionTime": "","note"]}}
        
        the value of parameter is ""
        ----
        	verification of null parameter
        ----
        
        verification of the parameter in a GET method restful interface link, such as requestID: 
        >url = "https://test/api/log?clientToken=testtoken"
        
        verification of request body in a POST restful interface, type of the body, such as form or raw will self adapted.
        e.g
        >body ={
        	"actions": [{"actionTime": 1542248466944,"note"]}}
        
        >body ={"date": "2018-11-04 10:10:10",
        	"actions": [{"note"]}}
        
        	verification of length of parameter
        ----
         range of the length is 1 to 100000。
        
        ----
        
        
        >performance test of interface
        coming soon
        UI automatic test
        
        
        # how to install
         `pip install BlueTest`
        
        or
        
        https://pypi.org/project/BlueTest/
        
        # Usage and examples
        
        ## example
        
        ```python
        └─Project
                test1.py
        ```
        test1.py：
        ```python
        import BlueTest
        BlueTest.test()
        ```
        ---
        ```python
        └─Project
        │  test1.py
        ├─log
        │      all.log #log
        │      error.log #error log
        ├─result #reuslt
        │      data.txt
        └─srcdata
            │  test.csv  #postman serialize
            │  test.json.postman_collection #postman example
            └─api #generated .py file according postman
                    log.py
        ```
        
        # 简介
        :waxing_gibbous_moon:几个本质懒到家，却被工作压迫的人。为了降低自己的工作量，拍脑袋决定编写一个让小白也可以使用的测试库。一切的出发点都是几个懒人在实际工作中遇到的问题和场景。做这一切的目的是为了少做事。:waning_gibbous_moon:
        # 功能介绍
        ## 接口测试
        > 参数模板 下文的介绍中会使用该模板进行说明
        url = "https://test/api/log?requestID=testid&clientToken=testtoken"
        body ={"date": "2018-11-04 10:10:10",
        	"actions": [{"actionTime": 1542248466944,"note"]}}
        
        ----
        
        ### 接口基础校验
        ----
        	参数值判空校验
        ----
        链接中的参数校验,即一般情况下GET参数的校验,以requestID为例:
        >url = "https://test/api/log?requestID=&clientToken=testtoken"
        
        请求主体参数的校验，即一般情况下POST参数的校验，form,raw等参数类型均自动处理。
        以body中的date为例，请求参数如下:
        >body ={"date": "",
        	"actions": [{"actionTime": 1542248466944,"note"]}}
        
        以body中的actions[0][actionTime]为例，请求参数如下:
        >body ={"date": "2018-11-04 10:10:10",
        	"actions": [{"actionTime": "","note"]}}
        
        空值以空字符串为标准。
        
        ----
        	参数判空校验
        ----
        链接中的参数校验,即一般情况下GET参数的校验,以requestID为例:
        >url = "https://test/api/log?clientToken=testtoken"
        
        请求主体参数的校验，即一般情况下POST参数的校验，form,raw等参数类型均自动处理。
        以body中的date为例，请求参数如下:
        >body ={
        	"actions": [{"actionTime": 1542248466944,"note"]}}
        
        以body中的actions[0][actionTime]为例，请求参数如下:
        >body ={"date": "2018-11-04 10:10:10",
        	"actions": [{"note"]}}
        
        	参数长度校验
        ----
        参数长度校验范围为1-100000。
        
        ----
        
        
        >接口性能测试
        待添加
        UI自动化
        功能已实现，说明待添加
        
        # 安装说明
        安装命令`pip install BlueTest`
        
        or
        
        https://pypi.org/project/BlueTest/
        
        # 使用说明及范例
        
        ## 范例
        
        ```python
        └─Project
                test1.py
        ```
        test1.py：
        ```python
        import BlueTest
        BlueTest.test()
        ```
        ---
        ```python
        └─Project
        │  test1.py
        ├─log
        │      all.log #日志
        │      error.log #错误日志
        ├─result #结果
        │      data.txt
        └─srcdata
            │  test.csv  #postman文件的序列化
            │  test.json.postman_collection #范例的postman文件
            └─api #根据postman生成的相关接口py文件
                    log.py
        ```
        
        ## 使用说明
        ```python
        import BlueTest
        BlueTest.initPostMan("test") #执行完成会生成相应csv文件
        #默认postamen文件路径.//srcdata//name.json.collection
        #默认csv文件生成路径.//srcdata//test.csv
        BlueTest.testByCsvData("test") #执行完成会生成相应结果
        #结果包括 日志文件log 结果文件resul
        ```
        ---
        ```python
        BlueTest.initPostMan("test") #执行完成会生成相应csv文件
        BlueTest.initPostMan("test",result_path=path) #指定csv文件生成路径
        ```
        
        ```python
        BlueTest.testByCsvData("test") #执行完成会生成相应结果
        BlueTest.testByCsvData("test",normal_test=True) #进行接口基础验证
        BlueTest.testByCsvData("test",normal_test=Fasle) #不进行接口基础验证
        BlueTest.testByCsvData("test",mkpy=True) #生成接口py文件范例如下
        ```
        ---
        ```python
        import requests
        url = "https://nbrecsys.4paradigm.com/action/api/log"
        querystring = {'requestID': 'Abac6ban', 'clientToken': '1f9d3d10b0ab404e86c2e61a935d3888'}
        payload = {"date":"2018-11-04 10:21:06","actions":[{"requestID":"2222","actionTime":1542248466944,"action":"show","sceneId":420,"userId":"xubyCjC6zO","itemId":"user_define","itemSetId":"39","uuid_tt_dd":"10_28867322960-222-222","specialType":"csdn_net_alliance_ads","ads":1}]}
        headers ={'Origin': ' https://blog.csdn.net',
        	 'User-Agent': ' Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.115 Safari/537.36',
        	 'Content-Type': ' text/plain',
        	 'Accept': ' */*',
        	 'Referer': ' https://blog.csdn.net/qq_37159430/article/details/79970518',
        	 'Accept-Encoding': ' gzip, deflate, br',
        	 'Accept-Language': ' zh-CN,zh;q=0.8'}
        response = requests.request("POST", url, params=querystring,data=payload,)
        print(response.text)
        ```
        
        其他功能详见源码 :gun:
        
        
        
        
Platform: UNKNOWN
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Python: >=3.6.0
Description-Content-Type: text/markdown
