mirror of
https://github.com/httprunner/httprunner.git
synced 2026-05-12 02:21:29 +08:00
feat: add uixt tool list_packages
This commit is contained in:
@@ -303,6 +303,10 @@ func (dev *AndroidDevice) GetCurrentWindow() (windowInfo types.WindowInfo, err e
|
||||
return types.WindowInfo{}, errors.New("failed to extract current window")
|
||||
}
|
||||
|
||||
func (dev *AndroidDevice) ListPackages() ([]string, error) {
|
||||
return dev.Device.ListPackages()
|
||||
}
|
||||
|
||||
func (dev *AndroidDevice) GetPackageInfo(packageName string) (types.AppInfo, error) {
|
||||
appInfo := types.AppInfo{
|
||||
Name: packageName,
|
||||
|
||||
@@ -57,6 +57,10 @@ func (dev *BrowserDevice) Uninstall(packageName string) error {
|
||||
return errors.New("not support")
|
||||
}
|
||||
|
||||
func (dev *BrowserDevice) ListPackages() ([]string, error) {
|
||||
return nil, errors.New("not support")
|
||||
}
|
||||
|
||||
func (dev *BrowserDevice) GetPackageInfo(packageName string) (types.AppInfo, error) {
|
||||
return types.AppInfo{}, errors.New("not support")
|
||||
}
|
||||
|
||||
@@ -18,6 +18,8 @@ type IDevice interface {
|
||||
Install(appPath string, opts ...option.InstallOption) error
|
||||
Uninstall(packageName string) error
|
||||
|
||||
ListPackages() ([]string, error)
|
||||
|
||||
GetPackageInfo(packageName string) (types.AppInfo, error)
|
||||
ScreenShot() (*bytes.Buffer, error)
|
||||
// TODO: remove?
|
||||
|
||||
@@ -95,6 +95,10 @@ func (dev *HarmonyDevice) Uninstall(packageName string) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func (dev *HarmonyDevice) ListPackages() ([]string, error) {
|
||||
return nil, errors.New("not implemented")
|
||||
}
|
||||
|
||||
func (dev *HarmonyDevice) GetPackageInfo(packageName string) (types.AppInfo, error) {
|
||||
log.Warn().Msg("get package info not implemented for harmony device, skip")
|
||||
return types.AppInfo{}, nil
|
||||
|
||||
@@ -317,6 +317,18 @@ func (dev *IOSDevice) GetDeviceInfo() (*DeviceDetail, error) {
|
||||
return detail, err
|
||||
}
|
||||
|
||||
func (dev *IOSDevice) ListPackages() ([]string, error) {
|
||||
apps, err := dev.ListApps(ApplicationTypeAny)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
var packages []string
|
||||
for _, app := range apps {
|
||||
packages = append(packages, app.CFBundleIdentifier)
|
||||
}
|
||||
return packages, nil
|
||||
}
|
||||
|
||||
func (dev *IOSDevice) ListApps(appType ApplicationType) (apps []installationproxy.AppInfo, err error) {
|
||||
svc, _ := installationproxy.New(dev.DeviceEntry)
|
||||
defer svc.Close()
|
||||
|
||||
Reference in New Issue
Block a user