mirror of
https://github.com/httprunner/httprunner.git
synced 2026-05-20 23:59:49 +08:00
refactor: driver TapXY, TapAbsXY
This commit is contained in:
@@ -8,11 +8,32 @@ import (
|
||||
"github.com/httprunner/httprunner/v5/code"
|
||||
)
|
||||
|
||||
func convertToAbsolutePoint(driver IDriver, x, y float64) (absX, absY float64, err error) {
|
||||
if !assertRelative(x) || !assertRelative(y) {
|
||||
err = errors.Wrap(code.InvalidCaseError,
|
||||
fmt.Sprintf("x(%f), y(%f) must be less than 1", x, y))
|
||||
return
|
||||
}
|
||||
|
||||
windowSize, err := driver.WindowSize()
|
||||
if err != nil {
|
||||
err = errors.Wrap(code.DeviceGetInfoError, err.Error())
|
||||
return
|
||||
}
|
||||
|
||||
absX = float64(windowSize.Width) * x
|
||||
absY = float64(windowSize.Height) * y
|
||||
return
|
||||
}
|
||||
|
||||
func convertToAbsoluteCoordinates(driver IDriver, fromX, fromY, toX, toY float64) (
|
||||
absFromX, absFromY, absToX, absToY float64, err error) {
|
||||
|
||||
err = assertCoordinatesRelative(fromX, fromY, toX, toY)
|
||||
if err != nil {
|
||||
if !assertRelative(fromX) || !assertRelative(fromY) ||
|
||||
!assertRelative(toX) || !assertRelative(toY) {
|
||||
err = errors.Wrap(code.InvalidCaseError,
|
||||
fmt.Sprintf("fromX(%f), fromY(%f), toX(%f), toY(%f) must be less than 1",
|
||||
fromX, fromY, toX, toY))
|
||||
return
|
||||
}
|
||||
|
||||
@@ -32,16 +53,6 @@ func convertToAbsoluteCoordinates(driver IDriver, fromX, fromY, toX, toY float64
|
||||
return absFromX, absFromY, absToX, absToY, nil
|
||||
}
|
||||
|
||||
func assertCoordinatesRelative(fromX, fromY, toX, toY float64) error {
|
||||
if !assertRelative(fromX) || !assertRelative(fromY) ||
|
||||
!assertRelative(toX) || !assertRelative(toY) {
|
||||
return errors.Wrap(code.InvalidCaseError,
|
||||
fmt.Sprintf("fromX(%f), fromY(%f), toX(%f), toY(%f) must be less than 1",
|
||||
fromX, fromY, toX, toY))
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func assertRelative(p float64) bool {
|
||||
return p >= 0 && p <= 1
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user