SilentRunnerEngine 0.0.4

SilentRunnerEngine 0.0.4

TestsTested
LangLanguage Obj-CObjective C
License MIT
ReleasedLast Release Feb 2017

Maintained by house of pods.


Downloads

Total6
Week0
Month0

Installs

Apps3
powered by Segment

GitHub

Stars2
Watchers1
Forks0
Issues3
Contributors1
Pull Requests0

Code

Files29
LOCLines of Code 488


 
Depends on:
JSONRPCom>= 0
SocketRocket>= 0
OCMockito>= 0
 

  • By
  • andrewBatutin

Silent Runner

Intro

alt text

Silent Runner is a testing tool for iOS to trigger some method calls remotly

Idea is simple: 1. Remote server sends to the app message with method invocation details 2. Silent runner invokes the method. 3. Profit

Usefull for 1. Push notifications testing 2. Analytic System calls 3. Operation System calls

Smaples of messages:

  • Add item to array
{
    "jsonrpc": "2.0",
    "method": "execute",
    "params": { 
            "commandId": "objTag",
            "method": "addObject:",
            "arguments": [{
                "class": "NSURL",
                "methods": [{
                "name": "URLWithString",
                "returnValue": "mock data"
            }, {
                "name": "fileURLWithPath",
                "returnValue": "mock path"
            }]
        }]
    }
}
  • Call openURL:options:completionHandler: method
{
    "jsonrpc": "2.0",
    "method": "execute",
    "params": {
        "commandId": "UIApplication",
        "method": "openURL:options:completionHandler:",
        "arguments": [{
            "class": "NSURL",
            "properties": [{
                "name": "absoluteString",
                "value": "https://github.com/andrewBatutin/SilentRunner"
            }, {
                "name": "relativeString",
                "value": "https://github.com/andrewBatutin/SilentRunner"
            }],
            "methods": [{
                "name": "isFileReferenceURL",
                "returnValue": "1"
            }, {
                "name": "fileReferenceURL",
                "returnValue": "mock reference"
            }]
        }, {
            "value": {
                "opt1": "test"
            }
        }, {
            "class": "block",
            "methods": {
                "name": "invoke:",
                "returnValue": "smthng"
            }
        }]
    }
}

Dependecies

TODO

  • Formal protocol spec
  • Support for batch requests