mirror of
https://github.com/httprunner/httprunner.git
synced 2026-06-10 02:09:51 +08:00
refactor: load env on running
This commit is contained in:
@@ -29,7 +29,6 @@ import (
|
|||||||
"gopkg.in/yaml.v3"
|
"gopkg.in/yaml.v3"
|
||||||
|
|
||||||
"github.com/httprunner/httprunner/v4/hrp/code"
|
"github.com/httprunner/httprunner/v4/hrp/code"
|
||||||
"github.com/httprunner/httprunner/v4/hrp/internal/env"
|
|
||||||
"github.com/httprunner/httprunner/v4/hrp/internal/json"
|
"github.com/httprunner/httprunner/v4/hrp/internal/json"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -456,13 +455,14 @@ func DownloadFile(filePath string, fileUrl string) error {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
if env.EAPI_TOKEN != "" {
|
eapiToken := os.Getenv("EAPI_TOKEN")
|
||||||
|
if eapiToken != "" {
|
||||||
if parsedURL.Host != "gtf-eapi-cn.bytedance.com" && parsedURL.Host != "gtf-eapi-cn.bytedance.net" {
|
if parsedURL.Host != "gtf-eapi-cn.bytedance.com" && parsedURL.Host != "gtf-eapi-cn.bytedance.net" {
|
||||||
return errors.New("invalid domain: must be gtf-eapi-cn.bytedance.com")
|
return errors.New("invalid domain: must be gtf-eapi-cn.bytedance.com")
|
||||||
}
|
}
|
||||||
// 添加自定义头部
|
// 添加自定义头部
|
||||||
req.Header.Add("accessKey", "ies.vedem.video")
|
req.Header.Add("accessKey", "ies.vedem.video")
|
||||||
req.Header.Add("token", env.EAPI_TOKEN)
|
req.Header.Add("token", eapiToken)
|
||||||
}
|
}
|
||||||
|
|
||||||
// 创建一个 HTTP 客户端并发送请求
|
// 创建一个 HTTP 客户端并发送请求
|
||||||
|
|||||||
14
hrp/internal/env/env.go
vendored
14
hrp/internal/env/env.go
vendored
@@ -6,20 +6,6 @@ import (
|
|||||||
"time"
|
"time"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
|
||||||
WDA_USB_DRIVER = os.Getenv("WDA_USB_DRIVER")
|
|
||||||
WDA_LOCAL_PORT = os.Getenv("WDA_LOCAL_PORT")
|
|
||||||
WDA_LOCAL_MJPEG_PORT = os.Getenv("WDA_LOCAL_MJPEG_PORT")
|
|
||||||
VEDEM_IMAGE_URL = os.Getenv("VEDEM_IMAGE_URL")
|
|
||||||
VEDEM_IMAGE_AK = os.Getenv("VEDEM_IMAGE_AK")
|
|
||||||
VEDEM_IMAGE_SK = os.Getenv("VEDEM_IMAGE_SK")
|
|
||||||
EAPI_TOKEN = os.Getenv("EAPI_TOKEN")
|
|
||||||
DISABLE_GA = os.Getenv("DISABLE_GA")
|
|
||||||
DISABLE_SENTRY = os.Getenv("DISABLE_SENTRY")
|
|
||||||
PYPI_INDEX_URL = os.Getenv("PYPI_INDEX_URL")
|
|
||||||
PATH = os.Getenv("PATH")
|
|
||||||
)
|
|
||||||
|
|
||||||
const (
|
const (
|
||||||
ResultsDirName = "results"
|
ResultsDirName = "results"
|
||||||
ScreenshotsDirName = "screenshots"
|
ScreenshotsDirName = "screenshots"
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ import (
|
|||||||
"math/rand"
|
"math/rand"
|
||||||
"net/http"
|
"net/http"
|
||||||
"net/url"
|
"net/url"
|
||||||
|
"os"
|
||||||
"runtime"
|
"runtime"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
@@ -16,7 +17,6 @@ import (
|
|||||||
"github.com/rs/zerolog/log"
|
"github.com/rs/zerolog/log"
|
||||||
uuid "github.com/satori/go.uuid"
|
uuid "github.com/satori/go.uuid"
|
||||||
|
|
||||||
"github.com/httprunner/httprunner/v4/hrp/internal/env"
|
|
||||||
"github.com/httprunner/httprunner/v4/hrp/internal/version"
|
"github.com/httprunner/httprunner/v4/hrp/internal/version"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -195,7 +195,7 @@ func (g *GA4Client) SendEvent(event Event) error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func SendGA4Event(name string, params map[string]interface{}) {
|
func SendGA4Event(name string, params map[string]interface{}) {
|
||||||
if env.DISABLE_GA == "true" {
|
if os.Getenv("DISABLE_GA") == "true" {
|
||||||
// do not send GA4 events in CI environment
|
// do not send GA4 events in CI environment
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -2,11 +2,11 @@ package sdk
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"os"
|
||||||
|
|
||||||
"github.com/getsentry/sentry-go"
|
"github.com/getsentry/sentry-go"
|
||||||
"github.com/rs/zerolog/log"
|
"github.com/rs/zerolog/log"
|
||||||
|
|
||||||
"github.com/httprunner/httprunner/v4/hrp/internal/env"
|
|
||||||
"github.com/httprunner/httprunner/v4/hrp/internal/version"
|
"github.com/httprunner/httprunner/v4/hrp/internal/version"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -16,7 +16,7 @@ const (
|
|||||||
|
|
||||||
func init() {
|
func init() {
|
||||||
// init sentry sdk
|
// init sentry sdk
|
||||||
if env.DISABLE_SENTRY == "true" {
|
if os.Getenv("DISABLE_SENTRY") == "true" {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
err := sentry.Init(sentry.ClientOptions{
|
err := sentry.Init(sentry.ClientOptions{
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
v5.0.0-beta-2410112229
|
v5.0.0-beta-2410161532
|
||||||
|
|||||||
@@ -6,6 +6,7 @@ import (
|
|||||||
"io"
|
"io"
|
||||||
"mime/multipart"
|
"mime/multipart"
|
||||||
"net/http"
|
"net/http"
|
||||||
|
"os"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
"github.com/pkg/errors"
|
"github.com/pkg/errors"
|
||||||
@@ -13,7 +14,6 @@ import (
|
|||||||
|
|
||||||
"github.com/httprunner/httprunner/v4/hrp/code"
|
"github.com/httprunner/httprunner/v4/hrp/code"
|
||||||
"github.com/httprunner/httprunner/v4/hrp/internal/builtin"
|
"github.com/httprunner/httprunner/v4/hrp/internal/builtin"
|
||||||
"github.com/httprunner/httprunner/v4/hrp/internal/env"
|
|
||||||
"github.com/httprunner/httprunner/v4/hrp/internal/json"
|
"github.com/httprunner/httprunner/v4/hrp/internal/json"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -105,7 +105,7 @@ func (s *veDEMImageService) GetImage(imageBuf *bytes.Buffer, options ...ActionOp
|
|||||||
continue
|
continue
|
||||||
}
|
}
|
||||||
|
|
||||||
req, err = http.NewRequest("POST", env.VEDEM_IMAGE_URL, copiedBodyBuf)
|
req, err = http.NewRequest("POST", os.Getenv("VEDEM_IMAGE_URL"), copiedBodyBuf)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
err = errors.Wrap(code.CVRequestError,
|
err = errors.Wrap(code.CVRequestError,
|
||||||
fmt.Sprintf("construct request error: %v", err))
|
fmt.Sprintf("construct request error: %v", err))
|
||||||
@@ -117,7 +117,7 @@ func (s *veDEMImageService) GetImage(imageBuf *bytes.Buffer, options ...ActionOp
|
|||||||
// req.Header.Add("x-use-ppe", "1")
|
// req.Header.Add("x-use-ppe", "1")
|
||||||
|
|
||||||
signToken := "UNSIGNED-PAYLOAD"
|
signToken := "UNSIGNED-PAYLOAD"
|
||||||
token := builtin.Sign("auth-v2", env.VEDEM_IMAGE_AK, env.VEDEM_IMAGE_SK, []byte(signToken))
|
token := builtin.Sign("auth-v2", os.Getenv("VEDEM_IMAGE_AK"), os.Getenv("VEDEM_IMAGE_SK"), []byte(signToken))
|
||||||
|
|
||||||
req.Header.Add("Agw-Auth", token)
|
req.Header.Add("Agw-Auth", token)
|
||||||
req.Header.Add("Agw-Auth-Content", signToken)
|
req.Header.Add("Agw-Auth-Content", signToken)
|
||||||
@@ -197,14 +197,15 @@ func (s *veDEMImageService) GetImage(imageBuf *bytes.Buffer, options ...ActionOp
|
|||||||
}
|
}
|
||||||
|
|
||||||
func checkEnv() error {
|
func checkEnv() error {
|
||||||
if env.VEDEM_IMAGE_URL == "" {
|
vedemImageURL := os.Getenv("VEDEM_IMAGE_URL")
|
||||||
|
if vedemImageURL == "" {
|
||||||
return errors.Wrap(code.CVEnvMissedError, "VEDEM_IMAGE_URL missed")
|
return errors.Wrap(code.CVEnvMissedError, "VEDEM_IMAGE_URL missed")
|
||||||
}
|
}
|
||||||
log.Info().Str("VEDEM_IMAGE_URL", env.VEDEM_IMAGE_URL).Msg("get env")
|
log.Info().Str("VEDEM_IMAGE_URL", vedemImageURL).Msg("get env")
|
||||||
if env.VEDEM_IMAGE_AK == "" {
|
if os.Getenv("VEDEM_IMAGE_AK") == "" {
|
||||||
return errors.Wrap(code.CVEnvMissedError, "VEDEM_IMAGE_AK missed")
|
return errors.Wrap(code.CVEnvMissedError, "VEDEM_IMAGE_AK missed")
|
||||||
}
|
}
|
||||||
if env.VEDEM_IMAGE_SK == "" {
|
if os.Getenv("VEDEM_IMAGE_SK") == "" {
|
||||||
return errors.Wrap(code.CVEnvMissedError, "VEDEM_IMAGE_SK missed")
|
return errors.Wrap(code.CVEnvMissedError, "VEDEM_IMAGE_SK missed")
|
||||||
}
|
}
|
||||||
return nil
|
return nil
|
||||||
|
|||||||
@@ -322,7 +322,7 @@ func (dev *IOSDevice) NewDriver(options ...DriverOption) (driverExt *DriverExt,
|
|||||||
}
|
}
|
||||||
|
|
||||||
var driver IWebDriver
|
var driver IWebDriver
|
||||||
if env.WDA_USB_DRIVER == "" {
|
if os.Getenv("WDA_USB_DRIVER") == "" {
|
||||||
// default use http driver
|
// default use http driver
|
||||||
driver, err = dev.NewHTTPDriver(capabilities)
|
driver, err = dev.NewHTTPDriver(capabilities)
|
||||||
} else {
|
} else {
|
||||||
@@ -611,7 +611,7 @@ func (dev *IOSDevice) pcapOpitons() (pcapOptions []gidevice.PcapOption) {
|
|||||||
// NewHTTPDriver creates new remote HTTP client, this will also start a new session.
|
// NewHTTPDriver creates new remote HTTP client, this will also start a new session.
|
||||||
func (dev *IOSDevice) NewHTTPDriver(capabilities Capabilities) (driver IWebDriver, err error) {
|
func (dev *IOSDevice) NewHTTPDriver(capabilities Capabilities) (driver IWebDriver, err error) {
|
||||||
var localPort int
|
var localPort int
|
||||||
localPort, err = strconv.Atoi(env.WDA_LOCAL_PORT)
|
localPort, err = strconv.Atoi(os.Getenv("WDA_LOCAL_PORT"))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
localPort, err = builtin.GetFreePort()
|
localPort, err = builtin.GetFreePort()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
@@ -628,7 +628,7 @@ func (dev *IOSDevice) NewHTTPDriver(capabilities Capabilities) (driver IWebDrive
|
|||||||
}
|
}
|
||||||
|
|
||||||
var localMjpegPort int
|
var localMjpegPort int
|
||||||
localMjpegPort, err = strconv.Atoi(env.WDA_LOCAL_MJPEG_PORT)
|
localMjpegPort, err = strconv.Atoi(os.Getenv("WDA_LOCAL_MJPEG_PORT"))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
localMjpegPort, err = builtin.GetFreePort()
|
localMjpegPort, err = builtin.GetFreePort()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|||||||
Reference in New Issue
Block a user