Metadata-Version: 2.1
Name: QiwuGrader
Version: 1.9.0
Summary: Qiwu auto test tool, supports accuracy/pressure tests for knowledge base, QA API and server backend
Home-page: https://github.com/noahzark/QiwuGrader
Author: noahzark
Author-email: lfzh1993@gmail.com
License: UNKNOWN
Project-URL: Bug Reports, https://github.com/noahzark/QiwuGrader/issues
Project-URL: Say Thanks!, https://qiwu.ai
Project-URL: Source, https://github.com/noahzark/QiwuGrader
Description: # QiwuGrader
        
        Qiwu auto test tool, supports `accuracy / pressure` tests for `knowledge base, QA API and server backend`
        
        [Chinese version](https://github.com/noahzark/QiwuGrader/blob/master/README_ZH.md)
        
        [TOC]
        
        ## 1. Author
        
        Feliciano Long
        
        Zhiyu.Zhou
        
        [Statics](https://github.com/noahzark/QiwuGrader/graphs/contributors)
        
        ## 2. Supports
        
        Python2 > 2.7 and Python3 (preferred)
        
        ## 3. Installation
        
        ### Install from PYPI
        
        `pip install QiwuGrader`
        
        ### Download source code
        
        1. For Windows users please download (Mac users could skip this step)
        
        https://www.python.org/ftp/python/2.7.15/python-2.7.15.msi
        
        2. (Optional) If Environment Variables is not set correctly, add python executable and pip script to system Path. [How to](https://www.pythoncentral.io/add-python-to-path-python-is-not-recognized-as-an-internal-or-external-command/)
        
        3. Install requirements
        
        ``` bash
        pip install -r requirements.txt
        ```
        
        ### ~~Download release~~
        
        Deprecated, please install using pip
        
        [~~Release executable~~](https://github.com/noahzark/QiwuGrader/releases)
        
        ## 4. Run
        
        last two parameters are ignorable
        
        ### Run from module
        
        ```bash
        qiwugrader [testcase] [session number] [test duration]
        ```
        
        or
        
        ```bash
        python -m qiwugrader.app [testcase] [session number] [test duration]
        ```
        
        ### Run from source
        
        ```bash
        python qiwugrader/app.py [testcase] [session number] [test duration]
        ```
        
        ## 5. Usage
        
        ### single session test
        
        test one case:
        
        ``` bash
        qiwugrader ./testcases/test1.yml
        ```
        
        test multiple cases:
        
        ``` bash
        qiwugrader ./testcases/test1.yml ./testcases/test2.yml
        ```
        
        ### multiple session test (multi threading)
        
        Use multiple threads to test, in this mode only one CPU is used.
        
        start 10 sessions in 5 seconds
        
        ``` bash
        qiwugrader ./testcases/test3.yml 10 5
        ```
        
        `print_conversation` switch is suggested to turn off in multiple session test to make report more readable
        
        ### multiple session test (multi processing)
        
        Use multiple processes to test, in this mode the program will start **logical CPU number** processes (each assigned `session number DIV CPU number` tasks)
        
        Similar to multi threading test, this mode will be enabled when **session count larget than 1000** and **start interval less than  0.1s**
        
        start 1200 sessions in 60 seconds
        
        ``` bash
        qiwugrader ./testcases/test4.yml 1200 60
        ```
        
        ## 6. Configuration
        
        Examples are under `/testcases` folder
        
        Check `test1` (full explanation) and `test2` (minimum test case) for knowledge tests, `test3` (json request / QA dialogue) and `test4` (form request / knowledge backend) for api test
        
Keywords: qiwu qiwugrader
Platform: UNKNOWN
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Testing
Classifier: License :: OSI Approved :: GNU General Public License v3 (GPLv3)
Classifier: Programming Language :: Python :: 2
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Description-Content-Type: text/markdown; charset=UTF-8; variant=GFM
Provides-Extra: pyqt5
Provides-Extra: srt
