Merge lp:~carla-sella/ubuntu-rssreader-app/view_feeds_test-new into lp:~ubuntu-shorts-dev/ubuntu-rssreader-app/trunk
- view_feeds_test-new
- Merge into trunk
Proposed by
Carla Sella
Status: | Merged |
---|---|
Approved by: | Joey Chan |
Approved revision: | 95 |
Merged at revision: | 95 |
Proposed branch: | lp:~carla-sella/ubuntu-rssreader-app/view_feeds_test-new |
Merge into: | lp:~ubuntu-shorts-dev/ubuntu-rssreader-app/trunk |
Diff against target: |
431 lines (+142/-125) 5 files modified
RssFeedPage.qml (+2/-0) listview/ListModePage.qml (+1/-0) rssreader-app.qml (+1/-0) tests/autopilot/ubuntu_rssreader_app/emulators.py (+52/-17) tests/autopilot/ubuntu_rssreader_app/tests/test_rssreader.py (+86/-108) |
To merge this branch: | bzr merge lp:~carla-sella/ubuntu-rssreader-app/view_feeds_test-new |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Ubuntu Phone Apps Jenkins Bot | continuous-integration | Approve | |
Ubuntu Shorts Developers | Pending | ||
Review via email: mp+189500@code.launchpad.net |
Commit message
Autopilot tests for ubuntu-
Description of the change
Fixed all tests, and fixed removal of feed by swiping.
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)
Revision history for this message
Ubuntu Phone Apps Jenkins Bot (ubuntu-phone-apps-jenkins-bot) : | # |
review:
Approve
(continuous-integration)
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'RssFeedPage.qml' | |||
2 | --- RssFeedPage.qml 2013-10-05 10:51:56 +0000 | |||
3 | +++ RssFeedPage.qml 2013-10-06 13:11:36 +0000 | |||
4 | @@ -15,6 +15,7 @@ | |||
5 | 15 | import "databasemodule_v2.js" as DB | 15 | import "databasemodule_v2.js" as DB |
6 | 16 | 16 | ||
7 | 17 | Page { | 17 | Page { |
8 | 18 | objectName: "rssfeedpage" | ||
9 | 18 | id: pageRoot | 19 | id: pageRoot |
10 | 19 | 20 | ||
11 | 20 | property string rssModelUrl: "" | 21 | property string rssModelUrl: "" |
12 | @@ -45,6 +46,7 @@ | |||
13 | 45 | } | 46 | } |
14 | 46 | 47 | ||
15 | 47 | tools: ToolbarItems { | 48 | tools: ToolbarItems { |
16 | 49 | objectName: "pageBackBtn" | ||
17 | 48 | id: toolbar | 50 | id: toolbar |
18 | 49 | 51 | ||
19 | 50 | ToolbarButton { | 52 | ToolbarButton { |
20 | 51 | 53 | ||
21 | === modified file 'listview/ListModePage.qml' | |||
22 | --- listview/ListModePage.qml 2013-10-05 14:41:06 +0000 | |||
23 | +++ listview/ListModePage.qml 2013-10-06 13:11:36 +0000 | |||
24 | @@ -142,6 +142,7 @@ | |||
25 | 142 | color: model.status == "1" ? Qt.rgba(0, 0, 0, 0.3) : Qt.rgba(0, 0, 0, 0.0) | 142 | color: model.status == "1" ? Qt.rgba(0, 0, 0, 0.3) : Qt.rgba(0, 0, 0, 0.0) |
26 | 143 | 143 | ||
27 | 144 | ListItems.Subtitled { | 144 | ListItems.Subtitled { |
28 | 145 | objectName: "feedlistitems" | ||
29 | 145 | id: listItem | 146 | id: listItem |
30 | 146 | 147 | ||
31 | 147 | text: model.title | 148 | text: model.title |
32 | 148 | 149 | ||
33 | === modified file 'rssreader-app.qml' | |||
34 | --- rssreader-app.qml 2013-10-05 09:34:23 +0000 | |||
35 | +++ rssreader-app.qml 2013-10-06 13:11:36 +0000 | |||
36 | @@ -112,6 +112,7 @@ | |||
37 | 112 | id: mainCommonToolbar | 112 | id: mainCommonToolbar |
38 | 113 | 113 | ||
39 | 114 | back: ToolbarButton { | 114 | back: ToolbarButton { |
40 | 115 | objectName: "rsspagerefreshbutton" | ||
41 | 115 | action: Action { | 116 | action: Action { |
42 | 116 | text: i18n.tr("Refresh") | 117 | text: i18n.tr("Refresh") |
43 | 117 | iconSource: Qt.resolvedUrl("./icons_tmp/reload.svg") | 118 | iconSource: Qt.resolvedUrl("./icons_tmp/reload.svg") |
44 | 118 | 119 | ||
45 | === modified file 'tests/autopilot/ubuntu_rssreader_app/emulators.py' | |||
46 | --- tests/autopilot/ubuntu_rssreader_app/emulators.py 2013-10-03 19:48:34 +0000 | |||
47 | +++ tests/autopilot/ubuntu_rssreader_app/emulators.py 2013-10-06 13:11:36 +0000 | |||
48 | @@ -43,6 +43,18 @@ | |||
49 | 43 | tries = tries - 1 | 43 | tries = tries - 1 |
50 | 44 | return item | 44 | return item |
51 | 45 | 45 | ||
52 | 46 | def select_many_retry(self, object_type, **kwargs): | ||
53 | 47 | """Returns the item that is searched for with app.select_many | ||
54 | 48 | In case of no item was not found (not created yet) a second attempt is | ||
55 | 49 | taken 1 second later""" | ||
56 | 50 | items = self.select_many(object_type, **kwargs) | ||
57 | 51 | tries = 10 | ||
58 | 52 | while len(items) < 1 and tries > 0: | ||
59 | 53 | sleep(self.retry_delay) | ||
60 | 54 | items = self.select_many(object_type, **kwargs) | ||
61 | 55 | tries = tries - 1 | ||
62 | 56 | return items | ||
63 | 57 | |||
64 | 46 | def get_action_popover(self): | 58 | def get_action_popover(self): |
65 | 47 | # Returns all instances, but with current one as first index | 59 | # Returns all instances, but with current one as first index |
66 | 48 | return self.select_many("ActionSelectionPopover")[0] | 60 | return self.select_many("ActionSelectionPopover")[0] |
67 | @@ -77,42 +89,45 @@ | |||
68 | 77 | return self.select_single("FeedComponent", text=feed) | 89 | return self.select_single("FeedComponent", text=feed) |
69 | 78 | 90 | ||
70 | 79 | def get_add_a_topic(self): | 91 | def get_add_a_topic(self): |
72 | 80 | return self.select_single("QQuickItem", objectName = "addTopic") | 92 | return self.select_single("QQuickItem", objectName="addTopic") |
73 | 81 | 93 | ||
74 | 82 | #### edit feed page objects | 94 | #### edit feed page objects |
75 | 83 | def get_delete_button(self): | 95 | def get_delete_button(self): |
77 | 84 | return self.select_single("Button", objectName = "deleteButton") | 96 | return self.select_single("Button", objectName="deleteButton") |
78 | 85 | 97 | ||
79 | 86 | 98 | ||
80 | 87 | #### Page Calls | 99 | #### Page Calls |
81 | 88 | 100 | ||
82 | 89 | def get_append_page(self): | 101 | def get_append_page(self): |
84 | 90 | return self.select_single("AppendFeedPage", objectName = "appendfeedpage") | 102 | return self.select_single("AppendFeedPage", objectName="appendfeedpage") |
85 | 91 | 103 | ||
86 | 92 | def get_topics_page(self): | 104 | def get_topics_page(self): |
88 | 93 | return self.select_single("ChooseTopicPage", objectName = "choosetopicpage") | 105 | return self.select_single("ChooseTopicPage", objectName="choosetopicpage") |
89 | 94 | 106 | ||
90 | 95 | def get_feedlist_page(self): | 107 | def get_feedlist_page(self): |
92 | 96 | return self.select_single("FeedListPage", objectName = "feedlistpage") | 108 | return self.select_single_retry("FeedListPage", objectName="feedlistpage") |
93 | 97 | 109 | ||
94 | 98 | def get_articlelist_page(self): | 110 | def get_articlelist_page(self): |
96 | 99 | return self.select_single("ArticleListPage", objectName = "articlelistpage") | 111 | return self.select_single("ArticleListPage", objectName="articlelistpage") |
97 | 100 | 112 | ||
98 | 101 | def get_feed_management_page(self): | 113 | def get_feed_management_page(self): |
100 | 102 | return self.select_single_retry("TopicManagement", objectName = "topicmanagement") | 114 | return self.select_single_retry("TopicManagement", objectName="topicmanagement") |
101 | 103 | 115 | ||
102 | 104 | def get_edit_feed_page(self): | 116 | def get_edit_feed_page(self): |
104 | 105 | return self.select_single("EditFeed", objectName = "editfeedpage") | 117 | return self.select_single("EditFeed", objectName="editfeedpage") |
105 | 106 | 118 | ||
106 | 107 | def get_manage_topics_page(self): | 119 | def get_manage_topics_page(self): |
107 | 108 | return self.select_single("ManageTopicsPage") | 120 | return self.select_single("ManageTopicsPage") |
108 | 109 | 121 | ||
109 | 122 | def get_rss_feed_page(self): | ||
110 | 123 | return self.select_single_retry( | ||
111 | 124 | "RssFeedPage", objectName="rssfeedpage") | ||
112 | 110 | #### | 125 | #### |
113 | 111 | def get_topics(self): | 126 | def get_topics(self): |
115 | 112 | return self.select_single("QQuickListView", objectName = "topiclist") | 127 | return self.select_single("QQuickListView", objectName="topiclist") |
116 | 113 | 128 | ||
117 | 114 | def get_feeds(self): | 129 | def get_feeds(self): |
119 | 115 | return self.select_many("Standard", objectName = "FeedListItem") | 130 | return self.select_many("Standard", objectName="FeedListItem") |
120 | 116 | 131 | ||
121 | 117 | def get_header(self): | 132 | def get_header(self): |
122 | 118 | return self.select_many("Header") | 133 | return self.select_many("Header") |
123 | @@ -121,26 +136,46 @@ | |||
124 | 121 | return self.select_single("Subtitled", text = "All articles") | 136 | return self.select_single("Subtitled", text = "All articles") |
125 | 122 | 137 | ||
126 | 123 | def get_refresh_button(self): | 138 | def get_refresh_button(self): |
128 | 124 | return self.select_single("AbstractButton", objectName = "refreshbutton") | 139 | return self.select_single("AbstractButton", objectName="refreshbutton") |
129 | 125 | 140 | ||
130 | 126 | def get_list_view_button(self): | 141 | def get_list_view_button(self): |
132 | 127 | return self.select_single("AbstractButton", objectName = "listviewbutton") | 142 | return self.select_single("AbstractButton", objectName="listviewbutton") |
133 | 128 | 143 | ||
134 | 129 | def get_add_feed_button(self): | 144 | def get_add_feed_button(self): |
136 | 130 | return self.select_single("AbstractButton", objectName = "addfeedbutton") | 145 | return self.select_single("AbstractButton", objectName="addfeedbutton") |
137 | 131 | 146 | ||
138 | 132 | def get_edit_topic_button(self): | 147 | def get_edit_topic_button(self): |
140 | 133 | return self.select_single("AbstractButton", objectName = "edittopicbutton") | 148 | return self.select_single("AbstractButton", objectName="edittopicbutton") |
141 | 134 | 149 | ||
142 | 135 | def get_refresh_feed_dialog(self): | 150 | def get_refresh_feed_dialog(self): |
144 | 136 | return self.select_single("Dialog", objectName = "refreshWaitDialog") | 151 | return self.select_single("Dialog", objectName="refreshWaitDialog") |
145 | 137 | 152 | ||
146 | 138 | def get_refresh_dialog_cancel_button(self): | 153 | def get_refresh_dialog_cancel_button(self): |
148 | 139 | return self.select_single("Button", objectName = "refreshCancel") | 154 | return self.select_single("Button", objectName="refreshCancel") |
149 | 140 | 155 | ||
150 | 141 | def get_toolbar_back_button(self): | 156 | def get_toolbar_back_button(self): |
152 | 142 | return self.select_single("ActionItem", text = "Back") | 157 | return self.select_single("ActionItem", text="Back") |
153 | 143 | 158 | ||
154 | 144 | def get_activityIndicator(self): | 159 | def get_activityIndicator(self): |
155 | 145 | return self.select_single_retry( | 160 | return self.select_single_retry( |
156 | 146 | "ActivityIndicator", objectName="activityindicator") | 161 | "ActivityIndicator", objectName="activityindicator") |
157 | 162 | |||
158 | 163 | def get_canonical_tab(self): | ||
159 | 164 | return self.select_single_retry( | ||
160 | 165 | "TopicTab", title="CanonicalTopic") | ||
161 | 166 | |||
162 | 167 | def get_canonical_feed_in_feedlist(self): | ||
163 | 168 | canonicalTab=self.get_canonical_tab() | ||
164 | 169 | itemList= canonicalTab.select_many( | ||
165 | 170 | "Subtitled", objectName="feedlistitems") | ||
166 | 171 | for item in itemList: | ||
167 | 172 | splititem = item.subText.split(",") | ||
168 | 173 | if splititem[1] == " Canonical": | ||
169 | 174 | return item | ||
170 | 175 | |||
171 | 176 | def get_page_back_btn(self): | ||
172 | 177 | back_btn = self.select_single( | ||
173 | 178 | "ToolbarItems", objectName="pageBackBtn") | ||
174 | 179 | back_btn_ActionItem = back_btn.select_single( | ||
175 | 180 | "ActionItem", text="Back") | ||
176 | 181 | return back_btn_ActionItem | ||
177 | 147 | 182 | ||
178 | === modified file 'tests/autopilot/ubuntu_rssreader_app/tests/test_rssreader.py' | |||
179 | --- tests/autopilot/ubuntu_rssreader_app/tests/test_rssreader.py 2013-10-03 19:48:34 +0000 | |||
180 | +++ tests/autopilot/ubuntu_rssreader_app/tests/test_rssreader.py 2013-10-06 13:11:36 +0000 | |||
181 | @@ -101,33 +101,6 @@ | |||
182 | 101 | logger.debug("input topic") | 101 | logger.debug("input topic") |
183 | 102 | self._input_new_topic(topicName) | 102 | self._input_new_topic(topicName) |
184 | 103 | 103 | ||
185 | 104 | #A new topic is now automatically selected as the topic | ||
186 | 105 | #select new topic | ||
187 | 106 | #logger.debug("assert new topic") | ||
188 | 107 | #newNumTopics = len(self.main_view.get_choose_topics_items) | ||
189 | 108 | #self.assertThat(newNumTopics, Eventually(Equals(numTopics + 1))) | ||
190 | 109 | #logger.debug("grab new topic") | ||
191 | 110 | #topics = self.main_view.get_choose_topics_items() | ||
192 | 111 | #numTopics = len(topics) | ||
193 | 112 | #logger.debug("found " + str(numTopics) + " topics") | ||
194 | 113 | #for topic in topics: | ||
195 | 114 | # logger.debug("Topic: ") + str(topic.text) | ||
196 | 115 | #newTopic = self.main_view.get_choose_topics_items()[-1] | ||
197 | 116 | #newTopic = topics[-1] | ||
198 | 117 | #logger.debug("click new topic, ") + str(newTopic.text) | ||
199 | 118 | #self.pointing_device.click_object(newTopic) | ||
200 | 119 | #logger.debug("topic clicked") | ||
201 | 120 | |||
202 | 121 | #wait for any updates to finish before beginning tests | ||
203 | 122 | #this transition currently locks the device https://bugs.launchpad.net/ubuntu-rssreader-app/+bug/1221893 | ||
204 | 123 | #logger.debug("check for network updates") | ||
205 | 124 | #self.assertThat(self.main_view.get_network_activity, Eventually(Not(Is(None)))) | ||
206 | 125 | #logger.debug("assert no network updates") | ||
207 | 126 | #self.assertThat(self.main_view.get_network_activity, Eventually(Is(None))) | ||
208 | 127 | #logger.debug("assert we're back on main view") | ||
209 | 128 | #self.assertThat(self.main_view.visible, Eventually(Equals(True))) | ||
210 | 129 | #logger.debug("finished with add_feed_topic") | ||
211 | 130 | |||
212 | 131 | def _remove_feed(self, feedName, topicName): | 104 | def _remove_feed(self, feedName, topicName): |
213 | 132 | logger.debug("removing feed") | 105 | logger.debug("removing feed") |
214 | 133 | #open toolbar | 106 | #open toolbar |
215 | @@ -140,33 +113,59 @@ | |||
216 | 140 | 113 | ||
217 | 141 | #verify we are on the Management page | 114 | #verify we are on the Management page |
218 | 142 | logger.debug("assert feedlist page") | 115 | logger.debug("assert feedlist page") |
221 | 143 | feedlistpage = lambda: self.main_view.get_feed_management_page().visible | 116 | feedlistpage = self.main_view.get_feed_management_page() |
222 | 144 | self.assertThat(feedlistpage, Eventually(Equals(True))) | 117 | self.assertThat(feedlistpage.visible, Eventually(Equals(True))) |
223 | 145 | 118 | ||
224 | 146 | #select topic | 119 | #select topic |
225 | 147 | logger.debug("grabbing topic") | 120 | logger.debug("grabbing topic") |
226 | 148 | self._get_topic(topicName) | 121 | self._get_topic(topicName) |
227 | 149 | 122 | ||
229 | 150 | #select feed | 123 | ##select feed |
230 | 151 | logger.debug("assert feed") | 124 | logger.debug("assert feed") |
231 | 152 | self.assertThat(lambda: self.main_view.get_feedlist_feed(feedName), Eventually(Not(Is(None)))) | 125 | self.assertThat(lambda: self.main_view.get_feedlist_feed(feedName), Eventually(Not(Is(None)))) |
232 | 153 | logger.debug("grabbing feed") | 126 | logger.debug("grabbing feed") |
233 | 154 | feed = self.main_view.get_feedlist_feed(feedName) | 127 | feed = self.main_view.get_feedlist_feed(feedName) |
249 | 155 | logger.debug("clicking feed") | 128 | |
250 | 156 | self.pointing_device.click_object(feed) | 129 | |
251 | 157 | 130 | ||
252 | 158 | #verify we are on the Edit Feed page | 131 | |
253 | 159 | logger.debug("assert editfeedpage") | 132 | self.assertThat( |
254 | 160 | editFeedPage = self.main_view.get_edit_feed_page() | 133 | self.main_view.get_feed_management_page, |
255 | 161 | self.assertThat(editFeedPage.visible, Eventually(Equals(True))) | 134 | Eventually(NotEquals(None))) |
256 | 162 | 135 | ||
257 | 163 | #press delete button | 136 | #swipe to delete canonical topic |
258 | 164 | logger.debug("assert delete button") | 137 | startX = int(feedlistpage.x + feedlistpage.width * 0.30) |
259 | 165 | self.assertThat(self.main_view.get_delete_button, Eventually(Not(Is(None)))) | 138 | stopX = int(feedlistpage.x + feedlistpage.width) |
260 | 166 | logger.debug("grab delete button") | 139 | lineY = feed.globalRect[1] |
261 | 167 | deleteButton = self.main_view.get_delete_button() | 140 | |
262 | 168 | logger.debug("click delete button") | 141 | #swipe to remove the topic |
263 | 169 | self.pointing_device.click_object(deleteButton) | 142 | self.pointing_device.move(startX, lineY) |
264 | 143 | #self.pointing_device.click() | ||
265 | 144 | self.pointing_device.drag(startX, lineY, stopX, lineY) | ||
266 | 145 | |||
267 | 146 | |||
268 | 147 | |||
269 | 148 | |||
270 | 149 | |||
271 | 150 | |||
272 | 151 | |||
273 | 152 | |||
274 | 153 | |||
275 | 154 | #logger.debug("clicking feed") | ||
276 | 155 | #self.pointing_device.click_object(feed) | ||
277 | 156 | |||
278 | 157 | ##verify we are on the Edit Feed page | ||
279 | 158 | #logger.debug("assert editfeedpage") | ||
280 | 159 | #editFeedPage = self.main_view.get_edit_feed_page() | ||
281 | 160 | #self.assertThat(editFeedPage.visible, Eventually(Equals(True))) | ||
282 | 161 | |||
283 | 162 | ##press delete button | ||
284 | 163 | #logger.debug("assert delete button") | ||
285 | 164 | #self.assertThat(self.main_view.get_delete_button, Eventually(Not(Is(None)))) | ||
286 | 165 | #logger.debug("grab delete button") | ||
287 | 166 | #deleteButton = self.main_view.get_delete_button() | ||
288 | 167 | #logger.debug("click delete button") | ||
289 | 168 | #self.pointing_device.click_object(deleteButton) | ||
290 | 170 | 169 | ||
291 | 171 | #verify we are on the Management page | 170 | #verify we are on the Management page |
292 | 172 | logger.debug("assert feedlistpage") | 171 | logger.debug("assert feedlistpage") |
293 | @@ -210,8 +209,6 @@ | |||
294 | 210 | #select topic | 209 | #select topic |
295 | 211 | topic = self._get_topic(topicName) | 210 | topic = self._get_topic(topicName) |
296 | 212 | 211 | ||
297 | 213 | #topicsPage = self.main_view.get_manage_topics_page() | ||
298 | 214 | #self.assertThat(self.main_view.get_manage_topics_page, Eventually(NotEquals(None))) | ||
299 | 215 | topicmanagementpage = self.main_view.get_feed_management_page() | 212 | topicmanagementpage = self.main_view.get_feed_management_page() |
300 | 216 | self.assertThat(self.main_view.get_feed_management_page, Eventually(NotEquals(None))) | 213 | self.assertThat(self.main_view.get_feed_management_page, Eventually(NotEquals(None))) |
301 | 217 | 214 | ||
302 | @@ -225,9 +222,11 @@ | |||
303 | 225 | self.pointing_device.click() | 222 | self.pointing_device.click() |
304 | 226 | self.pointing_device.drag(startX, lineY, stopX, lineY) | 223 | self.pointing_device.drag(startX, lineY, stopX, lineY) |
305 | 227 | 224 | ||
309 | 228 | #verify we are on the Management page *** for timing issues *** | 225 | #verify we are on the Topic Management page **for timing issue |
310 | 229 | feedmanagementpage = self.main_view.get_feed_management_page() | 226 | topicmanagementpage = self.main_view.get_feed_management_page() |
311 | 230 | self.assertThat(feedmanagementpage, NotEquals(None)) | 227 | self.assertThat(self.main_view.get_feed_management_page, Eventually(NotEquals(None))) |
312 | 228 | self.assertThat(self.main_view.get_feed_management_page().visible, Eventually(Equals(True))) | ||
313 | 229 | self.assertThat(self.main_view.get_feed_management_page().objectName, Eventually(Equals("topicmanagement"))) | ||
314 | 231 | 230 | ||
315 | 232 | #check that it is gone | 231 | #check that it is gone |
316 | 233 | topic = self.main_view.get_feedlist_topic(topicName) | 232 | topic = self.main_view.get_feedlist_topic(topicName) |
317 | @@ -288,77 +287,56 @@ | |||
318 | 288 | #remove added topic | 287 | #remove added topic |
319 | 289 | self._remove_topic(topicName) | 288 | self._remove_topic(topicName) |
320 | 290 | 289 | ||
321 | 291 | |||
322 | 292 | @unittest.skip("Topic page broken, see https://bugs.launchpad.net/ubuntu-rssreader-app/+bug/1206248") | ||
323 | 293 | def test_view_feeds(self): | 290 | def test_view_feeds(self): |
324 | 294 | """test view feeds""" | 291 | """test view feeds""" |
325 | 295 | 292 | ||
329 | 296 | self.assertThat(self.main_view.get_topics_page(), NotEquals(None)) | 293 | feed = "http://www.canonical.com/rss.xml" |
330 | 297 | 294 | feedName = "Canonical" | |
331 | 298 | #-----> view all news: | 295 | topicName = "CanonicalTopic" |
332 | 296 | |||
333 | 297 | #add topic and feed | ||
334 | 298 | self._add_feed_and_topic(feed, topicName) | ||
335 | 299 | |||
336 | 300 | #verify we are on the CanonicalTopic Tab | ||
337 | 301 | canonicalTab = self.main_view.get_canonical_tab() | ||
338 | 302 | self.assertThat(lambda: canonicalTab.visible, Eventually(Equals(True))) | ||
339 | 303 | |||
340 | 299 | #open toolbar | 304 | #open toolbar |
341 | 300 | toolbar = self.main_view.open_toolbar() | 305 | toolbar = self.main_view.open_toolbar() |
342 | 301 | 306 | ||
371 | 302 | #click on add reads toolbar button | 307 | #click on list view toolbar button |
372 | 303 | toolbar.click_button("List view") | 308 | toolbar.click_button("rsspagerefreshbutton") |
373 | 304 | 309 | ||
374 | 305 | #verify we are on the Feeds page | 310 | #wait for any updates to finish before continuing tests |
375 | 306 | feedlistpage = self.main_view.get_feedlist_page() | 311 | try: |
376 | 307 | self.assertThat(feedlistpage.visible, Eventually(Equals(True))) | 312 | self.main_view.get_activityIndicator().running.wait_for(False) |
377 | 308 | 313 | except: | |
378 | 309 | #select All articles | 314 | self.assertThat( |
379 | 310 | allFeeds = self.main_view.get_all_feeds() | 315 | lambda:self.main_view.get_canonical_tab, |
380 | 311 | self.assertThat(allFeeds, NotEquals("None")) | 316 | Eventually(NotEquals(None))) |
353 | 312 | self.pointing_device.click_object(allFeeds ) | ||
354 | 313 | |||
355 | 314 | #verify we are on the All articles page | ||
356 | 315 | articlelistpage = self.main_view.get_articlelist_page() | ||
357 | 316 | self.assertThat(articlelistpage.visible, Eventually(Equals(True))) | ||
358 | 317 | |||
359 | 318 | toolbar = self.main_view.open_toolbar() | ||
360 | 319 | |||
361 | 320 | #click on back toolbar button | ||
362 | 321 | toolbar.click_button("Back") | ||
363 | 322 | |||
364 | 323 | #verify we are on the Feeds page | ||
365 | 324 | feedlistpage = lambda: self.main_view.get_feedlist_page().visible | ||
366 | 325 | self.assertThat(feedlistpage, Eventually(Equals(True))) | ||
367 | 326 | |||
368 | 327 | #-----> view individual feed: | ||
369 | 328 | #add topic and feed | ||
370 | 329 | self._add_feed_and_topic() | ||
381 | 330 | 317 | ||
382 | 331 | #select Canonical feed | 318 | #select Canonical feed |
385 | 332 | canonicalFeed = lambda: self.main_view.get_canonical_feed_labelvisual() | 319 | canonicalFeed = self.main_view.get_canonical_feed_in_feedlist() |
386 | 333 | self.assertThat(canonicalFeed, Eventually(Not(Is(None)))) | 320 | self.assertThat(canonicalFeed, NotEquals(None)) |
387 | 334 | self.pointing_device.click_object(canonicalFeed) | 321 | self.pointing_device.click_object(canonicalFeed) |
388 | 335 | 322 | ||
392 | 336 | #verify we are on the Canonical page | 323 | #verify we are on RSS feed page |
393 | 337 | header = lambda: self.main_view.get_header()[0].title | 324 | rssfeedpage = self.main_view.get_rss_feed_page() |
394 | 338 | self.assertThat(header, Eventually(Equals("Canonical"))) | 325 | self.assertThat(rssfeedpage.visible, Eventually(Equals(True))) |
395 | 339 | 326 | ||
397 | 340 | #toggle toolbar | 327 | #open toolbar |
398 | 341 | toolbar = self.main_view.open_toolbar() | 328 | toolbar = self.main_view.open_toolbar() |
399 | 342 | 329 | ||
400 | 343 | #click on back toolbar button | 330 | #click on back toolbar button |
416 | 344 | toolbar.click_button("Back") | 331 | rssfeedpageBackBtn = self.main_view.get_page_back_btn() |
417 | 345 | 332 | self.pointing_device.click_object(rssfeedpageBackBtn) | |
418 | 346 | #verify we are on the Feeds page | 333 | |
419 | 347 | feedlistpage = lambda: self.main_view.get_feedlist_page().visible | 334 | #verify we are on the CanonicalTopic Tab |
420 | 348 | self.assertThat(feedlistpage, Eventually(Equals(True))) | 335 | canonicalTab = self.main_view.get_canonical_tab() |
421 | 349 | 336 | self.assertThat(lambda: canonicalTab.visible, Eventually(Equals(True))) | |
422 | 350 | #toggle toolbar | 337 | |
423 | 351 | toolbar = self.main_view.open_toolbar() | 338 | #remove added Canonical feed |
424 | 352 | 339 | self._remove_feed(feedName, topicName) | |
410 | 353 | #click on shorts toolbar button | ||
411 | 354 | toolbar.click_button("shorts") | ||
412 | 355 | |||
413 | 356 | #verify we are on the Shorts page | ||
414 | 357 | shortsPage = lambda: self.main_view.switch_to_tab_by_index(0).visible | ||
415 | 358 | self.assertThat(shortsPage, Eventually(Equals(True))) | ||
425 | 359 | 340 | ||
426 | 360 | #remove added Canonical topic | 341 | #remove added Canonical topic |
431 | 361 | self._remove_topic() | 342 | self._remove_topic(topicName) |
428 | 362 | |||
429 | 363 | #remove added Canonical feed | ||
430 | 364 | self._remove_feed() |
FAILED: Continuous integration, rev:95 91.189. 93.70:8080/ job/ubuntu- rssreader- app-ci/ 82/ 91.189. 93.70:8080/ job/generic- mediumtests/ 754 91.189. 93.70:8080/ job/ubuntu- rssreader- app-precise- amd64-ci/ 82 91.189. 93.70:8080/ job/ubuntu- rssreader- app-quantal- amd64-ci/ 82 91.189. 93.70:8080/ job/ubuntu- rssreader- app-raring- amd64-ci/ 82 91.189. 93.70:8080/ job/ubuntu- rssreader- app-saucy- amd64-ci/ 82
http://
Executed test runs:
UNSTABLE: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
SUCCESS: http://
Click here to trigger a rebuild: 91.189. 93.70:8080/ job/ubuntu- rssreader- app-ci/ 82/rebuild
http://