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})
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)