Merge lp:~carla-sella/ubuntu-rssreader-app/all-tests-fixed into lp:~ubuntu-shorts-dev/ubuntu-rssreader-app/trunk

Proposed by Carla Sella
Status: Superseded
Proposed branch: lp:~carla-sella/ubuntu-rssreader-app/all-tests-fixed
Merge into: lp:~ubuntu-shorts-dev/ubuntu-rssreader-app/trunk
Diff against target: 211 lines (+55/-26)
2 files modified
tests/autopilot/ubuntu_rssreader_app/emulators.py (+19/-7)
tests/autopilot/ubuntu_rssreader_app/tests/test_rssreader.py (+36/-19)
To merge this branch: bzr merge lp:~carla-sella/ubuntu-rssreader-app/all-tests-fixed
Reviewer Review Type Date Requested Status
Ubuntu Phone Apps Jenkins Bot continuous-integration Needs Fixing
Ubuntu Shorts Developers Pending
Review via email: mp+195138@code.launchpad.net

This proposal has been superseded by a proposal from 2013-11-14.

Commit message

Autopilot tests for ubuntu-rssreader-app.

Description of the change

Fixed all tests on desktop and device.

To post a comment you must log in.
Revision history for this message
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote :
review: Needs Fixing (continuous-integration)
153. By Carla Sella <email address hidden>

Fixing activity indicator issue.

Revision history for this message
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote :
review: Needs Fixing (continuous-integration)
154. By Carla Sella <email address hidden>

Working on activity indicator issue.

Revision history for this message
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
Joey Chan (qqworini) wrote :

Carla, if u want me to approve it, pls tell me :)

Revision history for this message
Carla Sella (carla-sella) wrote :

@ Joey: thanks but I am having some issues with activity indicator that have to be fixed first.

Unmerged revisions

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'tests/autopilot/ubuntu_rssreader_app/emulators.py'
--- tests/autopilot/ubuntu_rssreader_app/emulators.py 2013-11-05 02:57:36 +0000
+++ tests/autopilot/ubuntu_rssreader_app/emulators.py 2013-11-13 22:02:46 +0000
@@ -33,12 +33,24 @@
33 requested = action33 requested = action
34 self.pointing_device.click_object(requested)34 self.pointing_device.click_object(requested)
3535
36 def select_many_retry(self, object_type, **kwargs):
37 """Returns the item that is searched for with app.select_many
38 In case of no item was not found (not created yet) a second attempt is
39 taken 1 second later"""
40 items = self.select_many(object_type, **kwargs)
41 tries = 10
42 while len(items) < 1 and tries > 0:
43 sleep(self.retry_delay)
44 items = self.select_many(object_type, **kwargs)
45 tries = tries - 1
46 return items
47
36 def get_action_popover(self):48 def get_action_popover(self):
37 # Returns all instances, but with current one as first index49 # Returns all instances, but with current one as first index
38 return self.select_many("ActionSelectionPopover")[0]50 return self.select_many_retry("ActionSelectionPopover")[0]
3951
40 def get_network_activity(self):52 def get_network_activity(self):
41 return self.select_single("ActivityIndicator", running="True")53 return self.wait.select_single("ActivityIndicator", running="True")
4254
43 #### choose topics page objects55 #### choose topics page objects
4456
@@ -64,7 +76,7 @@
64 return self.wait_select_single("TopicComponent", topicName=name)76 return self.wait_select_single("TopicComponent", topicName=name)
6577
66 def get_feedlist_feed(self, feed):78 def get_feedlist_feed(self, feed):
67 return self.select_single("FeedComponent", text=feed)79 return self.wait_select_single("FeedComponent", text=feed)
6880
69 def get_add_a_topic(self):81 def get_add_a_topic(self):
70 return self.select_single("QQuickItem", objectName="addTopic")82 return self.select_single("QQuickItem", objectName="addTopic")
@@ -105,6 +117,10 @@
105 return self.wait_select_single(117 return self.wait_select_single(
106 "RssFeedPage", objectName="rssfeedpage")118 "RssFeedPage", objectName="rssfeedpage")
107119
120 def get_shorts_tab(self):
121 return self.wait_select_single(
122 "ShortsTab", objectName="Tab0")
123
108 def get_topics(self):124 def get_topics(self):
109 return self.select_single("QQuickListView", objectName="topiclist")125 return self.select_single("QQuickListView", objectName="topiclist")
110126
@@ -143,10 +159,6 @@
143 def get_editfeed_done_button(self):159 def get_editfeed_done_button(self):
144 return self.wait_select_single("Button", objectName="doneButton")160 return self.wait_select_single("Button", objectName="doneButton")
145161
146 def get_activityIndicator(self):
147 return self.wait_select_single(
148 "ActivityIndicator", objectName="activityindicator")
149
150 def get_topic_tab(self, topic):162 def get_topic_tab(self, topic):
151 return self.wait_select_single("TopicTab", title=topic)163 return self.wait_select_single("TopicTab", title=topic)
152164
153165
=== modified file 'tests/autopilot/ubuntu_rssreader_app/tests/test_rssreader.py'
--- tests/autopilot/ubuntu_rssreader_app/tests/test_rssreader.py 2013-11-05 23:54:44 +0000
+++ tests/autopilot/ubuntu_rssreader_app/tests/test_rssreader.py 2013-11-13 22:02:46 +0000
@@ -28,9 +28,9 @@
2828
29 #wait for any updates to finish before beginning tests29 #wait for any updates to finish before beginning tests
30 try:30 try:
31 self.main_view.get_activityIndicator().running.wait_for(False)31 self.main_view.get_network_activity().wait_until_destroyed(timeout=10)
32 except:32 except:
33 self.assertThat(33 self.assertThat(
34 self.main_view.get_topics_page, Eventually(NotEquals(None)))34 self.main_view.get_topics_page, Eventually(NotEquals(None)))
3535
36 def _add_feed_and_topic(self, feed, topicName):36 def _add_feed_and_topic(self, feed, topicName):
@@ -39,7 +39,6 @@
3939
40 self.assertThat(self.main_view.get_topics_page,40 self.assertThat(self.main_view.get_topics_page,
41 Eventually(NotEquals(None)))41 Eventually(NotEquals(None)))
42
43 #open toolbar42 #open toolbar
44 logger.debug("opening toolbar")43 logger.debug("opening toolbar")
45 toolbar = self.main_view.open_toolbar()44 toolbar = self.main_view.open_toolbar()
@@ -114,16 +113,13 @@
114 feedlistpage = self.main_view.get_feed_management_page()113 feedlistpage = self.main_view.get_feed_management_page()
115 self.assertThat(feedlistpage.visible, Eventually(Equals(True)))114 self.assertThat(feedlistpage.visible, Eventually(Equals(True)))
116115
117 #select topic
118 logger.debug("grabbing topic")
119 self._get_topic(topicName)
120
121 ##select feed116 ##select feed
122 logger.debug("assert feed")117 logger.debug("assert feed")
123 self.assertThat(lambda: self.main_view.get_feedlist_feed(feedName),118 self.assertThat(self.main_view.get_feedlist_feed(feedName).text,
124 Eventually(Not(Is(None))))119 Equals(feedName))
125 logger.debug("grabbing feed")120 logger.debug("grabbing feed")
126 feed = self.main_view.get_feedlist_feed(feedName)121 feed = self.main_view.get_feedlist_feed(feedName)
122 feedLabel = feed.select_single('Label', text = feedName)
127123
128 self.assertThat(self.main_view.get_feed_management_page,124 self.assertThat(self.main_view.get_feed_management_page,
129 Eventually(NotEquals(None)))125 Eventually(NotEquals(None)))
@@ -131,7 +127,7 @@
131 #swipe to delete feed127 #swipe to delete feed
132 startX = int(feedlistpage.x + feedlistpage.width * 0.30)128 startX = int(feedlistpage.x + feedlistpage.width * 0.30)
133 stopX = int(feedlistpage.x + feedlistpage.width)129 stopX = int(feedlistpage.x + feedlistpage.width)
134 lineY = feed.globalRect[1]130 lineY = int(feedLabel.globalRect[1])
135131
136 #swipe to remove the feed132 #swipe to remove the feed
137 self.pointing_device.move(startX, lineY)133 self.pointing_device.move(startX, lineY)
@@ -183,6 +179,7 @@
183179
184 #select topic180 #select topic
185 topic = self._get_topic(topicName)181 topic = self._get_topic(topicName)
182 topicLabel = topic.select_single("Label", text=topicName)
186183
187 topicmanagementpage = self.main_view.get_feed_management_page()184 topicmanagementpage = self.main_view.get_feed_management_page()
188 self.assertThat(self.main_view.get_feed_management_page,185 self.assertThat(self.main_view.get_feed_management_page,
@@ -191,7 +188,7 @@
191 #swipe to delete topic188 #swipe to delete topic
192 startX = int(topicmanagementpage.x + topicmanagementpage.width * 0.30)189 startX = int(topicmanagementpage.x + topicmanagementpage.width * 0.30)
193 stopX = int(topicmanagementpage.x + topicmanagementpage.width)190 stopX = int(topicmanagementpage.x + topicmanagementpage.width)
194 lineY = topic.globalRect[1]191 lineY = topicLabel.globalRect[1]
195192
196 #swipe to remove the topic193 #swipe to remove the topic
197 self.pointing_device.move(startX, lineY)194 self.pointing_device.move(startX, lineY)
@@ -207,9 +204,13 @@
207 self.assertThat(self.main_view.get_feed_management_page().objectName,204 self.assertThat(self.main_view.get_feed_management_page().objectName,
208 Eventually(Equals("topicmanagement")))205 Eventually(Equals("topicmanagement")))
209206
210 #check that it is gone207 #check topic has been removed
211 topic = self.main_view.get_feedlist_topic(topicName)208 logger.debug("assert removed topic")
212 self.assertThat(topic, NotEquals(topicName))209 try:
210 self.assertThat(self._get_topic(topicName), Eventually(Equals(None)))
211 except:
212 print('Topic removed.')
213
213214
214 def _input_new_feed(self, rssFeed):215 def _input_new_feed(self, rssFeed):
215 inputField = self.main_view.get_append_feed_input_box()216 inputField = self.main_view.get_append_feed_input_box()
@@ -236,7 +237,7 @@
236 def _get_topic(self, topicName, timeout=10):237 def _get_topic(self, topicName, timeout=10):
237 logger.debug("_get_topic: assert topics")238 logger.debug("_get_topic: assert topics")
238 self.assertThat(lambda: self.main_view.get_feedlist_topic(topicName),239 self.assertThat(lambda: self.main_view.get_feedlist_topic(topicName),
239 Eventually(Not(Is(None))))240 Eventually(Not(Is([]))))
240 logger.debug("_get_topic: grab topic")241 logger.debug("_get_topic: grab topic")
241 topic = self.main_view.get_feedlist_topic(topicName)242 topic = self.main_view.get_feedlist_topic(topicName)
242 logger.debug("_get_topic: click topic")243 logger.debug("_get_topic: click topic")
@@ -258,6 +259,15 @@
258 feedName = "Canonical"259 feedName = "Canonical"
259 topicName = "CanonicalTopic"260 topicName = "CanonicalTopic"
260261
262 #just for timing issues
263 self.assertThat(self.main_view.get_shorts_tab(),
264 NotEquals(None))
265 self.assertThat(self.main_view.get_shorts_tab().objectName,
266 Eventually(Equals("Tab0")))
267 self.assertThat(self.main_view.get_shorts_tab().visible,
268 Eventually(Equals(True)))
269
270 #add feed and topic
261 self._add_feed_and_topic(feed, topicName)271 self._add_feed_and_topic(feed, topicName)
262272
263 #remove added feed273 #remove added feed
@@ -275,6 +285,14 @@
275 feedName = "Canonical"285 feedName = "Canonical"
276 topicName = "CanonicalTopic"286 topicName = "CanonicalTopic"
277287
288 #just for timing issues
289 self.assertThat(self.main_view.get_shorts_tab(),
290 NotEquals(None))
291 self.assertThat(self.main_view.get_shorts_tab().objectName,
292 Eventually(Equals("Tab0")))
293 self.assertThat(self.main_view.get_shorts_tab().visible,
294 Eventually(Equals(True)))
295
278 #add topic and feed296 #add topic and feed
279 self._add_feed_and_topic(feed, topicName)297 self._add_feed_and_topic(feed, topicName)
280298
@@ -290,11 +308,10 @@
290308
291 #wait for any updates to finish before continuing tests309 #wait for any updates to finish before continuing tests
292 try:310 try:
293 self.main_view.get_activityIndicator().running.wait_for(False)311 self.main_view.get_network_activity().running.wait_for(False)
294 except:312 except:
295 self.assertThat(313 self.assertThat(
296 lambda: self.main_view.get_topic_tab(topicName),314 self.main_view.get_topic_tab(topicName), Not(Is([])))
297 Eventually(NotEquals(None)))
298315
299 #open toolbar316 #open toolbar
300 toolbar = self.main_view.open_toolbar()317 toolbar = self.main_view.open_toolbar()
@@ -308,7 +325,7 @@
308325
309 #select feed326 #select feed
310 editFeed = self.main_view.get_feed_in_feedlist(topicName, feedName)327 editFeed = self.main_view.get_feed_in_feedlist(topicName, feedName)
311 self.assertThat(editFeed, NotEquals(None))328 self.assertThat(editFeed, Not(Is([])))
312 self.pointing_device.click_object(editFeed)329 self.pointing_device.click_object(editFeed)
313330
314 #verify we are on RSS feed page331 #verify we are on RSS feed page

Subscribers

People subscribed via source and target branches