on xenial help sign in
more robust indicator-client AP tests.
549dee1Nick Dedekind
tests/autopilot/indicators_client/tests/__init__.py+8−2
@@ -38,15 +38,21 @@ class IndicatorsTestCase(AutopilotTestCase):
38 ('with touch', dict(input_device_class=Touch)),
38 ('with touch', dict(input_device_class=Touch)),
39 ]
39 ]
40
40
41− def setUp(self, geometry):
41+ def setUp(self, geometry, grid_size):
42 self.pointing_device = Pointer(self.input_device_class.create())
42 self.pointing_device = Pointer(self.input_device_class.create())
43 super(IndicatorsTestCase, self).setUp()
43 super(IndicatorsTestCase, self).setUp()
44+ if grid_size != "0":
45+ os.environ['GRID_UNIT_PX'] = grid_size
46+ self.grid_size = int(grid_size)
47+ else:
48+ self.grid_size = int(os.environ['GRID_UNIT_PX'])
49+
44 if os.path.realpath(__file__).startswith("/usr/"):
50 if os.path.realpath(__file__).startswith("/usr/"):
45 self.launch_test_installed(geometry)
51 self.launch_test_installed(geometry)
46 else:
52 else:
47 self.launch_test_local(geometry)
53 self.launch_test_local(geometry)
48
54
49− def launch_test_local(self,geometry):
55+ def launch_test_local(self, geometry):
50 if geometry != "0x0":
56 if geometry != "0x0":
51 self.app = self.launch_test_application("../../builddir/src/Panel/Indicators/client/indicators-client",
57 self.app = self.launch_test_application("../../builddir/src/Panel/Indicators/client/indicators-client",
52 "-geometry", geometry, app_type='qt')
58 "-geometry", geometry, app_type='qt')
tests/autopilot/indicators_client/tests/test_battery.py+13−10
@@ -17,23 +17,23 @@ import math
17
17
18class TestDisplayMenus(IndicatorsTestCase):
18class TestDisplayMenus(IndicatorsTestCase):
19 def setUp(self):
19 def setUp(self):
20− super(TestDisplayMenus, self).setUp("384x640")
20+ super(TestDisplayMenus, self).setUp("400x800", "12")
21
21
22 # This opens the messaging menu so you don't have to do that in
22 # This opens the messaging menu so you don't have to do that in
23 # every test case
23 # every test case
24− battery_menu = self.main_window.get_battery_menu()
24+ self.assertThat(lambda: self.main_window.get_battery_menu(), Eventually(NotEquals(None)));
25− self.pointing_device.move_to_object(battery_menu)
25+ self.pointing_device.move_to_object(self.main_window.get_battery_menu())
26 self.pointing_device.click()
26 self.pointing_device.click()
27
27
28− self.page = self.app.select_single("IndicatorsPage");
29− page_loader = self.app.select_single("IndicatorsPage/QQuickLoader", objectName="page_loader");
28+ fn_loader = lambda: self.app.select_single("IndicatorsPage/QQuickLoader", objectName="page_loader");
29+ self.assertThat(fn_loader, Eventually(NotEquals(None)));
30+ page_loader = fn_loader();
30 self.assertThat(page_loader.progress, Eventually(Equals(1.0)))
31 self.assertThat(page_loader.progress, Eventually(Equals(1.0)))
31
32
32 def tearDown(self):
33 def tearDown(self):
33 # self.main_window.get_indicators_client().reset()
34 # self.main_window.get_indicators_client().reset()
34 super(TestDisplayMenus, self).tearDown()
35 super(TestDisplayMenus, self).tearDown()
35
36
36−
37 # START SECTION
37 # START SECTION
38 # We need to move these to emulators once autopilot supports emulators for
38 # We need to move these to emulators once autopilot supports emulators for
39 # applications started with AutopilotTestCase.launch_test_application
39 # applications started with AutopilotTestCase.launch_test_application
@@ -67,8 +67,10 @@ class TestDisplayMenus(IndicatorsTestCase):
67 def test_auto_bright_switch(self):
67 def test_auto_bright_switch(self):
68 """Test the auto-bright switch"""
68 """Test the auto-bright switch"""
69
69
70+ # wait for the switch menu item
70− auto_brightness = self.app.select_single("SwitchMenuItem", objectName="auto-brightness")
71+ fn_auto_brightness = lambda: self.app.select_single("SwitchMenuItem", objectName="auto-brightness");
71− self.assertThat(auto_brightness, NotEquals(None))
72+ self.assertThat(fn_auto_brightness, Eventually(NotEquals(None)));
73+ auto_brightness = fn_auto_brightness();
72
74
73 old_ab_value = auto_brightness.checked
75 old_ab_value = auto_brightness.checked
74
76
@@ -80,8 +82,9 @@ class TestDisplayMenus(IndicatorsTestCase):
80 def test_brightness_slider(self):
82 def test_brightness_slider(self):
81 """Test the auto-bright switch"""
83 """Test the auto-bright switch"""
82
84
83− brightness_menu = self.app.select_single("SliderMenuItem", objectName="brightness")
85+ fn_brightness_menu = lambda: self.app.select_single("SliderMenuItem", objectName="brightness");
84− self.assertThat(brightness_menu, NotEquals(None))
86+ self.assertThat(fn_brightness_menu, Eventually(NotEquals(None)));
87+ brightness_menu = fn_brightness_menu();
85
88
86 old_ab_value = brightness_menu.value
89 old_ab_value = brightness_menu.value
87 # find a new value to do to. At least 1/4 distance away from current value
90 # find a new value to do to. At least 1/4 distance away from current value