mirror of
https://github.com/httprunner/httprunner.git
synced 2026-09-07 16:40:50 +08:00
refactor: move browser device options to pkg/uixt/option pkg
This commit is contained in:
@@ -1 +1 @@
|
|||||||
v5.0.0+2503032127
|
v5.0.0+2503032140
|
||||||
|
|||||||
+14
-18
@@ -11,38 +11,34 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type BrowserDevice struct {
|
type BrowserDevice struct {
|
||||||
BrowserId string `json:"browser_id,omitempty" yaml:"browser_id,omitempty"`
|
Options *option.BrowserDeviceOptions
|
||||||
LogOn bool `json:"log_on,omitempty" yaml:"log_on,omitempty"`
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type BrowserDeviceOption func(*BrowserDevice)
|
func NewBrowserDevice(opts ...option.BrowserDeviceOption) (device *BrowserDevice, err error) {
|
||||||
|
options := &option.BrowserDeviceOptions{}
|
||||||
func WithBrowserId(serial string) BrowserDeviceOption {
|
for _, option := range opts {
|
||||||
return func(device *BrowserDevice) {
|
option(options)
|
||||||
device.BrowserId = serial
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
func NewBrowserDevice(options ...BrowserDeviceOption) (device *BrowserDevice, err error) {
|
|
||||||
device = &BrowserDevice{}
|
|
||||||
for _, option := range options {
|
|
||||||
option(device)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if device.BrowserId == "" {
|
if options.BrowserID == "" {
|
||||||
browserInfo, err := CreateBrowser(3600)
|
browserInfo, err := CreateBrowser(3600)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Error().Err(err).Msg("failed to create browser")
|
log.Error().Err(err).Msg("failed to create browser")
|
||||||
return nil, err
|
return nil, err
|
||||||
}
|
}
|
||||||
device.BrowserId = browserInfo.ContextId
|
options.BrowserID = browserInfo.ContextId
|
||||||
}
|
}
|
||||||
|
|
||||||
|
device = &BrowserDevice{
|
||||||
|
Options: options,
|
||||||
|
}
|
||||||
|
log.Info().Str("browserID", device.Options.BrowserID).Msg("init browser device")
|
||||||
|
|
||||||
return device, nil
|
return device, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (dev *BrowserDevice) UUID() string {
|
func (dev *BrowserDevice) UUID() string {
|
||||||
return dev.BrowserId
|
return dev.Options.BrowserID
|
||||||
}
|
}
|
||||||
|
|
||||||
func (dev *BrowserDevice) Setup() error {
|
func (dev *BrowserDevice) Setup() error {
|
||||||
@@ -50,7 +46,7 @@ func (dev *BrowserDevice) Setup() error {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (dev *BrowserDevice) LogEnabled() bool {
|
func (dev *BrowserDevice) LogEnabled() bool {
|
||||||
return dev.LogOn
|
return dev.Options.LogOn
|
||||||
}
|
}
|
||||||
|
|
||||||
func (dev *BrowserDevice) Teardown() error {
|
func (dev *BrowserDevice) Teardown() error {
|
||||||
|
|||||||
@@ -0,0 +1,14 @@
|
|||||||
|
package option
|
||||||
|
|
||||||
|
type BrowserDeviceOptions struct {
|
||||||
|
BrowserID string `json:"browser_id,omitempty" yaml:"browser_id,omitempty"`
|
||||||
|
LogOn bool `json:"log_on,omitempty" yaml:"log_on,omitempty"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type BrowserDeviceOption func(*BrowserDeviceOptions)
|
||||||
|
|
||||||
|
func WithBrowserID(serial string) BrowserDeviceOption {
|
||||||
|
return func(device *BrowserDeviceOptions) {
|
||||||
|
device.BrowserID = serial
|
||||||
|
}
|
||||||
|
}
|
||||||
+1
-1
@@ -66,7 +66,7 @@ func (p RouterBaseMethod) GetDevice(c *gin.Context) (device uixt.IDevice, err er
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
case "browser":
|
case "browser":
|
||||||
device, err = uixt.NewBrowserDevice(uixt.WithBrowserId(serial))
|
device, err = uixt.NewBrowserDevice(option.WithBrowserID(serial))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
RenderErrorInitDriver(c, err)
|
RenderErrorInitDriver(c, err)
|
||||||
return
|
return
|
||||||
|
|||||||
Reference in New Issue
Block a user