All Projects → badoo → ios-device-server

badoo / ios-device-server

Licence: MIT license
A server to manage remote iOS simulators and devices for parallel testing

Programming Languages

kotlin
9241 projects
ruby
36898 projects - #4 most used programming language
shell
77523 projects
java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to ios-device-server

jest-retry
Jest retry pattern for flaky E2E tests
Stars: ✭ 36 (-2.7%)
Mutual labels:  test-automation
fast-test
fast-test是基于Java的自动化测试工具集合,包含自动测试平台(后端Vue),自动测试框架,可以帮助测试人员快速构建各类测试工具和自动化测试框架。请点星支持!
Stars: ✭ 112 (+202.7%)
Mutual labels:  test-automation
jest-gql
✅🚀GraphQL based tests for Jest and Apollo
Stars: ✭ 33 (-10.81%)
Mutual labels:  test-automation
test junkie
Highly configurable testing framework for Python
Stars: ✭ 72 (+94.59%)
Mutual labels:  test-automation
door-controller-test-tool
Door controller test tool for physical access control devices. (THIS PROJECT IS NO LONGER MAINTAINED)
Stars: ✭ 13 (-64.86%)
Mutual labels:  test-automation
bdd-for-all
Flexible and easy to use library to enable your behavorial driven development (BDD) teams to easily collaborate while promoting automation, transparency and reporting.
Stars: ✭ 42 (+13.51%)
Mutual labels:  test-automation
bokor
Bokor is a simple, Record and Playback Mock Server written in Node.js, utilized for Service Virtualization.
Stars: ✭ 24 (-35.14%)
Mutual labels:  test-automation
serenity-reportportal-integration
Serenity TAF integration with Report Portal
Stars: ✭ 21 (-43.24%)
Mutual labels:  test-automation
testcafe-testing-library
🐂 Simple and complete custom Selectors for Testcafe that encourage good testing practices.
Stars: ✭ 68 (+83.78%)
Mutual labels:  test-automation
karate
Test Automation Made Simple
Stars: ✭ 6,384 (+17154.05%)
Mutual labels:  test-automation
carina
Carina automation framework: Web, Mobile, API, DB etc testing...
Stars: ✭ 652 (+1662.16%)
Mutual labels:  test-automation
laravel-test-watcher
Laravel Test Watcher
Stars: ✭ 20 (-45.95%)
Mutual labels:  test-automation
main
Mocks Server monorepo
Stars: ✭ 109 (+194.59%)
Mutual labels:  test-automation
picire
Parallel Delta Debugging Framework
Stars: ✭ 41 (+10.81%)
Mutual labels:  test-automation
pysys-test
PySys System Test Framework
Stars: ✭ 14 (-62.16%)
Mutual labels:  test-automation
flybirds
基于自然语言的,跨端跨框架 BDD UI 自动化测试方案,BDD testing, Python style, Present by Trip Flight
Stars: ✭ 701 (+1794.59%)
Mutual labels:  test-automation
frisbee
A Kubernetes Framework for Cloud-Native Application Testing
Stars: ✭ 39 (+5.41%)
Mutual labels:  test-automation
toradocu
Toradocu - automated generation of test oracles from Javadoc documentation
Stars: ✭ 39 (+5.41%)
Mutual labels:  test-automation
adb-wifi-setting-manager
Control wifi connections on Android with adb
Stars: ✭ 31 (-16.22%)
Mutual labels:  test-automation
spring-boot-tc-mysql
Sample Spring Boot application that uses MySQL to perform integration tests by using TestContainer.
Stars: ✭ 21 (-43.24%)
Mutual labels:  test-automation

iOS Remote Device Server Build Status

A server for managing, booting, and controlling simulators and devices on remote host machines.

Features

  • Enables control of simulators and devices connected to remote host machines
  • Enables tests to run using remote simulators and devices
  • Enables custom actions on simulators like clearing safari cookies or fast reset of a simulator
  • Hides away satisfying desired capabilities, i.e. based on requested model or os will choose an appropriate host to create a simulator

Requirements

Java

  • Download and install Java SDK 10
  • set environment variable JAVA_HOME
export JAVA_HOME=$(/usr/libexec/java_home -v 10 -F)

Dependencies

Device Server uses fbsimctl, libimobiledevice and other tools under the hood.

To install dependencies run:

brew update
brew bundle

Simulators

It might take some time to build dependencies used for physical devices. You can skip it by running following instead:

brew update
brew bundle --file="homebrew/Brewfile"

Devices

Some of the dependencies needed for physical devices have outdated stable releases and have to be installed from the latest head.

After installing Brewfile you might still need to run

brew upgrade usbmuxd libimobiledevice --fetch-HEAD

Usage

Build and run Device Server

./bootstrap.sh
cd device-server
./run_device_server.sh

Allocate Device

curl -X POST -d '{"model":"iPhone 6", "headless":false}' http://localhost:4567/devices

Query Device Server

curl http://localhost:4567/status
curl http://localhost:4567/devices

Release device by reference

curl -X DELETE http://localhost:4567/devices/${DEVICE_REF}

Ruby sample

require 'ios-device-server-client/remote_device'

server_url = 'http://localhost:4567'

provider = IosDeviceServerClient::DeviceProvider.new(server_url)

rv = provider.create(model: 'iPhone 6', os: 'iOS 11.4', headless: false)
remote_device = IosDeviceServerClient::RemoteDevice.new(server_url, rv['ref'])

begin
  remote_device.await(timeout: 30)
  remote_device.open_url('https://github.com/badoo/ios-device-server')
  readline
ensure
  remote_device.release
end
  • command line utility will be published soon
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].