openatx / Wdaproxy
Licence: mit
WebDriverAgent Proxy
Stars: ✭ 107
Projects that are alternatives of or similar to Wdaproxy
Kubefwd
Bulk port forwarding Kubernetes services for local development.
Stars: ✭ 2,713 (+2435.51%)
Mutual labels: proxy, brew
Swiftplaygroundscli
Easily generate Swift Playgrounds from your command line 👨💻
Stars: ✭ 103 (-3.74%)
Mutual labels: brew
Windtalk
Simplest way to communicate with iFrames and other windows
Stars: ✭ 100 (-6.54%)
Mutual labels: proxy
Process Proxifier
Using FiddlerCore to add proxy settings to the Windows applications
Stars: ✭ 104 (-2.8%)
Mutual labels: proxy
Sidedoor
SSH connection daemon for Debian/Raspbian/Ubuntu/etc
Stars: ✭ 97 (-9.35%)
Mutual labels: proxy
Forward Proxy
150 LOC Ruby forward proxy using only standard libraries.
Stars: ✭ 105 (-1.87%)
Mutual labels: proxy
Websocks
A secure proxy based on WebSocket. 一个基于 WebSocket 的代理工具
Stars: ✭ 102 (-4.67%)
Mutual labels: proxy
Gate
A high performant & paralleled Minecraft proxy server with scalability, flexibility & excellent server version support - ready for the cloud!
Stars: ✭ 102 (-4.67%)
Mutual labels: proxy
Seleniumwithcucucumber
In this project we will discuss working Selenium with cucumber
Stars: ✭ 104 (-2.8%)
Mutual labels: webdriver
Bettercap
The Swiss Army knife for 802.11, BLE, IPv4 and IPv6 networks reconnaissance and MITM attacks.
Stars: ✭ 10,735 (+9932.71%)
Mutual labels: proxy
Automation Arsenal
Curated list of popular Java and Kotlin frameworks, libraries and tools related to software testing, quality assurance and adjacent processes automation.
Stars: ✭ 105 (-1.87%)
Mutual labels: webdriver
Grawler
Grawler is a tool written in PHP which comes with a web interface that automates the task of using google dorks, scrapes the results, and stores them in a file.
Stars: ✭ 98 (-8.41%)
Mutual labels: proxy
Videop2proxy
Proxy to enable P2P only cameras to work with standard protocols.
Stars: ✭ 102 (-4.67%)
Mutual labels: proxy
wdaproxy
Make WebDriverAgent more powerful.
Platform
Limited in Mac
Features
- [x] Launch iproxy when start. Listen on
0.0.0.0
instead oflocalhost
- [x] Create http proxy for WDA server
- [x] add udid into
GET /status
- [x] forward all url starts with
/origin/<url>
to/<url>
- [x] Add the missing Index page
- [x] Support Package management API
- [x] Support launch WDA
- [x] iOS device remote control
- [x] Support Appium Desktop (Beta)
Installl
$ brew install openatx/tap/wdaproxy
Usage
Simple run
$ wdaproxy -p 8100 -u $UDID
Run with WDA
$ wdaproxy -W ../WebDriverAgent
For more run wdaproxy -h
Strong recommended use python facebook-wda to write tests. But if you have to use appium. Just keep reading.
Simulate appium server
Since WDA implements WebDriver protocol.
Even through many API not implemented. But it still works. wdaproxy
implemented a few api listed bellow.
- wdaproxy "/wd/hubs/sessions"
- wdaproxy "/wd/hubs/session/$sessionId/window/current/size"
Launch wdaproxy with command wdaproxy -p 8100 -u $UDID
Here is sample Python-Appium-Client
code.
from appium import webdriver
import time
driver = webdriver.Remote("http://127.0.0.1:8100/wd/hub", {"bundleId": "com.apple.Preferences"})
def wait_element(xpath, timeout=10):
print("Wait ELEMENT", xpath)
deadline = time.time() + timeout
while time.time() <= deadline:
el = driver.find_element_by_xpath(xpath)
if el:
return el
time.sleep(.2)
raise RuntimeError("Element for " + xpath + " not found")
wait_element('//XCUIElementTypeCell[@name="蓝牙"]').click()
Not working well code
driver.background_app(3)
driver.implicitly_wait(30)
driver.get_window_rect()
# many a lot.
Extended API
Package install
$ curl -X POST -F [email protected] http://localhost:8100/api/v1/packages
$ curl -X POST -F url="http://somehost.com/some.ipa" http://localhost:8100/api/v1/packages
Package uninstall
$ curl -X DELETE http://localhost:8100/api/v1/packages/${BUNDLE_ID}
Package list (parse from ideviceinstaller -l
)
$ curl -X GET http://localhost:8100/api/v1/packages
For developer
First checkout this repository
git clone https://github.com/openatx/wdaproxy $GOPATH/src/github.com/openatx/wdaproxy
cd $GOPATH/src/github.com/openatx/wdaproxy
Update golang vendor
brew install glide
glide up
Package web resources into binary
go generate ./web
go build -tags vfs
LICENSE
Under MIT
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].