All Projects → danielpaulus → dtx_codec

danielpaulus / dtx_codec

Licence: MIT License
A golang based Apple DTX implementation. So you can run on real iOS devices: XCUITests, get CPU metrics, launch and kill apps from any OS without the need for expensive Apple hardware :-)

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to dtx codec

go-ios
This is an operating system independent implementation of iOS device features. You can run UI tests, launch or kill apps, install apps etc. with it.
Stars: ✭ 415 (+1560%)
Mutual labels:  xcuitest, dtx
Peasy
A pure Swift mock server for embedding and running directly within iOS/macOS UI tests. Easy peasy.
Stars: ✭ 32 (+28%)
Mutual labels:  xctest, xcuitest
Ui Testing Cheat Sheet
How do I test this with UI Testing?
Stars: ✭ 2,039 (+8056%)
Mutual labels:  xctest, xcuitest
AutoMate-AppBuddy
iOS UI automation tests helper framework, designed to work with the AutoMate
Stars: ✭ 31 (+24%)
Mutual labels:  xctest, xcuitest
SimpleIOSCalculator
Simple iOS Calculator
Stars: ✭ 16 (-36%)
Mutual labels:  xctest, xcuitest
xctest-dynamic-overlay
Define XCTest assertion helpers directly in your application and library code.
Stars: ✭ 138 (+452%)
Mutual labels:  xctest
spec
Unit testing Vapor 4 applications through declarative specifications.
Stars: ✭ 32 (+28%)
Mutual labels:  xctest
Quiz App
A repository reflecting the progress made on the "How to Build iOS Apps with Swift, TDD & Clean Architecture" YouTube series, by Caio & Mike.
Stars: ✭ 230 (+820%)
Mutual labels:  xctest
Sbtuitesttunnel
Enable network mocks and more in UI Tests
Stars: ✭ 215 (+760%)
Mutual labels:  xctest
ViewControllerPresentationSpy
Unit test presented and dismissed iOS view controllers, including alerts and action sheets
Stars: ✭ 117 (+368%)
Mutual labels:  xctest
Xctestwd
A Swift implementation of WebDriver server for iOS that runs on Simulator/iOS devices.
Stars: ✭ 195 (+680%)
Mutual labels:  xctest
Tablier
A micro-framework for Table Driven Tests.
Stars: ✭ 33 (+32%)
Mutual labels:  xctest
CombineExpectations
Utilities for tests that wait for Combine publishers
Stars: ✭ 204 (+716%)
Mutual labels:  xctest
appium-mac2-driver
Next-gen Appium macOS driver, backed by Apple XCTest
Stars: ✭ 55 (+120%)
Mutual labels:  xctest
Automate
Swift framework containing a set of helpful XCTest extensions for writing UI automation tests
Stars: ✭ 244 (+876%)
Mutual labels:  xctest
hypershard-ios
⚡ the ridiculously fast XCUITest collector.
Stars: ✭ 22 (-12%)
Mutual labels:  xcuitest
CucumberSwift
A lightweight swift Cucumber implementation
Stars: ✭ 40 (+60%)
Mutual labels:  xctest
ios-ui-automation-overview
An overview of popular iOS UI testing solutions.
Stars: ✭ 23 (-8%)
Mutual labels:  xctest
gmock-xcode
Xcode integration for GoogleMock through XCTest
Stars: ✭ 18 (-28%)
Mutual labels:  xctest
xcuitest cucumberish
Sample Project for XCUITest + Cucumberish demo
Stars: ✭ 14 (-44%)
Mutual labels:  xcuitest

Deprecated in favor of https://github.com/danielpaulus/go-ios which has a fully working DTX implementation now

dtx_codec

A golang based Apple DTX implementation. So you can run on real iOS devices: XCUITests, get CPU metrics, launch and kill apps from any OS without the need for expensive Apple hardware :-)

Will be added to go-ios eventually. Use https://github.com/danielpaulus/ios_simulator_dtx_dump to get a dump of DTX messages to test the decoder with.

Done:

  • Basic Decoder, fully decoding DTX messages and dump them

Check out this example method call, which the device sends to us to tell us about the blaUITests.blaUITests testcase finishing:

i1038.0e c1 t:rpc_asking_reply mlen:25357 aux_len25162 paylen179
auxheader:BufSiz:25584 Unknown:0 AuxSiz:25146 Unknown2:0
aux:[{t:binary, v:["blaUITests.blaUITests"]},
{t:binary, v:["blaUITests.blaUITests"]},
{t:binary, v:["blaUITests.blaUITests"]},
]
payload: "_XCT_testCase:method:didFinishActivity:" 

Todo:

  • Basic Encoder, re-encode DTX so you can control stuff
  • Fix a few unknown things for real devices (I am using Simulator output to develop before switching to devices)
  • Integrate into go-ios

Check out my nskeyedarchiver implementation here: https://github.com/danielpaulus/nskeyedarchiver

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].