Example #1
0
 def test_start_success(self):
     server = AutomatorServer()
     server.push = MagicMock()
     server.push.return_value = ["bundle.jar", "uiautomator-stub.jar"]
     server.ping = MagicMock()
     server.ping.return_value = "pong"
     server.adb = MagicMock()
     server.start()
     server.adb.cmd.assert_called_with('shell', 'uiautomator', 'runtest', 'bundle.jar', 'uiautomator-stub.jar', '-c', 'com.github.uiautomatorstub.Stub')
Example #2
0
 def test_start_success(self):
     server = AutomatorServer()
     server.push = MagicMock()
     server.push.return_value = ["bundle.jar", "uiautomator-stub.jar"]
     server.ping = MagicMock()
     server.ping.return_value = "pong"
     server.adb = MagicMock()
     server.start()
     server.adb.cmd.assert_valled_onec_with('shell', 'uiautomator', 'runtest', 'bundle.jar', 'uiautomator-stub.jar', '-c', 'com.github.uiautomatorstub.Stub')
Example #3
0
 def test_start_error(self):
     server = AutomatorServer()
     server.push = MagicMock()
     server.push.return_value = ["bundle.jar", "uiautomator-stub.jar"]
     server.ping = MagicMock()
     server.ping.return_value = None
     server.adb = MagicMock()
     with patch("time.sleep"):
         with self.assertRaises(IOError):
             server.start()
Example #4
0
 def test_start_error(self):
     server = AutomatorServer()
     server.push = MagicMock()
     server.push.return_value = ["bundle.jar", "uiautomator-stub.jar"]
     server.ping = MagicMock()
     server.ping.return_value = None
     server.adb = MagicMock()
     with patch("time.sleep"):
         with self.assertRaises(IOError):
             server.start()
Example #5
0
 def test_start_forward_error(self):
     server = AutomatorServer()
     server.download_and_push = MagicMock()
     server.download_and_push.return_value = ["bundle.jar", "uiautomator-stub.jar"]
     with patch("uiautomator.adb") as adb:
         adb.forward.return_value = 1
         with patch.dict('os.environ', {'LOCAL_PORT': '9000', 'DEVICE_PORT': '9000'}):
             with self.assertRaises(IOError):
                 server.start()
             adb.forward.assert_called_once_with(9000, 9000)
Example #6
0
 def test_start_success(self):
     server = AutomatorServer()
     server.download_and_push = MagicMock()
     server.download_and_push.return_value = ["bundle.jar", "uiautomator-stub.jar"]
     server.ping = MagicMock()
     server.ping.return_value = "pong"
     with patch("uiautomator.adb") as adb:
         adb.forward.return_value = 0
         with patch.dict('os.environ', {'LOCAL_PORT': '9000', 'DEVICE_PORT': '9000'}):
             server.start()
             adb.cmd.assert_valled_onec_with('shell', 'uiautomator', 'runtest', 'bundle.jar', 'uiautomator-stub.jar', '-c', 'com.github.uiautomatorstub.Stub')
             adb.forward.assert_called_once_with(9000, 9000)
Example #7
0
    def test_auto_start(self):
        try:
            import requests
            # import urllib2
        except ImportError:
            raise
            # import urllib.request as urllib2
        with patch("uiautomator.JsonRPCMethod") as JsonRPCMethod:
            # returns = [urllib2.URLError("error"), "ok"]
            returns = [requests.exceptions.ConnectionError("error"), "ok"]

            def side_effect():
                result = returns.pop(0)
                if isinstance(result, Exception):
                    raise result
                return result

            JsonRPCMethod.return_value.side_effect = side_effect
            server = AutomatorServer()
            server.start = MagicMock()
            server.stop = MagicMock()
            self.assertEqual("ok", server.jsonrpc.any_method())
            server.start.assert_called_once_with(timeout=30)
        with patch("uiautomator.JsonRPCMethod") as JsonRPCMethod:
            returns = [JsonRPCError(-32000 - 1, "error msg"), "ok"]

            def side_effect():
                result = returns.pop(0)
                if isinstance(result, Exception):
                    raise result
                return result

            JsonRPCMethod.return_value.side_effect = side_effect
            server = AutomatorServer()
            server.start = MagicMock()
            server.stop = MagicMock()
            self.assertEqual("ok", server.jsonrpc.any_method())
            server.start.assert_called_once_with()
        with patch("uiautomator.JsonRPCMethod") as JsonRPCMethod:
            JsonRPCMethod.return_value.side_effect = JsonRPCError(
                -32000 - 2, "error msg")
            server = AutomatorServer()
            server.start = MagicMock()
            server.stop = MagicMock()
            with self.assertRaises(JsonRPCError):
                server.jsonrpc.any_method()
Example #8
0
    def test_start_success_over_api_18(self):
        server = AutomatorServer()
        server.push = MagicMock()
        server.push.return_value = ["bundle.jar", "uiautomator-stub.jar"]

        server.ping = MagicMock()
        server.ping.return_value = "pong"

        server.sdk_version = MagicMock()
        server.sdk_version.return_value = 20

        server.adb = MagicMock()
        server.start()
        server.adb.cmd.assert_called_with(
            "shell", "am", "instrument", "-w",
            "com.github.uiautomator.test/android.support.test.runner.AndroidJUnitRunner"
        )
Example #9
0
 def test_auto_start(self):
     with patch("uiautomator.JsonRPCClient") as JsonRPCClient:
         JsonRPCClient.ping.return_value = None
         server = AutomatorServer()
         server.start = MagicMock()
         server.stop = MagicMock()
         server.jsonrpc
         server.start.assert_called_once_with()
Example #10
0
 def test_auto_start(self):
     with patch("uiautomator.JsonRPCClient") as JsonRPCClient:
         JsonRPCClient.ping.return_value = None
         server = AutomatorServer()
         server.start = MagicMock()
         server.stop = MagicMock()
         server.jsonrpc
         server.start.assert_called_once_with()
 def test_auto_start(self):
     try:
         import requests
     except ImportError:
         raise
     with patch("uiautomator.JsonRPCMethod") as JsonRPCMethod:
         # returns = [urllib2.URLError("error"), "ok"]
         returns = [requests.exceptions.ConnectionError("error"), "ok"]
         
         def side_effect():
             result = returns.pop(0)
             if isinstance(result, Exception):
                 raise result
             return result
         JsonRPCMethod.return_value.side_effect = side_effect
         server = AutomatorServer()
         server.start = MagicMock()
         server.stop = MagicMock()
         self.assertEqual("ok", server.jsonrpc.any_method())
         server.start.assert_called_once_with(timeout=30)
     with patch("uiautomator.JsonRPCMethod") as JsonRPCMethod:
         returns = [requests.exceptions.ConnectionError("error"), "ok"]
         # returns = [JsonRPCError(-32000-1, "error msg"), "ok"]
         
         def side_effect():
             result = returns.pop(0)
             if isinstance(result, Exception):
                 raise result
             return result
         JsonRPCMethod.return_value.side_effect = side_effect
         server = AutomatorServer()
         server.start = MagicMock()
         server.stop = MagicMock()
         self.assertEqual("ok", server.jsonrpc.any_method())
         server.start.assert_called_once_with(timeout=30)
     with patch("uiautomator.JsonRPCMethod") as JsonRPCMethod:
         JsonRPCMethod.return_value.side_effect = JsonRPCError(-32000-2, "error msg")
         server = AutomatorServer()
         server.start = MagicMock()
         server.stop = MagicMock()
         with self.assertRaises(JsonRPCError):
             server.jsonrpc.any_method()
Example #12
0
 def test_auto_start(self):
     with patch.dict('os.environ', {'LOCAL_PORT': '9000', 'DEVICE_PORT': '9000'}):
         with patch("uiautomator.JsonRPCClient") as JsonRPCClient:
             JsonRPCClient.ping.return_value = None
             server = AutomatorServer()
             server.start = MagicMock()
             server.jsonrpc
             JsonRPCClient.assert_called_once_with(server.rpc_uri)
             server.start.assert_called_once_with()
             server.jsonrpc  # second call will retrieve the stored obj
             JsonRPCClient.assert_called_once_with(server.rpc_uri)
Example #13
0
"""start and quit rpc server on device.
"""
from uiautomator import AutomatorServer

r=AutomatorServer()
r.start()

if r.alive:
    print "RPC is started."
else:
    print "Somthing wrong"