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
## 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)
**Added**

View File

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

View File

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

View File

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

View File

@@ -2,14 +2,25 @@ import collections
import json
import os.path
import platform
import uuid
from typing import Dict, List, Any
import sentry_sdk
from loguru import logger
from httprunner import __version__
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):
""" set variables mapping to os.environ
"""

32
poetry.lock generated
View File

@@ -451,6 +451,32 @@ version = "0.9.1"
[package.dependencies]
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]]
category = "main"
description = "Python 2 and 3 compatibility utilities"
@@ -572,7 +598,7 @@ allure = ["allure-pytest"]
upload = ["requests-toolbelt", "filetype"]
[metadata]
content-hash = "3b5147c8c95480574c9eaa8f035c536cf18535766f60f768d2e714b257511dae"
content-hash = "581cacf33c8afe330e5b6a965d5e16f6266718249cbdfed0d080b7536c5c4590"
python-versions = "^3.6"
[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-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 = [
{file = "six-1.15.0-py2.py3-none-any.whl", hash = "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"},
{file = "six-1.15.0.tar.gz", hash = "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259"},

View File

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