refactor: replace NewDriver args with options

This commit is contained in:
lilong.129
2023-08-11 15:21:57 +08:00
parent cbc72c99d4
commit 6964bb6c85
12 changed files with 58 additions and 22 deletions

View File

@@ -4,6 +4,8 @@ import (
"bytes"
"strings"
"time"
"github.com/httprunner/funplugin"
)
var (
@@ -437,11 +439,30 @@ type Rect struct {
Size
}
type DriverOptions struct {
capabilities Capabilities
plugin funplugin.IPlugin
}
type DriverOption func(*DriverOptions)
func WithDriverCapabilities(capabilities Capabilities) DriverOption {
return func(options *DriverOptions) {
options.capabilities = capabilities
}
}
func WithDriverPlugin(plugin funplugin.IPlugin) DriverOption {
return func(options *DriverOptions) {
options.plugin = plugin
}
}
// current implemeted device: IOSDevice, AndroidDevice
type Device interface {
UUID() string // ios udid or android serial
LogEnabled() bool
NewDriver(capabilities Capabilities) (driverExt *DriverExt, err error)
NewDriver(...DriverOption) (driverExt *DriverExt, err error)
StartPerf() error
StopPerf() string