示例#1
0
class TestQuery(TestCase):
    def setUp(self):
        super().setUp()
        set_server_type("tornado")
        _tornado.connections.append(MagicMock())
        self.elm = WebElement("tag")
        self.elm.js_exec = MagicMock()
        self.msg = {"type": "response", "id": self.elm.rimo_id}

    def test_query(self):
        fut = self.elm.js_query("test")
        self.elm.js_exec.assert_called_once_with("test", 0)
        self.msg["reqid"] = 0
        self.msg["data"] = 1
        self.elm.on_response(self.msg)
        self.assertEqual(fut.result(), 1)

    @sync
    @asyncio.coroutine
    def test_scroll(self):
        fut = self.elm.scrollX()
        self.assertFalse(fut.done())
        self.msg["reqid"] = 0
        self.msg["data"] = {"x": 1}
        self.elm.on_response(self.msg)
        x = yield from fut
        self.assertEqual(x, {"x": 1})
示例#2
0
    def test_scroll(self):
        rect = WebElement('div',
                          style='width:3000px;height:3000px;background:#eee;')
        self.tag.appendChild(rect)
        yield from asyncio.sleep(self.wait_time)

        X = yield from rect.scrollX()
        Y = yield from rect.scrollY()
        self.assertEqual(X['x'], 0)
        self.assertEqual(Y['y'], 0)

        rect.scrollTo(200, 200)
        yield from asyncio.sleep(self.wait_time)
        X = yield from rect.scrollX()
        Y = yield from rect.scrollY()
        self.assertEqual(X['x'], 200)
        self.assertEqual(Y['y'], 200)