change: wda ports are used preferentially from environment variables

This commit is contained in:
xucong.053
2022-10-23 21:03:39 +08:00
parent 30421f2945
commit 9311e52e44
2 changed files with 35 additions and 22 deletions

View File

@@ -3,12 +3,14 @@ package env
import "os" import "os"
var ( var (
WDA_USB_DRIVER = os.Getenv("WDA_USB_DRIVER") WDA_USB_DRIVER = os.Getenv("WDA_USB_DRIVER")
VEDEM_OCR_URL = os.Getenv("VEDEM_OCR_URL") WDA_LOCAL_PORT = os.Getenv("WDA_LOCAL_PORT")
VEDEM_OCR_AK = os.Getenv("VEDEM_OCR_AK") WDA_LOCAL_MJPEG_PORT = os.Getenv("WDA_LOCAL_MJPEG_PORT")
VEDEM_OCR_SK = os.Getenv("VEDEM_OCR_SK") VEDEM_OCR_URL = os.Getenv("VEDEM_OCR_URL")
DISABLE_GA = os.Getenv("DISABLE_GA") VEDEM_OCR_AK = os.Getenv("VEDEM_OCR_AK")
DISABLE_SENTRY = os.Getenv("DISABLE_SENTRY") VEDEM_OCR_SK = os.Getenv("VEDEM_OCR_SK")
PYPI_INDEX_URL = os.Getenv("PYPI_INDEX_URL") DISABLE_GA = os.Getenv("DISABLE_GA")
PATH = os.Getenv("PATH") DISABLE_SENTRY = os.Getenv("DISABLE_SENTRY")
PYPI_INDEX_URL = os.Getenv("PYPI_INDEX_URL")
PATH = os.Getenv("PATH")
) )

View File

@@ -13,6 +13,7 @@ import (
"net/url" "net/url"
"os" "os"
"regexp" "regexp"
"strconv"
"strings" "strings"
"time" "time"
@@ -384,23 +385,33 @@ func (dev *IOSDevice) perfOpitons() (perfOptions []giDevice.PerfOption) {
// 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 WebDriver, err error) { func (dev *IOSDevice) NewHTTPDriver(capabilities Capabilities) (driver WebDriver, err error) {
localPort, err := getFreePort() var localPort int
localPort, err = strconv.Atoi(env.WDA_LOCAL_PORT)
if err != nil { if err != nil {
return nil, errors.Wrap(code.IOSDeviceHTTPDriverError, localPort, err = getFreePort()
fmt.Sprintf("get free port failed: %v", err)) if err != nil {
return nil, errors.Wrap(code.IOSDeviceHTTPDriverError,
fmt.Sprintf("get free port failed: %v", err))
}
if err = dev.forward(localPort, dev.Port); err != nil {
return nil, errors.Wrap(code.IOSDeviceHTTPDriverError,
fmt.Sprintf("forward tcp port failed: %v", err))
}
} }
if err = dev.forward(localPort, dev.Port); err != nil {
return nil, errors.Wrap(code.IOSDeviceHTTPDriverError, var localMjpegPort int
fmt.Sprintf("forward tcp port failed: %v", err)) localMjpegPort, err = strconv.Atoi(env.WDA_LOCAL_MJPEG_PORT)
}
localMjpegPort, err := getFreePort()
if err != nil { if err != nil {
return nil, errors.Wrap(code.IOSDeviceHTTPDriverError, localMjpegPort, err = getFreePort()
fmt.Sprintf("get free port failed: %v", err)) if err != nil {
} return nil, errors.Wrap(code.IOSDeviceHTTPDriverError,
if err = dev.forward(localMjpegPort, dev.MjpegPort); err != nil { fmt.Sprintf("get free port failed: %v", err))
return nil, errors.Wrap(code.IOSDeviceHTTPDriverError, }
fmt.Sprintf("forward tcp port failed: %v", err)) if err = dev.forward(localMjpegPort, dev.MjpegPort); err != nil {
return nil, errors.Wrap(code.IOSDeviceHTTPDriverError,
fmt.Sprintf("forward tcp port failed: %v", err))
}
} }
log.Info().Interface("capabilities", capabilities). log.Info().Interface("capabilities", capabilities).