mirror of
https://github.com/httprunner/httprunner.git
synced 2026-05-15 20:38:44 +08:00
110 lines
2.2 KiB
Go
110 lines
2.2 KiB
Go
package uixt
|
|
|
|
import (
|
|
"fmt"
|
|
"net"
|
|
"os"
|
|
"testing"
|
|
|
|
"github.com/httprunner/httprunner/v5/internal/builtin"
|
|
"github.com/httprunner/httprunner/v5/pkg/uixt/option"
|
|
)
|
|
|
|
var (
|
|
iOSStubDriver IDriver
|
|
iOSDevice *IOSDevice
|
|
)
|
|
|
|
func setupiOSStubDriver(t *testing.T) {
|
|
var err error
|
|
iOSDevice, err = NewIOSDevice(
|
|
option.WithWDAPort(8700),
|
|
option.WithWDAMjpegPort(8800),
|
|
option.WithIOSStub(false))
|
|
checkErr(t, err)
|
|
iOSStubDriver, err = iOSDevice.NewStubDriver()
|
|
checkErr(t, err)
|
|
}
|
|
|
|
func TestIOSLogin(t *testing.T) {
|
|
setupiOSStubDriver(t)
|
|
info, err := iOSStubDriver.LoginNoneUI("", "12342316231", "8517", "")
|
|
checkErr(t, err)
|
|
t.Log(info)
|
|
}
|
|
|
|
func TestIOSLogout(t *testing.T) {
|
|
setupiOSStubDriver(t)
|
|
err := iOSStubDriver.LogoutNoneUI("")
|
|
checkErr(t, err)
|
|
}
|
|
|
|
func TestIOSIsLogin(t *testing.T) {
|
|
setupiOSStubDriver(t)
|
|
err := iOSStubDriver.LogoutNoneUI("")
|
|
checkErr(t, err)
|
|
}
|
|
|
|
func TestIOSSource(t *testing.T) {
|
|
setupiOSStubDriver(t)
|
|
source, err := iOSStubDriver.Source()
|
|
checkErr(t, err)
|
|
t.Log(source)
|
|
}
|
|
|
|
func TestIOSForeground(t *testing.T) {
|
|
setupiOSStubDriver(t)
|
|
app, err := iOSStubDriver.GetForegroundApp()
|
|
checkErr(t, err)
|
|
t.Log(app)
|
|
}
|
|
|
|
func TestIOSSwipe(t *testing.T) {
|
|
setupiOSStubDriver(t)
|
|
iOSStubDriver.Swipe(540, 0, 540, 1000)
|
|
}
|
|
|
|
func TestIOSSave(t *testing.T) {
|
|
setupiOSStubDriver(t)
|
|
raw, err := iOSStubDriver.Screenshot()
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
|
|
source, err := iOSStubDriver.Source()
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
step := 7
|
|
file, err := os.Create(fmt.Sprintf("/Users/bytedance/workcode/wings_algorithm/testcases/data/cases/ios/4159417_cvcn02okg4g0/%d.jpg", step))
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
file.Write(raw.Bytes())
|
|
|
|
file, err = os.Create(fmt.Sprintf("/Users/bytedance/workcode/wings_algorithm/testcases/data/cases/ios/4159417_cvcn02okg4g0/%d.json", step))
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
file.Write([]byte(source))
|
|
}
|
|
|
|
func TestListen(t *testing.T) {
|
|
setupiOSStubDriver(t)
|
|
localPort, err := builtin.GetFreePort()
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
err = iOSDevice.forward(localPort, 8800)
|
|
if err != nil {
|
|
t.Fatal(err)
|
|
}
|
|
addr := fmt.Sprintf("0.0.0.0:%d", localPort)
|
|
l, err := net.Listen("tcp", addr)
|
|
if err == nil {
|
|
l.Close() // 端口成功绑定后立即释放,返回该端口号
|
|
} else {
|
|
t.Fatal(err)
|
|
}
|
|
}
|