electricbubble / Gwda
Licence: mit
WebDriverAgent ( iOS ) Client Library in Golang
Stars: ✭ 191
Projects that are alternatives of or similar to Gwda
Bender
Easily craft fast Neural Networks on iOS! Use TensorFlow models. Metal under the hood.
Stars: ✭ 1,728 (+804.71%)
Mutual labels: iphone
Openbrushvr
Unity VR & AR Painting in 3d space for the Vive and Tango and ARKit
Stars: ✭ 180 (-5.76%)
Mutual labels: iphone
Inappviewdebugger
A UIView debugger (like Reveal or Xcode) that can be embedded in an app for on-device view debugging
Stars: ✭ 1,805 (+845.03%)
Mutual labels: iphone
Clendar
Clendar - universal calendar app. Written in SwiftUI. Available on App Store
Stars: ✭ 153 (-19.9%)
Mutual labels: iphone
Ioctocat
iOctocat v1 - GitHub for iOS (works on the iPhone, iPad, and iPod Touch)
Stars: ✭ 1,665 (+771.73%)
Mutual labels: iphone
Mcpicker Ios
McPicker is a customizable, closure driven UIPickerView drop-in solution with animations that is rotation ready.
Stars: ✭ 186 (-2.62%)
Mutual labels: iphone
Texture Compressor
CLI tool for texture compression using ASTC, ETC, PVRTC and S3TC in a KTX container.
Stars: ✭ 156 (-18.32%)
Mutual labels: iphone
Laravel Identify
📦 📱 Laravel 5 Package to Detect Users Browsers, Devices, Languages and Operating Systems
Stars: ✭ 177 (-7.33%)
Mutual labels: iphone
Filesystem
FileSystem is an application that allows you to browse the content of your iPhone disk, displaying file and folders, files contents, and detailed informations about file and folder permissions.
Stars: ✭ 148 (-22.51%)
Mutual labels: iphone
Cs193p Fall 2017
These are the lectures, slides, reading assignments, and problem sets for the Developing Apps for iOS 11 with Swift 4 CS193p course offered at the Stanford School of Engineering and available on iTunes U.
Stars: ✭ 141 (-26.18%)
Mutual labels: iphone
Mobile Web Favorites
This is a favorites, with a mobile web tips.
Stars: ✭ 1,724 (+802.62%)
Mutual labels: iphone
Raised Center Tab In Android
Customized tabhost having raised center tab.
Stars: ✭ 158 (-17.28%)
Mutual labels: iphone
Iboot64helper
IDAPython loader to help with AArch64 iBoot, iBEC, and SecureROM reverse engineering
Stars: ✭ 189 (-1.05%)
Mutual labels: iphone
Openssl For Iphone
A script for compiling OpenSSL for iOS Devices (iPhone, iPad, iPod Touch, AppleTV, MacCatalyst)
Stars: ✭ 2,190 (+1046.6%)
Mutual labels: iphone
Iphone Inline Video
📱 Make videos playable inline on the iPhone (prevents automatic fullscreen)
Stars: ✭ 2,020 (+957.59%)
Mutual labels: iphone
Golang-WDA
appium/WebDriverAgent Client Library in Golang
Android
can use electricbubble/guia2
Installation
First, install WebDriverAgent for iOS devices
go get github.com/electricbubble/gwda
Connection Device
package main
import (
"github.com/electricbubble/gwda"
"log"
)
func main() {
// var urlPrefix = "http://localhost:8100"
// The function may also require 'iproxy 8100 8100' to forward the device port first
// driver, _ := gwda.NewDriver(nil, urlPrefix)
// Connect devices via USB
driver, _ := gwda.NewUSBDriver(nil)
log.Println(driver.IsWdaHealthy())
}
Touch
package main
import (
"github.com/electricbubble/gwda"
)
func main() {
driver, _ := gwda.NewUSBDriver(nil)
x, y := 50, 256
driver.Tap(x, y)
driver.DoubleTap(x, y)
driver.TouchAndHold(x, y)
fromX, fromY, toX, toY := 50, 256, 100, 256
driver.Drag(fromX, fromY, toX, toY)
driver.Swipe(fromX, fromY, toX, toY)
// 需要 3D Touch 硬件支持
// driver.ForceTouch(x, y, 0.8)
}
AssistiveTouch
driver.PerformW3CActions
driver.PerformAppiumTouchActions
App Actions
package main
import (
"github.com/electricbubble/gwda"
)
func main() {
driver, _ := gwda.NewUSBDriver(nil)
var bundleId = "com.apple.Preferences"
driver.AppLaunchUnattached(bundleId)
driver.AppDeactivate(2)
driver.AppTerminate(bundleId)
driver.AppActivate(bundleId)
// Resets the 📷 camera authorization status of the current application
// driver.AppAuthReset(gwda.ProtectedResourceCamera)
}
Keyboard
package main
import (
"github.com/electricbubble/gwda"
)
func main() {
driver, _ := gwda.NewUSBDriver(nil)
driver.SendKeys("hello")
}
specified element
element.SendKeys
Siri
package main
import (
"github.com/electricbubble/gwda"
)
func main() {
driver, _ := gwda.NewUSBDriver(nil)
driver.SiriActivate("What's the weather like today")
}
Alert
package main
import (
"github.com/electricbubble/gwda"
"log"
)
func main() {
driver, _ := gwda.NewUSBDriver(nil)
text, _ := driver.AlertText()
log.Println(text)
alertButtons, _ := driver.AlertButtons()
log.Println(alertButtons)
driver.AlertAccept()
// driver.AlertDismiss()
// driver.SendKeys("ah")
}
Device information
package main
import (
"github.com/electricbubble/gwda"
"log"
)
func main() {
driver, _ := gwda.NewUSBDriver(nil)
deviceInfo, _ := driver.DeviceInfo()
log.Println(deviceInfo.Name)
batteryInfo, _ := driver.BatteryInfo()
log.Println(batteryInfo.State)
windowSize, _ := driver.WindowSize()
log.Println(windowSize)
location, err := driver.Location()
if err != nil {
log.Fatalln(err)
}
log.Println(location)
// screen, _ := driver.Screen()
// log.Println(screen)
}
Hardware button
package main
import (
"github.com/electricbubble/gwda"
)
func main() {
driver, _ := gwda.NewUSBDriver(nil)
// driver.Homescreen()
driver.PressButton(gwda.DeviceButtonHome)
driver.PressButton(gwda.DeviceButtonVolumeUp)
driver.PressButton(gwda.DeviceButtonVolumeDown)
}
Screenshot
package main
import (
"github.com/electricbubble/gwda"
"image"
)
func main() {
driver, _ := gwda.NewUSBDriver(nil)
screenshot, _ := driver.Screenshot()
img, format, _ := image.Decode(screenshot)
_, _ = img, format
}
Debug
package main
import (
"fmt"
"github.com/electricbubble/gwda"
)
func main() {
driver, _ := gwda.NewUSBDriver(nil)
source, _ := driver.Source()
fmt.Println(source)
// fmt.Println(driver.AccessibleSource())
// gwda.SetDebug(true)
}
Extensions
About | |
---|---|
electricbubble/gwda-ext-opencv | Operate with pictures |
Alternatives
About | |
---|---|
openatx/facebook-wda | Facebook WebDriverAgent Python Client Library (not official) |
Thanks
Thank you JetBrains for providing free open source licenses
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].