feat: add sentry sdk

This commit is contained in:
debugtalk
2020-06-04 11:12:47 +08:00
parent 00b437620d
commit 6506a2e864
7 changed files with 62 additions and 1 deletions

View File

@@ -1,5 +1,15 @@
# Release History # Release History
## 3.0.7 (2020-06-04)
**Added**
- feat: add sentry sdk
**Changed**
- change: add httprunner version in generated pytest file
## 3.0.7 (2020-06-03) ## 3.0.7 (2020-06-03)
**Added** **Added**

View File

@@ -4,12 +4,16 @@ import sys
import pytest import pytest
from loguru import logger from loguru import logger
from sentry_sdk import capture_message
from httprunner import __description__, __version__ from httprunner import __description__, __version__
from httprunner.compat import ensure_cli_args from httprunner.compat import ensure_cli_args
from httprunner.ext.har2case import init_har2case_parser, main_har2case from httprunner.ext.har2case import init_har2case_parser, main_har2case
from httprunner.make import init_make_parser, main_make from httprunner.make import init_make_parser, main_make
from httprunner.scaffold import init_parser_scaffold, main_scaffold from httprunner.scaffold import init_parser_scaffold, main_scaffold
from httprunner.utils import init_sentry_sdk
init_sentry_sdk()
def init_parser_run(subparsers): def init_parser_run(subparsers):
@@ -20,6 +24,7 @@ def init_parser_run(subparsers):
def main_run(extra_args): def main_run(extra_args):
capture_message("start to run")
# keep compatibility with v2 # keep compatibility with v2
extra_args = ensure_cli_args(extra_args) extra_args = ensure_cli_args(extra_args)

View File

@@ -12,6 +12,7 @@ import os
import sys import sys
from loguru import logger from loguru import logger
from sentry_sdk import capture_message
from httprunner.ext.har2case.core import HarParser from httprunner.ext.har2case.core import HarParser
@@ -69,6 +70,7 @@ def main_har2case(args):
else: else:
output_file_type = "pytest" output_file_type = "pytest"
capture_message(f"har2case {output_file_type}")
HarParser(har_source_file, args.filter, args.exclude).gen_testcase(output_file_type) HarParser(har_source_file, args.filter, args.exclude).gen_testcase(output_file_type)
return 0 return 0

View File

@@ -2,6 +2,7 @@ import os.path
import sys import sys
from loguru import logger from loguru import logger
from sentry_sdk import capture_message
def init_parser_scaffold(subparsers): def init_parser_scaffold(subparsers):
@@ -140,5 +141,6 @@ def sleep(n_secs):
def main_scaffold(args): def main_scaffold(args):
capture_message("startproject with scaffold")
create_scaffold(args.project_name) create_scaffold(args.project_name)
sys.exit(0) sys.exit(0)

View File

@@ -2,14 +2,25 @@ import collections
import json import json
import os.path import os.path
import platform import platform
import uuid
from typing import Dict, List, Any from typing import Dict, List, Any
import sentry_sdk
from loguru import logger from loguru import logger
from httprunner import __version__ from httprunner import __version__
from httprunner import exceptions from httprunner import exceptions
def init_sentry_sdk():
sentry_sdk.init(
dsn="https://460e31339bcb428c879aafa6a2e78098@sentry.io/5263855",
release="httprunner@{}".format(__version__),
)
with sentry_sdk.configure_scope() as scope:
scope.set_user({"id": uuid.getnode()})
def set_os_environ(variables_mapping): def set_os_environ(variables_mapping):
""" set variables mapping to os.environ """ set variables mapping to os.environ
""" """

32
poetry.lock generated
View File

@@ -451,6 +451,32 @@ version = "0.9.1"
[package.dependencies] [package.dependencies]
requests = ">=2.0.1,<3.0.0" requests = ">=2.0.1,<3.0.0"
[[package]]
category = "main"
description = "Python client for Sentry (https://getsentry.com)"
name = "sentry-sdk"
optional = false
python-versions = "*"
version = "0.14.4"
[package.dependencies]
certifi = "*"
urllib3 = ">=1.10.0"
[package.extras]
aiohttp = ["aiohttp (>=3.5)"]
beam = ["beam (>=2.12)"]
bottle = ["bottle (>=0.12.13)"]
celery = ["celery (>=3)"]
django = ["django (>=1.8)"]
falcon = ["falcon (>=1.4)"]
flask = ["flask (>=0.11)", "blinker (>=1.1)"]
pyspark = ["pyspark (>=2.4.4)"]
rq = ["rq (>=0.6)"]
sanic = ["sanic (>=0.8)"]
sqlalchemy = ["sqlalchemy (>=1.2)"]
tornado = ["tornado (>=5)"]
[[package]] [[package]]
category = "main" category = "main"
description = "Python 2 and 3 compatibility utilities" description = "Python 2 and 3 compatibility utilities"
@@ -572,7 +598,7 @@ allure = ["allure-pytest"]
upload = ["requests-toolbelt", "filetype"] upload = ["requests-toolbelt", "filetype"]
[metadata] [metadata]
content-hash = "3b5147c8c95480574c9eaa8f035c536cf18535766f60f768d2e714b257511dae" content-hash = "581cacf33c8afe330e5b6a965d5e16f6266718249cbdfed0d080b7536c5c4590"
python-versions = "^3.6" python-versions = "^3.6"
[metadata.files] [metadata.files]
@@ -850,6 +876,10 @@ requests-toolbelt = [
{file = "requests-toolbelt-0.9.1.tar.gz", hash = "sha256:968089d4584ad4ad7c171454f0a5c6dac23971e9472521ea3b6d49d610aa6fc0"}, {file = "requests-toolbelt-0.9.1.tar.gz", hash = "sha256:968089d4584ad4ad7c171454f0a5c6dac23971e9472521ea3b6d49d610aa6fc0"},
{file = "requests_toolbelt-0.9.1-py2.py3-none-any.whl", hash = "sha256:380606e1d10dc85c3bd47bf5a6095f815ec007be7a8b69c878507068df059e6f"}, {file = "requests_toolbelt-0.9.1-py2.py3-none-any.whl", hash = "sha256:380606e1d10dc85c3bd47bf5a6095f815ec007be7a8b69c878507068df059e6f"},
] ]
sentry-sdk = [
{file = "sentry-sdk-0.14.4.tar.gz", hash = "sha256:0e5e947d0f7a969314aa23669a94a9712be5a688ff069ff7b9fc36c66adc160c"},
{file = "sentry_sdk-0.14.4-py2.py3-none-any.whl", hash = "sha256:799a8bf76b012e3030a881be00e97bc0b922ce35dde699c6537122b751d80e2c"},
]
six = [ six = [
{file = "six-1.15.0-py2.py3-none-any.whl", hash = "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"}, {file = "six-1.15.0-py2.py3-none-any.whl", hash = "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"},
{file = "six-1.15.0.tar.gz", hash = "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259"}, {file = "six-1.15.0.tar.gz", hash = "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259"},

View File

@@ -38,6 +38,7 @@ jmespath = "^0.9.5"
black = "^19.10b0" black = "^19.10b0"
pytest = "^5.4.2" pytest = "^5.4.2"
pytest-html = "^2.1.1" pytest-html = "^2.1.1"
sentry-sdk = "^0.14.4"
allure-pytest = {version = "^2.8.16", optional = true} allure-pytest = {version = "^2.8.16", optional = true}
requests-toolbelt = {version = "^0.9.1", optional = true} requests-toolbelt = {version = "^0.9.1", optional = true}
filetype = {version = "^1.0.7", optional = true} filetype = {version = "^1.0.7", optional = true}