One-stop solution for HTTP(S) testing.

Overview

HttpRunner

downloads unittest integration-test codecov pypi version pyversions TesterHome

HttpRunner is a simple & elegant, yet powerful HTTP(S) testing framework. Enjoy! 🚀

Design Philosophy

Key Features

  • Inherit all powerful features of requests, just have fun to handle HTTP(S) in human way.
  • Define testcase in YAML or JSON format, run with pytest in concise and elegant manner.
  • Record and generate testcases with HAR support.
  • Supports variables/extract/validate/hooks mechanisms to create extremely complex test scenarios.
  • With debugtalk.py plugin, any function can be used in any part of your testcase.
  • With jmespath, extract and validate json response has never been easier.
  • With pytest, hundreds of plugins are readily available.
  • With allure, test report can be pretty nice and powerful.
  • With reuse of locust, you can run performance test without extra work.
  • CLI command supported, perfect combination with CI/CD.

Sponsors

Thank you to all our sponsors! 🍰 (become a sponsor)

金牌赞助商(Gold Sponsor)

霍格沃兹测试学院

霍格沃兹测试学院 是业界领先的测试开发技术高端教育品牌,隶属于测吧(北京)科技有限公司。学院课程均由 BAT 一线测试大咖执教,提供实战驱动的接口自动化测试、移动自动化测试、性能测试、持续集成与 DevOps 等技术培训,以及测试开发优秀人才内推服务。点击学习!

霍格沃兹测试学院是 HttpRunner 的首家金牌赞助商。

开源服务赞助商(Open Source Sponsor)

Sentry

HttpRunner is in Sentry Sponsored plan.

Subscribe

关注 HttpRunner 的微信公众号,第一时间获得最新资讯。

Comments
  • 参数化所有用例都取第一个值

    参数化所有用例都取第一个值

    问题描述

    请对遇到的 bug 进行简要描述。

    版本信息

    请提供如下版本信息:

    • 操作系统类型: [e.g. macos]
    • Python 版本 [e.g. 3.6]
    • HttpRunner 版本 [e.g. 3.1.6]
    • 设备 ID: [e.g. 190070690681122]

    项目文件内容(非必须)

    config:
      name: login
      base_url: ${ENV(HOST)}
      variables:
        username: '${ENV(ADMIN_USER)}'
        password: '${ENV(PASSWORD)}'
      export:
        - token
    
    teststeps:
      - name: login
        request:
          method: POST
          url: /login
          json: { 'username': '${username}', 'password': '${password}'}
        extract:
          token: "body.data.token"
        validate:
          - eq: [ "body.code", '300' ]
    
    config:
      name: login
      parameters:
        username: [ "zhangsan", "lisi", "xiaoming" ]
        password: [ "zhangsan123", "lisi123", "xiaoming123" ]
    
    teststeps:
      - name: "login"
        testcase: testcases/admin/login/login.yaml
        variables:
          username: '${username}'
          password: '${password}'
    
    
    
    

    运行命令 && 堆栈信息

    请提供在命令行中运行测试时所在的目录和命令,以及报错时的详细堆栈内容。

    hrun testsuites/admin/login/login.yaml --html=./reports/report.html
    

    日志文件

    logs.zip

    bug 
    opened by binbinu 19
  • [bug] request json body is a list

    [bug] request json body is a list

    问题描述

    我们的新增接口只会返回status code,response中不会返回任何。用postman直接调用是返回的200. 但是使用httprunner的话就报错

    版本信息

    请提供如下版本信息:

    • 操作系统类型: [ Windows]
    • Python 版本 [3.6]
    • HttpRunner 版本 [2.1.2]

    报错信息


    Traceback (most recent call last): ValueError: invalid literal for int() with base 16: b''

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): http.client.IncompleteRead: IncompleteRead(0 bytes read)

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): urllib3.exceptions.ProtocolError: ('Connection broken: IncompleteRead(0 bytes read)', IncompleteRead(0 bytes read))

    During handling of the above exception, another exception occurred:

    Traceback (most recent call last): requests.exceptions.ChunkedEncodingError: ('Connection broken: IncompleteRead(0 bytes read)', IncompleteRead(0 bytes read))

    image

    bug 
    opened by moyanzhiyu 14
  • 请求中verify参数设置为False无效

    请求中verify参数设置为False无效

    问题描述

    在config配置中设置verify参数为false,实际执行时仍会验证证书。

    版本信息

    请提供如下版本信息:

    • 操作系统类型: [e.g. Windows]
    • Python 版本 [e.g. 3.7]
    • HttpRunner 版本 [e.g. 2.0.0]

    堆栈信息

    Traceback (most recent call last): File "C:\Program Files\Python37\lib\site-packages\httprunner\api.py", line 54, in test test_runner.run_test(test_dict) File "C:\Program Files\Python37\lib\site-packages\httprunner\runner.py", line 347, in run_test self._run_test(test_dict) File "C:\Program Files\Python37\lib\site-packages\httprunner\runner.py", line 234, in _run_test **parsed_test_request File "C:\Program Files\Python37\lib\site-packages\httprunner\client.py", line 205, in request for resp_obj in response_list File "C:\Program Files\Python37\lib\site-packages\httprunner\client.py", line 205, in for resp_obj in response_list File "C:\Program Files\Python37\lib\site-packages\httprunner\client.py", line 102, in get_req_resp_record req_resp_dict["response"]["ok"] = resp_obj.ok File "C:\Program Files\Python37\lib\site-packages\requests\models.py", line 701, in ok self.raise_for_status() File "C:\Program Files\Python37\lib\site-packages\httprunner\client.py", line 20, in raise_for_status raise self.error File "C:\Program Files\Python37\lib\site-packages\httprunner\client.py", line 233, in _send_request_safe_mode return requests.Session.request(self, method, url, **kwargs) File "C:\Program Files\Python37\lib\site-packages\requests\sessions.py", line 512, in request resp = self.send(prep, **send_kwargs) File "C:\Program Files\Python37\lib\site-packages\requests\sessions.py", line 622, in send r = adapter.send(request, **kwargs) File "C:\Program Files\Python37\lib\site-packages\requests\adapters.py", line 511, in send raise SSLError(e, request=request) requests.exceptions.SSLError: HTTPSConnectionPool(host='www.homelabs.cn', port=443): Max retries exceeded with url: /api/v1/login (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1045)')))


    Ran 1 test in 0.445s

    FAILED (errors=1) variable 'role' can not be found in variables mapping, failed to output!

    项目文件结构

    .env │ debugtalk.py │ main.py │ ├─.idea │ │ misc.xml │ │ modules.xml │ │ test.iml │ │ workspace.xml │ │ │ └─inspectionProfiles ├─api │ ├─json │ │ │ │ │ ├─api_v1_login │ │ │ post.json │ │ │ │ │ ├─api_v1_logout │ │ │ get.json │ ├─reports │ 1546595125.html │ 1546595143.html │ ├─testcases │ ├─login │ │ 密码登录.yml │ │ 账号不存在时登录.yml │ │ 验证码登录.yml │ │ │ └─reports │ 报告上传.yml │ ├─testsuites ├─tools │ │ database.py

    项目文件内容(非必须)

    -   config:
            name: 正常登陆接口测试1
            base_url: ${get_base_url()}
            verify: false
            request:
              headers:
                Accept: application/json
                User-Agent: iOS/10.3
            variables:
              -  act: ${random_account()}
              -  pwd: "${md5(123456)}"
              -  role: 1
            "output": [
              role,
            ]
    -   test:
          parameters:
          - identityType: [passwd]
          variables:
          - role: 2
          setup_hooks:
          - ${init_act($act, $pwd, $role)}
          name: 正常登陆接口测试
          api: api/yml/api_v1_login/post.yml
          validate:
          - eq: ["status_code", 200]
          - eq: ["content.respStatus.code", 200]
    

    提示:请注意在去除项目敏感信息(IP、账号密码、密钥等)后再进行上传。

    invalid 
    opened by guolong123 14
  • 带中文参数请求会转为unicode,并且2.1.2无法通过data关键字解决

    带中文参数请求会转为unicode,并且2.1.2无法通过data关键字解决

    问题描述

    遇到了 https://github.com/HttpRunner/HttpRunner/issues/395#issue-363556841 的问题,尝试使用data关键字解决时报错,提示编码问题

    版本信息

    请提供如下版本信息:

    • 操作系统类型: [Windows]
    • Python 版本 [3.7]
    • HttpRunner 版本 [2.1.2]

    项目文件内容(非必须)

    name: 登录
    base_url: ${ENV(base_url)}
    variables:
        username: 用户名
        password: 密码
    
    request:
        method: POST
        url: /v1/systemUser/login
        headers:
            Content-Type: text/plain
        data: '{"username": "$username","password": "$password"}'
        # json:
        #     username: $username
        #     password: $password
    
    validate:
        - eq:
              - status_code
              - 200
    

    运行命令 && 堆栈信息

    Traceback (most recent call last): UnicodeEncodeError: 'latin-1' codec can't encode characters in position 14-16: Body ('用户名') is not valid Latin-1. Use body.encode('utf-8') if you want to send it encoded in UTF-8.

    duplicate 
    opened by lichengxun 13
  • testcases下定义了用例参数,运行提示找不到参数

    testcases下定义了用例参数,运行提示找不到参数

    testcases文件下,存在以下用例smoketest.yml:

    - config:
        name: smoketest
        request: $default_request  
    - test:
        name: 错误账密登录测试
        parameters:
            - userid-password:
                - ["xxx", "xxx"]
        suite: loginSuite($userid, $password)
    

    suite文件下,存在以下:

    - config:
        name: "suittest"
        def: loginSuite($userid, $password)
        request: $default_request
    - test:
        name: 获取token
        api: login($userid, $password)
    

    api文件下,存在以下:

    - api:
        def: login($userid, $password) 
        request:
          url: 'xxx'
          headers: {}
          method: POST
          data:
            simpleAccountService.login: |-
              {
                "areaCode" : "86",
                "password" : "$password",
                "userid" : $userid,
                }
              }
    

    为啥hrun tests/testcases/smoketest.yml时候提示httprunner.exception.VariableNotFound: password not found in recursive upward path!,求指教

    bug 
    opened by wuyajun2016 13
  • parameters的csv中包含中文时出现UnicodeDecodeError

    parameters的csv中包含中文时出现UnicodeDecodeError

    使用parameters指定参数列表,当csv中含有中文时,报错如下:

    Traceback (most recent call last):
      File "C:\Python36\Scripts\hrun-script.py", line 11, in <module>
        load_entry_point('HttpRunner==1.4.4', 'console_scripts', 'hrun')()
      File "c:\python36\lib\site-packages\httprunner\cli.py", line 82, in main_hrun
        runner = HttpRunner(failfast=args.failfast, dot_env_path=args.dot_env_path).run(args.testset_paths)
      File "c:\python36\lib\site-packages\httprunner\task.py", line 242, in run
        task_suite = init_task_suite(path_or_testsets, mapping)
      File "c:\python36\lib\site-packages\httprunner\task.py", line 206, in init_task_suite
        return TaskSuite(testsets, mapping, http_client_session)
      File "c:\python36\lib\site-packages\httprunner\task.py", line 187, in __init__
        suite = TestSuite(testset, mapping, http_client_session)
      File "c:\python36\lib\site-packages\httprunner\task.py", line 76, in __init__
        config_dict_parameters
      File "c:\python36\lib\site-packages\httprunner\task.py", line 116, in _get_parametered_variables
        self.testset_file_path
      File "c:\python36\lib\site-packages\httprunner\testcase.py", line 712, in parse_parameters
        parsed_parameter_content = testcase_parser.eval_content_with_bindings(parameter_content)
      File "c:\python36\lib\site-packages\httprunner\testcase.py", line 915, in eval_content_with_bindings
        content = self._eval_content_functions(content)
      File "c:\python36\lib\site-packages\httprunner\testcase.py", line 813, in _eval_content_functions
        eval_value = self.parameterize(*args, **kwargs)
      File "c:\python36\lib\site-packages\httprunner\testcase.py", line 794, in parameterize
        csv_content_list = FileUtils.load_file(parameter_file_path)
      File "c:\python36\lib\site-packages\httprunner\utils.py", line 128, in load_file
        return FileUtils._load_csv_file(file_path)
      File "c:\python36\lib\site-packages\httprunner\utils.py", line 112, in _load_csv_file
        for row in reader:
      File "c:\python36\lib\csv.py", line 111, in __next__
        self.fieldnames
      File "c:\python36\lib\csv.py", line 98, in fieldnames
        self._fieldnames = next(self.reader)
      File "c:\python36\lib\codecs.py", line 321, in decode
        (result, consumed) = self._buffer_decode(data, self.errors, final)
    UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd6 in position 76: invalid continuation byte
    'utf-8' codec can't decode byte 0xd6 in position 76: invalid continuation byte
    
    bug 
    opened by lukcyjane 12
  • 关于sign值生成问题

    关于sign值生成问题

    请教一个关于sign值生成问题

    问问题之前要先解释下我司的sign值生成方式,所有的参数以key1=value1&key2=value2的格式按照首字母顺序排序后加上一个secret进行md5加密后生成的。

    如果按照中文手册中的示例一样在用例中用函数去调用加密函数的时候再去传值,当参数过多的时候会很不方便。

    开始我想是在debugtalk.py中写一个函数然后通过用例名称去读取文件,但是后来发现参数化的参数不行。

    后来我自己YY能不能像截图中这样子弄,但行不通。 image

    想请教下怎么才能很方便的去读取请求中param部分去生成sign值,不用每个用例都去填写一遍键值对~~

    想了好久没有想出来~~~~ 希望我没有问了一个很蠢的问题~~~~(〃'▽'〃)

    docs 
    opened by youshuchang 11
  • 在大量并发下DNS解析会出问题。

    在大量并发下DNS解析会出问题。

    Traceback (most recent call last): ConnectionError: HTTPConnectionPool(host='ip', port=端口号): Max retries exceeded with url: url路径 (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x106831310>: Failed to establish a new connection: [Errno 8] nodename nor servname provided, or not known',)) 网上解决方法:不使用python的DNS解析标准库,使用gevent内置的取代标准库的DNS解析模块.

    pending 
    opened by junjunsay 9
  • Windows环境下无法实践开发者模式(httpbin的meinheld依赖无法安装)

    Windows环境下无法实践开发者模式(httpbin的meinheld依赖无法安装)

    安装环境:win10+python3.6 安装时出现下面的提示,安装版本与我的环境不匹配

    [email protected] MINGW64 ~/HttpRunner (master) $ pipenv install --dev Creating a virtualenv for this project... Pipfile: C:\Users\asus\HttpRunner\Pipfile Using d:\python\python36\python.exe (3.6.5) to create virtualenv... Already using interpreter d:\python\python36\python.exe Using base prefix 'd:\python\python36' New python executable in C:\Users\asus.virtualenvs\HttpRunner-gHQkxH18\Scripts\python.e xe Installing setuptools, pip, wheel...done. Setting project for HttpRunner-gHQkxH18 to C:\Users\asus\HttpRunner

    Virtualenv location: C:\Users\asus.virtualenvs\HttpRunner-gHQkxH18 Installing dependencies from Pipfile.lock (64c12a)... Ignoring enum34: markers 'python_version < "3"' don't match your environment Ignoring ipaddress: markers 'python_version < "3"' don't match your environment An error occurred while installing meinheld==0.6.1! Will try again. Ignoring ruamel.ordereddict: markers 'platform_python_implementation == "cpython" and py thon_version <= "2.7"' don't match your environment Installing initially failed dependencies... Collecting meinheld==0.6.1 Using cached https://files.pythonhosted.org/packages/6c/b7/0a6f03ba8e12862c71a7acc0c05 1f902f952f13be2a48878ebd2bc198562/meinheld-0.6.1.tar.gz Complete output from command python setup.py egg_info: Are you really running a posix compliant OS ? Be posix compliant is mandatory

    bug duplicate 
    opened by berrycam 9
  • UnicodeEncodeError: 'ascii' codec can't encode characters in position 11-13: ordinal not in range(128)

    UnicodeEncodeError: 'ascii' codec can't encode characters in position 11-13: ordinal not in range(128)

    运行测试用例后报以下错误,应该是字符编码处理有问题,因为返回结果里包含中文

    ERROR [0.133801s]: /user/init
    ----------------------------------------------------------------------
    Traceback (most recent call last):
    UnicodeEncodeError: 'ascii' codec can't encode characters in position 11-13: ordinal not in range(128)
    
    ----------------------------------------------------------------------
    Ran 2 tests in 0.375s
    
    FAILED
     (Errors=1)
    
    Generating HTML reports...
    Template is not specified, load default template instead.
    
    bug 
    opened by dengly 9
  • 若对YAML格式不熟悉,推荐使用JSON格式编写维护测试用例

    若对YAML格式不熟悉,推荐使用JSON格式编写维护测试用例

    你好, 我使用python脚本调用ate部分,执行后报keyerror: 服务端返回值应该是如下:

    {
      "statusString": "MUSS Request Successful",
      "id": "3ffd3ab1-6781-4fdd-808a-03fa48e7d5ec||f00c8366-fb7e-401f-9a33-8c7280f12044:f00c8366-fb7e-401f-9a33-8c7280f12044",
      "extension": [
        {
          "streamURL": "rtsp://159.99.251.223:554/5e551f88-d852-4106-9f57-d3377227d545_1_1.sdp||rtmps://159.99.251.223:790/live/5e551f88-d852-4106-9f57-d3377227d545_1_1_28b0efd8-4a6c-40f5-9dcf-f4c67146adaf",
          "name": "isomStreamResponseStatus"
        }
      ]
    }
    

    脚本报错:

    Traceback (most recent call last):
      File "C:\Users\e567802\AppData\Local\Programs\Python\Python36\lib\site-packages\ate\utils.py", line 125, in query_json
        json_content = json_content[key]
    KeyError: 'extension'
    
    During handling of the above exception, another exception occurred:
    
    Traceback (most recent call last):
      File "C:\Projects\PythonProject\APITest.py", line 8, in <module>
        APITest.run(testcase_path)
      File "C:\Users\e567802\AppData\Local\Programs\Python\Python36\lib\site-packages\ate\runner.py", line 198, in run
        result = self._run_testset(testset, mapping)
      File "C:\Users\e567802\AppData\Local\Programs\Python\Python36\lib\site-packages\ate\runner.py", line 171, in _run_testset
        assert self._run_test(testcase)
      File "C:\Users\e567802\AppData\Local\Programs\Python\Python36\lib\site-packages\ate\runner.py", line 118, in _run_test
        extracted_variables_mapping = resp_obj.extract_response(extract_binds)
      File "C:\Users\e567802\AppData\Local\Programs\Python\Python36\lib\site-packages\ate\response.py", line 77, in extract_response
        extracted_variables_mapping[key] = self.extract_field(field)
      File "C:\Users\e567802\AppData\Local\Programs\Python\Python36\lib\site-packages\ate\response.py", line 51, in extract_field
        return utils.query_json(json_content, sub_query)
      File "C:\Users\e567802\AppData\Local\Programs\Python\Python36\lib\site-packages\ate\utils.py", line 130, in query_json
        raise exception.ParseResponseError("failed to query json when extracting response!")
    ate.exception.ParseResponseError: failed to query json when extracting response!
    
    

    我脚本中的调用:

    from ate.runner import Runner
    from ate import utils
    
    if __name__ == '__main__' :
        #utils.SECRET_KEY='BaseTest'
        testcase_path='Test_Cases/Stream/'
        APITest=Runner()
        APITest.run(testcase_path)
    

    请问是什么问题呢?

    另外,询问下,我想改默认的debugtalk.py为BaseTest.py应该怎么设置?

    谢谢。

    invalid 
    opened by Kewings 9
  • json文件参数传递的问题

    json文件参数传递的问题

    问题描述

    api请求类似这样: { "request": { "method": "POST", "url": "/test", "json": { "appIist": "${app_list}", "desc": "test", "name": "test" } } }

    假设app_Iist是从其他接口取的,值是列表(list[dict])。 但是由于json文件格式的限制, 我们传给appIist时, 必须带上双引号, 这样appIist的值就是一个字符串。

    所以, 我们要怎么传{}和[]的值呢?

    pending 
    opened by hazer491 0
  • httprunner中,运用upload文件上传遇到一个问题,请教大家

    httprunner中,运用upload文件上传遇到一个问题,请教大家

    请求格式: ------WebKitFormBoundaryG6tvGAH7HyHYamTE Content-Disposition: form-data; name="input"

    {"appId":"bds","bizType":"Default","folders":["22","12"],"tags":[]} ------WebKitFormBoundaryG6tvGAH7HyHYamTE Content-Disposition: form-data; name="files"; filename="14.jpg" Content-Type: image/jpeg

    脚本代码

      upload:
        files: data/api.jpg
        input:
          ppId: 'bds'
          bizType: 'Default'
          folders:
            - '22'
            - '12'
          tags: [ ]
    

    结果还是上传失败,报错500

    pending 
    opened by snomy1 0
  • 目前支持curl指令转换测试用例吗?

    目前支持curl指令转换测试用例吗?

    版本: hrp version v4.3.0 目前支持curl指令到测试用例的转换吗?如果支持的话能否给个例子?

    显示 Use "hrp convert [command] --help" for more information about a command. Screen Shot 2022-12-20 at 5 33 04 pm

    但使用命令hrp convert curl --help时会报错 Screen Shot 2022-12-20 at 5 30 33 pm

    pending 
    opened by Renyqin 0
  • httprunner4 不支持API中定义base_url

    httprunner4 不支持API中定义base_url

    问题描述

    能不能在models文件的 TRequest/TStep 对象中加入 base_url 便于测试用例中存在多个不同的域名时,分别在不同的api中定义这个域名。目前httprunner4如果在测试用例中使用统一的base_url会覆盖api中定义的base_url. 之前在httprunner2.5.7中是支持这一特性

    请对 bug 进行简要描述; 尽量附带运行的命令和报错时的堆栈信息

    版本信息

    请提供如下版本信息:

    • 操作系统类型: [e.g. macOS, Linux, Windows]
    • Python 版本: [e.g. 3.9]
    • Go 版本: [e.g. 1.18]
    • HttpRunner 版本 [e.g. 3.1.8]

    项目文件内容(非必须)

    如果可能,提供项目测试用例文件原始内容可加快 bug 定位和修复速度。

    提示:请注意在去除项目敏感信息(IP、账号密码、密钥等)后再进行上传。

    pending 
    opened by jiqialin 0
  • build(deps): bump certifi from 2021.10.8 to 2022.12.7

    build(deps): bump certifi from 2021.10.8 to 2022.12.7

    Bumps certifi from 2021.10.8 to 2022.12.7.

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
    • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
    • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
    • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

    You can disable automated security fix PRs for this repo from the Security Alerts page.

    dependencies python 
    opened by dependabot[bot] 0
Releases(v4.3.1)
Using openpyxl in Python, performed following task

Python-Automation-with-openpyxl Using openpyxl in Python, performed following tasks on an Excel Sheet containing Product Suppliers along with their pr

1 Apr 06, 2022
Um scraper feito em python que gera arquivos de excel baseados nas tier lists do site LoLalytics.

LoLalytics-scraper Um scraper feito em python que gera arquivos de excel baseados nas tier lists do site LoLalytics. Começando por um único script com

Kevin Souza 1 Feb 19, 2022
MultiPy lets you conveniently keep track of your python scripts for personal use or showcase by loading and grouping them into categories. It allows you to either run each script individually or together with just one click.

MultiPy About MultiPy is a graphical user interface built using Dear PyGui Python GUI Framework that lets you conveniently keep track of your python s

56 Oct 29, 2022
A Proof of concept of a modern python CLI with click, pydantic, rich and anyio

httpcli This project is a proof of concept of a modern python networking cli which can be simple and easy to maintain using some of the best packages

Kevin Tewouda 17 Nov 15, 2022
Python version of the Playwright testing and automation library.

🎭 Playwright for Python Docs | API Playwright is a Python library to automate Chromium, Firefox and WebKit browsers with a single API. Playwright del

Microsoft 7.8k Jan 02, 2023
Repository for JIDA SNP Browser Web Application: Local Deployment

JIDA JIDA is a web application that retrieves SNP information for a genomic region of interest in Homo sapiens and calculates specific summary statist

3 Mar 03, 2022
Fidelipy - Semi-automated trading on fidelity.com

fidelipy fidelipy is a simple Python 3.7+ library for semi-automated trading on fidelity.com. The scope is limited to the Trade Stocks/ETFs simplified

Darik Harter 8 May 10, 2022
Doggo Browser

Doggo Browser Quick Start $ python3 -m venv ./venv/ $ source ./venv/bin/activate $ pip3 install -r requirements.txt $ ./sobaki.py References Heavily I

Alexey Kutepov 9 Dec 12, 2022
A Demo of Feishu automation testing framework

FeishuAutoTestDemo This is a automation testing framework which use Feishu as an example. Execute runner.py to run. Technology Web UI Test pytest + se

2 Aug 19, 2022
pytest splinter and selenium integration for anyone interested in browser interaction in tests

Splinter plugin for the pytest runner Install pytest-splinter pip install pytest-splinter Features The plugin provides a set of fixtures to use splin

pytest-dev 238 Nov 14, 2022
This repository contnains sample problems with test cases using Cormen-Lib

Cormen Lib Sample Problems Description This repository contnains sample problems with test cases using Cormen-Lib. These problems were made for the pu

Cormen Lib 3 Jun 30, 2022
a wrapper around pytest for executing tests to look for test flakiness and runtime regression

bubblewrap a wrapper around pytest for assessing flakiness and runtime regressions a cs implementations practice project How to Run: First, install de

Anna Nagy 1 Aug 05, 2021
Auto Click by pyautogui and excel operations.

Auto Click by pyautogui and excel operations.

Janney 2 Dec 21, 2021
Testing Calculations in Python, using OOP (Object-Oriented Programming)

Testing Calculations in Python, using OOP (Object-Oriented Programming) Create environment with venv python3 -m venv venv Activate environment . venv

William Koller 1 Nov 11, 2021
Python Moonlight (Machine Learning) Practice

PyML Python Moonlight (Machine Learning) Practice Contents Design Documentation Prerequisites Checklist Dev Setup Testing Run Prerequisites Python 3 P

Dockerian Seattle 2 Dec 25, 2022
Cloint India Pvt. Ltd's (ClointFusion) Pythonic RPA (Automation) Platform

Welcome to , Made in India with ❤️ Description Cloint India Pvt. Ltd - Python functions for Robotic Process Automation shortly RPA. What is ClointFusi

Cloint India Pvt. Ltd 31 Apr 12, 2022
PyBuster A directory busting tool for web application penetration tester, written in python

PyBuster A directory busting tool for web application penetration tester, written in python. Supports custom wordlist,recursive search. Screenshots Pr

Anukul Pandey 4 Jan 30, 2022
A pytest plugin that enables you to test your code that relies on a running Elasticsearch search engine

pytest-elasticsearch What is this? This is a pytest plugin that enables you to test your code that relies on a running Elasticsearch search engine. It

Clearcode 65 Nov 10, 2022
Django-google-optimize is a Django application designed to make running server side Google Optimize A/B tests easy.

Django-google-optimize Django-google-optimize is a Django application designed to make running Google Optimize A/B tests easy. Here is a tutorial on t

Adin Hodovic 39 Oct 25, 2022
A automated browsing experience.

browser-automation This app is an automated browsing technique where one has to enter the required information, it's just like searching for Animals o

Ojas Barawal 3 Aug 04, 2021