mirror of
https://github.com/httprunner/httprunner.git
synced 2026-08-08 15:13:38 +08:00
change: upgrade go-ios to v1.0.161
This commit is contained in:
@@ -19,7 +19,7 @@ var (
|
||||
|
||||
var installCmd = &cobra.Command{
|
||||
Use: "install [flags] PACKAGE",
|
||||
Short: "Push package to the device and install them atomically",
|
||||
Short: "push package to the device and install them automatically",
|
||||
Args: cobra.MinimumNArgs(1),
|
||||
RunE: func(cmd *cobra.Command, args []string) (err error) {
|
||||
startTime := time.Now()
|
||||
|
||||
@@ -13,7 +13,7 @@ import (
|
||||
|
||||
var installCmd = &cobra.Command{
|
||||
Use: "install [flags] PACKAGE",
|
||||
Short: "Push package to the device and install them atomically",
|
||||
Short: "push package to the device and install them automatically",
|
||||
Args: cobra.MinimumNArgs(1),
|
||||
RunE: func(cmd *cobra.Command, args []string) (err error) {
|
||||
startTime := time.Now()
|
||||
|
||||
@@ -13,7 +13,7 @@ import (
|
||||
|
||||
var uninstallCmd = &cobra.Command{
|
||||
Use: "uninstall [flags] PACKAGE",
|
||||
Short: "uninstall Package atomically",
|
||||
Short: "uninstall package automatically",
|
||||
Args: cobra.MinimumNArgs(0),
|
||||
RunE: func(cmd *cobra.Command, args []string) (err error) {
|
||||
startTime := time.Now()
|
||||
|
||||
@@ -1,12 +1,12 @@
|
||||
package ios
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"github.com/pkg/errors"
|
||||
"github.com/rs/zerolog/log"
|
||||
"github.com/spf13/cobra"
|
||||
|
||||
"github.com/httprunner/httprunner/v4/hrp/internal/sdk"
|
||||
@@ -33,8 +33,7 @@ var xctestCmd = &cobra.Command{
|
||||
return err
|
||||
}
|
||||
|
||||
log.Info().Str("bundleID", bundleID).Msg("run xctest")
|
||||
err = device.RunXCTest(bundleID, testRunnerBundleID, xctestConfig)
|
||||
err = device.RunXCTest(context.Background(), bundleID, testRunnerBundleID, xctestConfig)
|
||||
if err != nil {
|
||||
return errors.Wrap(err, "run xctest failed")
|
||||
}
|
||||
@@ -49,9 +48,9 @@ var (
|
||||
)
|
||||
|
||||
func init() {
|
||||
xctestCmd.Flags().StringVarP(&udid, "udid", "u", "", "filter by device's udid")
|
||||
xctestCmd.Flags().StringVarP(&bundleID, "bundleID", "b", "", "specify ios bundleID")
|
||||
xctestCmd.Flags().StringVarP(&testRunnerBundleID, "testRunnerBundleID", "t", "", "specify ios testRunnerBundleID")
|
||||
xctestCmd.Flags().StringVarP(&xctestConfig, "xctestConfig", "x", "", "specify ios xctestConfig")
|
||||
xctestCmd.Flags().StringVarP(&udid, "udid", "u", "", "specify ios device's UDID")
|
||||
xctestCmd.Flags().StringVarP(&bundleID, "bundleID", "b", "com.gtf.wda.runner.xctrunner", "specify ios bundleID")
|
||||
xctestCmd.Flags().StringVarP(&testRunnerBundleID, "testRunnerBundleID", "t", "com.gtf.wda.runner.xctrunner", "specify ios testRunnerBundleID")
|
||||
xctestCmd.Flags().StringVarP(&xctestConfig, "xctestConfig", "x", "GtfWdaRunner.xctest", "specify ios xctestConfig")
|
||||
iosRootCmd.AddCommand(xctestCmd)
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
v5.0.0+2411231513
|
||||
v5.0.0+2411232055
|
||||
|
||||
@@ -9,9 +9,7 @@ import (
|
||||
"net/http"
|
||||
"net/url"
|
||||
"os"
|
||||
"os/signal"
|
||||
"strconv"
|
||||
"syscall"
|
||||
"time"
|
||||
|
||||
"github.com/Masterminds/semver"
|
||||
@@ -349,7 +347,9 @@ func (dev *IOSDevice) Init() error {
|
||||
}
|
||||
|
||||
if version.GreaterThan(semver.MustParse("17.4.0")) && dev.STUB {
|
||||
info, err := tunnel.TunnelInfoForDevice(dev.d.Properties.SerialNumber, ios.HttpApiPort())
|
||||
info, err := tunnel.TunnelInfoForDevice(
|
||||
dev.d.Properties.SerialNumber,
|
||||
ios.HttpApiHost(), ios.HttpApiPort())
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -654,38 +654,31 @@ func (dev *IOSDevice) AutoMountImage(basedir string) (err error) {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (dev *IOSDevice) RunXCTest(bundleID, testRunnerBundleID, xctestConfig string) (err error) {
|
||||
errorChannel := make(chan error)
|
||||
defer close(errorChannel)
|
||||
ctx, stopWda := context.WithCancel(context.Background())
|
||||
go func() {
|
||||
_, err = testmanagerd.RunXCUIWithBundleIdsCtx(ctx, bundleID, testRunnerBundleID, xctestConfig, dev.d, []string{}, nil, nil, nil, testmanagerd.NewTestListener(io.Discard, os.Stderr, os.TempDir()), true)
|
||||
if err != nil {
|
||||
errorChannel <- err
|
||||
}
|
||||
stopWda()
|
||||
}()
|
||||
c := make(chan os.Signal, 1)
|
||||
signal.Notify(c, syscall.SIGINT, syscall.SIGTERM)
|
||||
select {
|
||||
case err := <-errorChannel:
|
||||
log.Error().Err(err).Msg("failed to running WDA")
|
||||
stopWda()
|
||||
func (dev *IOSDevice) RunXCTest(ctx context.Context, bundleID, testRunnerBundleID, xctestConfig string) (err error) {
|
||||
log.Info().Str("bundleID", bundleID).
|
||||
Str("testRunnerBundleID", testRunnerBundleID).
|
||||
Str("xctestConfig", xctestConfig).
|
||||
Msg("run xctest")
|
||||
listener := testmanagerd.NewTestListener(io.Discard, io.Discard, os.TempDir())
|
||||
config := testmanagerd.TestConfig{
|
||||
BundleId: bundleID,
|
||||
TestRunnerBundleId: testRunnerBundleID,
|
||||
XctestConfigName: xctestConfig,
|
||||
Device: dev.d,
|
||||
Listener: listener,
|
||||
}
|
||||
_, err = testmanagerd.RunTestWithConfig(ctx, config)
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("run xctest failed")
|
||||
return err
|
||||
case <-ctx.Done():
|
||||
log.Error().Err(err).Msg("WDA process ended unexpectedly")
|
||||
return err
|
||||
case signal := <-c:
|
||||
log.Info().Msg(fmt.Sprintf("os signal:%d received, closing...", signal))
|
||||
stopWda()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (dev *IOSDevice) RunXCTestDaemon(bundleID, testRunnerBundleID, xctestConfig string) {
|
||||
ctx, stopWda := context.WithCancel(context.Background())
|
||||
func (dev *IOSDevice) RunXCTestDaemon(ctx context.Context, bundleID, testRunnerBundleID, xctestConfig string) {
|
||||
ctx, stopWda := context.WithCancel(ctx)
|
||||
go func() {
|
||||
_, err := testmanagerd.RunXCUIWithBundleIdsCtx(ctx, bundleID, testRunnerBundleID, xctestConfig, dev.d, []string{}, nil, nil, nil, testmanagerd.NewTestListener(io.Discard, os.Stderr, os.TempDir()), true)
|
||||
err := dev.RunXCTest(ctx, bundleID, testRunnerBundleID, xctestConfig)
|
||||
if err != nil {
|
||||
log.Error().Err(err).Msg("wda ended")
|
||||
}
|
||||
@@ -702,10 +695,6 @@ func (dev *IOSDevice) getVersion() (version *semver.Version, err error) {
|
||||
return version, nil
|
||||
}
|
||||
|
||||
func (dev *IOSDevice) RunGTFDaemon() {
|
||||
dev.RunXCTestDaemon("com.gtf.wda.runner.xctrunner", "com.gtf.wda.runner.xctrunner", "GtfWdaRunner.xctest")
|
||||
}
|
||||
|
||||
func (dev *IOSDevice) ListProcess(applicationsOnly bool) (processList []instruments.ProcessInfo, err error) {
|
||||
service, err := instruments.NewDeviceInfoService(dev.d)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user