Example #1
0
 def test_start_ping(self):
     with patch("uiautomator.JsonRPCClient") as JsonRPCClient:
         JsonRPCClient.return_value.ping.return_value = "pong"
         server = AutomatorServer()
         server.adb = MagicMock()
         server.adb.forward.return_value = 0
         self.assertEqual(server.ping(), "pong")
Example #2
0
 def test_start_ping(self):
     with patch("uiautomator.JsonRPCClient") as JsonRPCClient:
         JsonRPCClient.return_value.ping.return_value = "pong"
         server = AutomatorServer()
         server.adb = MagicMock()
         server.adb.forward.return_value = 0
         self.assertEqual(server.ping(), "pong")
Example #3
0
 def test_push(self):
     jars = ["bundle.jar", "uiautomator-stub.jar"]
     server = AutomatorServer()
     server.adb = MagicMock()
     self.assertEqual(set(server.push()), set(jars))
     for args in server.adb.cmd.call_args_list:
         self.assertEqual(args[0][0], "push")
         self.assertEqual(args[0][2], "/data/local/tmp/")
Example #4
0
 def test_push(self):
     jars = ["bundle.jar", "uiautomator-stub.jar"]
     server = AutomatorServer()
     server.adb = MagicMock()
     self.assertEqual(set(server.push()), set(jars))
     for args in server.adb.cmd.call_args_list:
         self.assertEqual(args[0][0], "push")
         self.assertEqual(args[0][2], "/data/local/tmp/")
Example #5
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 #6
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 #7
0
 def test_download_and_push_download(self):
     jars = ["bundle.jar", "uiautomator-stub.jar"]
     with patch("os.path.exists") as exists:
         with patch("os.mkdir") as mkdir:
             with patch("%s.open" % open.__class__.__module__, mock_open(), create=True) as m_open:
                 server = AutomatorServer()
                 server.adb = MagicMock()
                 exists.return_value = False
                 self.assertEqual(set(server.download_and_push()), set(jars))
                 self.assertEqual(len(m_open.call_args_list), len(jars))
Example #8
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 #9
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 #10
0
 def test_download_and_push(self):
     jars = ["bundle.jar", "uiautomator-stub.jar"]
     with patch("os.path.exists") as exists:
         with patch("os.stat") as stat:
             server = AutomatorServer()
             server.adb = MagicMock()
             exists.return_value = True
             stat.st_size = 1024
             self.assertEqual(set(server.download_and_push()), set(jars))
             for args in server.adb.cmd.call_args_list:
                 self.assertEqual(args[0][0], "push")
                 self.assertEqual(args[0][2], "/data/local/tmp/")
Example #11
0
 def test_download_and_push(self):
     jars = ["bundle.jar", "uiautomator-stub.jar"]
     with patch("os.path.exists") as exists:
         with patch("os.stat") as stat:
             server = AutomatorServer()
             server.adb = MagicMock()
             exists.return_value = True
             stat.st_size = 1024
             self.assertEqual(set(server.download_and_push()), set(jars))
             for args in server.adb.cmd.call_args_list:
                 self.assertEqual(args[0][0], "push")
                 self.assertEqual(args[0][2], "/data/local/tmp/")
Example #12
0
    def test_stop_started_server(self):
        server = AutomatorServer()
        server.adb = MagicMock()
        server.uiautomator_process = process = MagicMock()
        process.poll.return_value = None
        server.stop()
        process.wait.assert_called_once_with()

        server.uiautomator_process = process = MagicMock()
        process.poll.return_value = None
        self.urlopen.side_effect = IOError("error")
        server.stop()
        process.kill.assert_called_once_with()
Example #13
0
    def test_stop_started_server(self):
        server = AutomatorServer()
        server.adb = MagicMock()
        server.uiautomator_process = process = MagicMock()
        process.poll.return_value = None
        server.stop()
        process.wait.assert_called_once_with()

        server.uiautomator_process = process = MagicMock()
        process.poll.return_value = None
        self.urlopen.side_effect = IOError("error")
        server.stop()
        process.kill.assert_called_once_with()
Example #14
0
 def test_download_and_push_download(self):
     jars = ["bundle.jar", "uiautomator-stub.jar"]
     with patch("os.path.exists") as exists:
         with patch("os.mkdir") as mkdir:
             with patch("%s.open" % open.__class__.__module__,
                        mock_open(),
                        create=True) as m_open:
                 server = AutomatorServer()
                 server.adb = MagicMock()
                 exists.return_value = False
                 self.assertEqual(set(server.download_and_push()),
                                  set(jars))
                 self.assertEqual(len(m_open.call_args_list), len(jars))
Example #15
0
 def test_stop(self):
     results = [
         b"USER     PID   PPID  VSIZE  RSS     WCHAN    PC         NAME\n\rsystem    372   126   635596 104808 ffffffff 00000000 S uiautomator",
         b"USER     PID   PPID  VSIZE  RSS     WCHAN    PC         NAME\r\nsystem    372   126   635596 104808 ffffffff 00000000 S uiautomator",
         b"USER     PID   PPID  VSIZE  RSS     WCHAN    PC         NAME\nsystem    372   126   635596 104808 ffffffff 00000000 S uiautomator",
         b"USER     PID   PPID  VSIZE  RSS     WCHAN    PC         NAME\rsystem    372   126   635596 104808 ffffffff 00000000 S uiautomator"
     ]
     for r in results:
         server = AutomatorServer()
         server.adb = MagicMock()
         server.adb.cmd.return_value.communicate.return_value = (r, "")
         server.stop()
         self.assertEqual(server.adb.cmd.call_args_list,
                          [call("shell", "ps", "-C", "uiautomator"), call("shell", "kill", "-9", "372")])
Example #16
0
 def test_stop(self):
     results = [
         b"USER     PID   PPID  VSIZE  RSS     WCHAN    PC         NAME\n\rsystem    372   126   635596 104808 ffffffff 00000000 S uiautomator",
         b"USER     PID   PPID  VSIZE  RSS     WCHAN    PC         NAME\r\nsystem    372   126   635596 104808 ffffffff 00000000 S uiautomator",
         b"USER     PID   PPID  VSIZE  RSS     WCHAN    PC         NAME\nsystem    372   126   635596 104808 ffffffff 00000000 S uiautomator",
         b"USER     PID   PPID  VSIZE  RSS     WCHAN    PC         NAME\rsystem    372   126   635596 104808 ffffffff 00000000 S uiautomator"
     ]
     for r in results:
         server = AutomatorServer()
         server.adb = MagicMock()
         server.adb.cmd.return_value.communicate.return_value = (r, "")
         server.stop()
         self.assertEqual(server.adb.cmd.call_args_list,
                          [call("shell", "ps", "-C", "uiautomator"), call("shell", "kill", "-9", "372")])
Example #17
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"
        )