def test_1(self): """http://litmus.pculture.org/show_test.cgi?id=467 change sys language. 1. Open Preferences 2. Change the system default language 3. Restart Miro 4. Verify changes and reset 5. Restart Miro """ reg = MiroRegions() miro = MiroApp() #1. open preferences miro.open_prefs(reg) prefs = PreferencesPanel() general_tab = prefs.open_tab("General") general_tab.change_default_language( "Croatian") general_tab.close_prefs() miro.restart_miro() miro.open_prefs(reg, menu="Datoteka", option="Postavke") prefs = PreferencesPanel() general_tab = prefs.open_tab("General") general_tab.change_to_english_language(from_lang="Croatian") general_tab.close_prefs()
def test_721(self): """http://litmus.pculture.org/show_test.cgi?id=721 Menu New Search Watched 1. Add list of guide feeds (Static List) 2. From Sidebar -> New Search feed, create saved search channel 3. Verify Search saved 4. Cleanup """ reg = MiroRegions() miro = MiroApp() feed = "TestData" term = "monkey" folder_path = os.path.join(os.getenv("PCF_TEST_HOME"),"Miro","TestData","WatchTest") #1. add feed miro.add_watched_folder(reg, folder_path) if reg.s.exists("WatchTest"): miro.log_result("678","test_721") #2. search miro.tab_search(reg, term) miro.new_search_feed(reg, term,radio="Podcast",source=feed,watched=True) #Remove Watched Folder miro.open_prefs(reg) prefs = PreferencesPanel() folder_tab = prefs.open_tab("Folders") folder_tab.remove_watched_folder("ArtTest") folder_tab.close_prefs()
def test_441(self): """http://litmus.pculture.org/show_test.cgi?id=441 delete podcast item outside of miro 1. add TWO STUPID feed 2. download the Flip Faceitem 3. restart miro 4. delete the item 5. restart miro 6. verify item still deleted """ reg = MiroRegions() miro = MiroApp() #Set Global Preferences miro.open_prefs(reg) prefs = PreferencesPanel() general_tab = prefs.open_tab("General") general_tab.close_prefs() url = "http://qa.pculture.org/feeds_test/2stupidvideos.xml" feed = "TWO STUPID" title = "Flip" # item title updates when download completes #add feed and download flip face item miro.add_feed(reg, url,feed) miro.toggle_normal(reg) miro.tab_search(reg, title) if reg.m.exists("button_download.png",10): click(reg.m.getLastMatch()) miro.wait_for_item_in_tab(reg, tab="Videos",item=title) reg.m.find(title) reg.m.click(title) reg.mtb.click("tabsearch_clear.png") filepath = miro.store_item_path(reg) if os.path.exists(filepath): print "able to verify on os level" found_file = True miro.tab_search(reg, title) reg.m.click(title) type(Key.DELETE) if found_file == True: if os.path.exists(filepath): self.fail("file not deleted from filesystem") else: miro.quit_miro() miro.restart_miro() miro.click_podcast(reg, feed) miro.tab_search(reg, term) if not reg.m.exists(Pattern("button_download.png")): self.fail("no download button, file not deleted") else: reg.m.click(Pattern("button_download.png")) if miro.confirm_download_started(reg, title) != "in_progress": self.fail("item not properely deleted") #cleanup miro.delete_feed(reg, feed)
def test_728(self): """http://litmus.pculture.org/show_test.cgi?id=728 edit metadata for mulitple items 1. add Static List feed 2. download the Earth Eats item 3. Edit item metadata """ reg = MiroRegions() miro = MiroApp() miro.open_prefs(reg) prefs = PreferencesPanel() general_tab = prefs.open_tab("General") general_tab.show_audio_in_music("on") general_tab.close_prefs() url = "http://qa.pculture.org/feeds_test/list-of-guide-feeds.xml" feed = "Static" term = "Earth Eats" title = "Mushroom" # item title updates when download completes new_type = "Video" edit_itemlist = [ ["name", "Earth Day Everyday", "647"], ["artist", "Oliver and Katerina", "648"], ["album", "Barki Barks", "649"], ["genre", "family", "650"], ["track_num" ,"1", "673"], ["track_of" ,"2", "673"], ["year", "2010", "655"], ["rating", "5", "651"], ] #start clean miro.delete_feed(reg, feed) #add feed and download earth eats item miro.add_feed(reg, url,feed) miro.toggle_normal(reg) miro.tab_search(reg, term) if reg.m.exists("button_download.png",10): click(reg.m.getLastMatch()) miro.wait_for_item_in_tab(reg, "Music",item=title) reg.m.find(title) reg.m.click(title) reg.mtb.click("tabsearch_clear.png") for x in edit_itemlist: miro.edit_item_metadata(reg, meta_field=x[0],meta_value=x[1]) try: miro.log_result(x[2],"test_647") finally: time.sleep(2) if not miro.tab_search(reg, "Earth Day",confirm_present=True) == True: self.fail("new title not saved") #cleanup miro.delete_feed(reg, feed)
def test_322(self): """http://litmus.pculture.org/show_test.cgi?id=322 search and save as a podcast 1. Perform a search 2. Click off the tab 3. Click back and verify the search is remembered. 4. Cleanup """ setAutoWaitTimeout(60) reg = MiroRegions() miro = MiroApp() #Set Global Preferences miro.open_prefs(reg) prefs = PreferencesPanel() podcasts_tab = prefs.open_tab("Podcasts") podcasts_tab.autodownload_setting("Off") podcasts_tab.close_prefs() searches = {"blip": "python", "YouTube": "cosmicomics", "Revver": "Beiber", "Yahoo": "Canada", "DailyMotion": "Russia", "Metavid": "africa", "Mininova": "Creative Commons", "Goog": "Toronto"} for engine, term in searches.iteritems(): miro.click_sidebar_tab(reg, "search") miro.search_tab_search(reg, term, engine) time.sleep(10) reg.mtb.click("button_save_as_podcast.png") if engine == "blip": saved_search = engine else: saved_search = engine +" for" time.sleep(10) #give some time for everything to load up miro.click_podcast(reg, saved_search) miro.shortcut("r") time.sleep(5) miro.get_podcasts_region(reg) miro.tab_search(reg, term) try: self.assertTrue(reg.m.exists(engine)) miro.delete_feed(reg, engine) except: miro.log_result("322","test 322, failed for " +engine+": "+term, status="fail") #cleanup for x in searches.keys(): miro.delete_feed(reg, x)
def test_361(self): """http://litmus.pculture.org/show_test.cgi?id=361 edit item video to audio. 1. add 3-blip-videos feed 2. download the Joo Joo 3. Edit item from Video to Audio 4. Verify item played as audio item """ reg = MiroRegions() miro = MiroApp() time.sleep(5) url = "http://qa.pculture.org/feeds_test/MixedCats.xml" feed = "MIXED" title = "Tongue" new_type = "Music" old_type = "Video" #Set Global Preferences miro.open_prefs(reg) prefs = PreferencesPanel() general_tab = prefs.open_tab("General") general_tab.show_audio_in_music("on") general_tab.show_videos_in_videos("on") podcasts_tab = prefs.open_tab("Podcasts") podcasts_tab.autodownload_setting("Off") podcasts_tab.close_prefs() #start clean miro.delete_feed(reg, feed) #add feed and download joo joo item miro.add_feed(reg, url,feed) miro.tab_search(reg, title) if reg.m.exists("button_download.png",10): click(reg.m.getLastMatch()) miro.wait_for_item_in_tab(reg, "Videos", item=title) reg.m.find(title) reg.m.click(title) reg.mtb.click("tabsearch_clear.png") miro.edit_item_type(reg, new_type, old_type) #locate item in audio tab and verify playback miro.wait_for_item_in_tab(reg, tab="Music",item=title) reg.m.click(title) type(' ') #use spacebar to start playback self.assertTrue(miro.verify_audio_playback(reg, title)) miro.stop_audio_playback(reg, title) #cleanup miro.delete_feed(reg, feed)
def test_364(self): """http://litmus.pculture.org/show_test.cgi?id=364 edit item misc to video 1. Download item that lands in Misc 2. Edit type to video 3. start playback and verify play external dialog 4. cleanup """ reg = MiroRegions() miro = MiroApp() time.sleep(5) url = "http://vimeo.com/moogaloop_local.swf?clip_id=7335370&server=vimeo.com" title = "local" #Set Global Preferences miro.open_prefs(reg) prefs = PreferencesPanel() general_tab = prefs.open_tab("General") general_tab.show_videos_in_videos("on") general_tab.close_prefs() miro.cancel_all_downloads(reg) reg.tl.click("File") reg.tl.click("Download from") time.sleep(4) type(url) time.sleep(10) type("\n") if reg.s.exists("Downloading"): print "item dl started" reg.s.waitVanish("Downloading",120) time.sleep(5) miro.wait_for_item_in_tab(reg, tab="Misc",item=title) x = reg.m.find(title) click(x) reg.s.find("Music") tmpr = Region(reg.s.getLastMatch().above()) tmpr.setW(tmpr.getW()+80) tmpr.setX(tmpr.getX()-20) y = tmpr.find("Videos") dragDrop(x,y) #locate item in video tab and verify playback click(y) if reg.m.exists(title): doubleClick(reg.m.getLastMatch()) miro.verify_video_playback(reg) miro.delete_items(reg, title,"Videos") else: miro.delete_items(reg, title,"Videos") self.fail("item not found in videos tab")
def test_108(self): """http://litmus.pculture.org/show_test.cgi?id=108 playback through unplayed items. 1. add a feed url feed of small items 2. download a few items 3. verify unplayed - playback through list 4. verify marked as unplayed. """ url_path = os.path.join(os.getenv("PCF_TEST_HOME"),"Miro","TestData","ShortCats.xml") url = "file:///"+url_path feed = "Short Cats" ## url = "http://qa.pculture.org/feeds_test/2stupidvideos.xml" ## feed = "TWO STUPID" reg = MiroRegions() miro = MiroApp() #Set Global Preferences miro.open_prefs(reg) prefs = PreferencesPanel() playback_tab = prefs.open_tab("Playback") playback_tab.play_continuous("on", "Podcast") playback_tab.close_prefs() miro.add_feed(reg, url, feed) miro.set_podcast_autodownload(reg, setting="All") time.sleep(15) miro.set_podcast_autodownload(reg, setting="Off") if reg.s.exists("Downloading"): reg.s.waitVanish("Downloading") miro.click_sidebar_tab(reg, "Videos") miro.toggle_normal(reg) reg.m.wait("item_play_unplayed.png") if reg.m.exists("item_play_unplayed.png"): find(Pattern("sort_name_normal.png")) doubleClick(getLastMatch().below(100)) wait(Pattern("playback_bar_video.png"),15) else: self.fail("no unplayed badges found") if exists(Pattern("playback_bar_video.png")): print "playback started" time.sleep(60) waitVanish(Pattern("playback_bar_video.png")) if reg.m.exists("item_play_unplayed.png"): self.fail("items not marked as unplayed")
def test_362(self): """http://litmus.pculture.org/show_test.cgi?id=362 edit item music to video 1. add Feed 2. download Paris mp3 3. Edit item from Audio to Video 4. Verify item played as video item """ reg = MiroRegions() miro = MiroApp() time.sleep(5) url = "http://qa.pculture.org/feeds_test/MixedCats.xml" feed = "MIXED" term = "Paris" title = "Laren" new_type = "Video" old_type = "Music" #Set Global Preferences miro.open_prefs(reg) prefs = PreferencesPanel() general_tab = prefs.open_tab("General") general_tab.show_audio_in_music("on") general_tab.show_videos_in_videos("on") podcasts_tab = prefs.open_tab("Podcasts") podcasts_tab.autodownload_setting("Off") podcasts_tab.close_prefs() #add feed and download joo joo item miro.add_feed(reg, url,feed) miro.tab_search(reg, term) if reg.m.exists("button_download.png",10): click(reg.m.getLastMatch()) miro.wait_for_item_in_tab(reg, "Music",item=title) reg.m.find(title) reg.m.click(title) reg.mtb.click("tabsearch_clear.png") miro.edit_item_type(reg, new_type, old_type) #locate item in audio tab and verify playback miro.wait_for_item_in_tab(reg, tab="Video",item=title) reg.m.doubleClick(title) miro.verify_video_playback(reg) miro.quit_miro() miro.restart_miro() miro.wait_for_item_in_tab(reg, tab="Video",item=title) #cleanup miro.delete_feed(reg, feed)
def test_363(self): """http://litmus.pculture.org/show_test.cgi?id=363 edit item metadata 1. add Static List feed 2. download the Earth Eats item 3. Edit item metadata 4. Verify item played as audio item """ reg = MiroRegions() miro = MiroApp() time.sleep(5) url = "http://qa.pculture.org/feeds_test/list-of-guide-feeds.xml" feed = "Static" term = "Earth Eats" title = "Mushroom" new_type = "Video" #Set Global Preferences miro.open_prefs(reg) prefs = PreferencesPanel() general_tab = prefs.open_tab("General") general_tab.show_audio_in_music("on") general_tab.close_prefs() miro.delete_feed(reg, feed) #add feed and download earth eats item miro.add_feed(reg, url,feed) miro.toggle_normal(reg) miro.tab_search(reg, title=term) if reg.m.exists("button_download.png",10): click(reg.m.getLastMatch()) miro.wait_for_item_in_tab(reg, "Music", item=title) reg.m.find(title) reg.m.click(title) reg.mtb.click("tabsearch_clear.png") miro.edit_item_metadata(reg, meta_field="about",meta_value="hoovercraft full of eels") miro.tab_search(reg, "hoovercraft eels") if not reg.m.exists(title): self.fail("can not verify description edited") miro.delete_feed(reg, feed)
def test_653(self): """http://litmus.pculture.org/show_test.cgi?id=653 edit album art 1. add watched folder 2. Edit artwork for 1 item 3. Edit artwork for multiple items 4. Cleanup """ reg = MiroRegions() miro = MiroApp() time.sleep(5) folder_path = os.path.join(os.getenv("PCF_TEST_HOME"),"Miro","TestData","ArtTest") title = "Pancakes" title2 = "summer" title3="deerhunter" #1. add watched folder miro.add_watched_folder(reg, folder_path) if reg.s.exists("ArtTest"): click(reg.s.getLastMatch()) miro.log_result("157","test_653") art_file = os.path.join(os.getenv("PCF_TEST_HOME"),"Miro","TestData","album_art1.jpg") #add feed and download flip face item miro.toggle_normal(reg) miro.tab_search(reg, title) try: reg.m.find(title) reg.m.click(title) reg.mtb.click("tabsearch_clear.png") miro.edit_item_metadata(reg, meta_field="art",meta_value=art_file) ## Verify new image here: reg.m.find(Pattern("album_art1.png")) finally: miro.open_prefs(reg) prefs = PreferencesPanel() folder_tab = prefs.open_tab("Folders") folder_tab.remove_watched_folder("ArtTest") folder_tab.close_prefs()
def test_79(self): """http://litmus.pculture.org/show_test.cgi?id=79 Search - New Search Podcast: Engine Steps to Perform: 1. Select Sidebar -> New Search Podcast 2. Enter a search term 3. Select the Search Engine radio button 4. Select a search engine from the pulldown menu 5. Select Create Podcast """ reg = MiroRegions() miro = MiroApp() #Set Global Preferences miro.open_prefs(reg) prefs = PreferencesPanel() podcasts_tab = prefs.open_tab("Podcasts") podcasts_tab.autodownload_setting("Off") podcasts_tab.close_prefs() searches = { "Yahoo": "Canada", "DailyMotion": "Ontario", "YouTube": "toronto"} radio = "Search" for source, term in searches.iteritems(): miro.new_search_feed(reg, term,radio,source,defaults=False,watched=False) time.sleep(10) #give some time for everything to load up miro.click_podcast(reg, source) miro.shortcut("r") time.sleep(5) miro.tab_search(reg, term) try: self.assertTrue(reg.m.exists(source)) miro.delete_feed(reg, source) except: miro.log_result("79","test_79, failed for " +source+": "+term, status="fail") #cleanup for x in searches.keys(): miro.delete_feed(reg, x)
def test_641(self): """http://litmus.pculture.org/show_test.cgi?id=641, delete with invalid url. Litmus Test Title:: 641 - Deleting podcast with invalid urls Steps to Perform: 1. Select "Add podcast" from Sidebar menu. 2. Enter URL http://subscribe.getmiro.com/?url1=http%3A%2F%2Fparticipatoryculture.org%2Ffeeds_test%2Ffeed1.rss 3. Click "Create Podcast" button 4. Click "Yes" in "This podcast is not compatible with Miro" window 5. While the podcast is downloading, right click on it and select "Remove" option. """ reg = MiroRegions() miro = MiroApp() url = "http://subscribe.getmiro.com/?url1=http%3A%2F%2Fparticipatoryculture.org%2Ffeeds_test%2Ffeed1.rss" feed = "invalid" #Set Global Preferences miro.open_prefs(reg) prefs = PreferencesPanel() podcasts_tab = prefs.open_tab("Podcasts") podcasts_tab.autodownload_setting("All") podcasts_tab.close_prefs() miro.add_feed(reg, url, feed, click_feed=False) if exists("anyway",45): type(Key.ENTER) miro.click_last_podcast(reg) type(Key.DELETE) miro.remove_confirm(reg, "remove") #Reset autodownload preferences #Set Global Preferences miro.open_prefs(reg) prefs = PreferencesPanel() podcasts_tab = prefs.open_tab("Podcasts") podcasts_tab.autodownload_setting("Off") podcasts_tab.close_prefs()
def test_122(self): """http://litmus.pculture.org/show_test.cgi?id=122 item click actions, normal view. 1. add 3-blip-videos feed 2. download the Joo Joo 3. verify varios item click scenerios """ reg = MiroRegions() miro = MiroApp() time.sleep(5) url = "http://pculture.org/feeds_test/3blipvideos.xml" feed = "ThreeBlip" title1 = "The Joo" title2 = "York" title3 = "Accessing" miro.delete_feed(reg, feed) miro.open_prefs(reg) prefs = PreferencesPanel() podcasts_tab = prefs.open_tab("Podcasts") podcasts_tab.autodownload_setting("Off") podcasts_tab.default_view_setting("Standard") podcasts_tab.close_prefs() #add feed and download joo joo item miro.add_feed(reg, url,feed) miro.tab_search(reg, title1) if reg.m.exists("button_download.png",10): click(reg.m.getLastMatch()) miro.click_podcast(reg, feed) miro.tab_search(reg, title2,confirm_present=True) #double-click starts download doubleClick(title2) if miro.confirm_download_started(reg, title=title2) == "in_progress": miro.log_result("122","normal view double-click starts download") else: self.fail("normal view double-click starts download, failed") #double-click pauses download miro.click_podcast(reg, feed) doubleClick(title2) if exists("item-renderer-download-resume.png"): miro.log_result("122","normal view double-click pauses download") else: self.fail("normal view double-click pause download, failed") #double-click resumes download doubleClick(title2) if exists("item-renderer-download-pause.png"): miro.log_result("122","normal view double-click resume download") else: self.fail("normal view double-click resume download, failed") #double-click starts playback miro.wait_for_item_in_tab(reg, tab="Videos",item=title1) miro.click_podcast(reg, feed) miro.tab_search(reg, title1) doubleClick(title1) if exists(Pattern("playback_bar_video.png")): miro.log_result("122","normal view double-click starts playback") else: self.fail("normal view double-click start playback, failed") miro.verify_video_playback(reg) #single click thumb starts download miro.tab_search(reg, title3) if reg.m.exists("thumb-default-video.png"): print "using default thumb" click(reg.m.getLastMatch()) else: print "can't find thumb, best guess" reg.m.find(title1) click(reg.m.getLastMatch().left(50)) if miro.confirm_download_started(reg, title=title3) == "in_progress": miro.log_result("122","normal view click starts download") else: self.fail("normal view double-click starts download, failed") #single click thumb starts playback miro.click_podcast(reg, feed) miro.tab_search(reg, title1) if reg.m.exists("thumb-default-video.png"): print "using default thumb" click(reg.m.getLastMatch()) elif reg.m.exists("thumb-joojoo.png"): print "found joo joo thumb" click(reg.m.getLastMatch()) else: print "can't find thumb, best guess" reg.m.find(title1) click(reg.m.getLastMatch().left(50)) if exists("playback_bar_video.png"): miro.log_result("122","normal view double-click starts playback") else: self.fail("normal view double-click start playback, failed") miro.verify_video_playback(reg) #cleanup miro.delete_feed(reg, feed)
def test_725(self): """http://litmus.pculture.org/show_test.cgi?id=725 item click actions, list view. 1. add 3-blip-videos feed 2. download the Joo Joo 3. verify varios item click scenerios """ reg = MiroRegions() miro = MiroApp() time.sleep(5) url = "http://pculture.org/feeds_test/3blipvideos.xml" feed = "ThreeBlip" title1 = "The Joo" title2 = "York" title3 = "Accessing" miro.delete_feed(reg, feed) #Set Global Preferences miro.open_prefs(reg) prefs = PreferencesPanel() podcasts_tab = prefs.open_tab("Podcasts") podcasts_tab.autodownload_setting("Off") podcasts_tab.default_view_setting("List") podcasts_tab.close_prefs() time.sleep(2) #add feed and download joo joo item miro.add_feed(reg, url,feed) miro.tab_search(reg, title1) #double-click starts download reg.m.find(title1) title_loc = reg.m.getLastMatch() doubleClick(title_loc) if reg.m.exists("video-download-pause.png"): miro.log_result("122","list view double-click starts download") else: self.fail("list view double-click starts download, failed") #double-click pauses download doubleClick(title_loc) if reg.m.exists("video-download-resume.png"): miro.log_result("122","list view double-click pauses download") else: self.fail("list view double-click pause download, failed") #double-click resumes download doubleClick(title_loc) if exists("video-download-pause.png"): miro.log_result("122","list view double-click resumes download") else: self.fail("list view double-click resume download, failed") #double-click starts playback miro.wait_for_item_in_tab(reg, tab="Videos",item=title1) miro.click_podcast(reg, feed) miro.tab_search(reg, title1) doubleClick(title1) if exists(Pattern("playback_bar_video.png")): miro.log_result("122","list view double-click starts playback") else: self.fail("list view double-click start playback, failed") miro.verify_video_playback(reg) #cleanup miro.delete_feed(reg, feed)
def test_117(self): """http://litmus.pculture.org/show_test.cgi?id=117 delete multiple feeds then cancel. Litmus Test Title:: 117 - delete multiple feeds then cancel Description: 1. Add several feeds from list of guide feeds 2. Select them all 3. Delete, the cancel the delete 4. Cleanup """ #set the search regions reg = MiroRegions() miro = MiroApp() #Set Global Preferences miro.open_prefs(reg) prefs = PreferencesPanel() podcasts_tab = prefs.open_tab("Podcasts") podcasts_tab.autodownload_setting("Off") podcasts_tab.default_view_setting("Standard") podcasts_tab.close_prefs() url = "http://pculture.org/feeds_test/list-of-guide-feeds.xml" feed = "Static" feedlist = ["Center", "Earth"] #1. Add the feed and start dl miro.add_feed(reg, url,feed) for f in feedlist: miro.tab_search(reg, f) self.assertTrue(reg.m.exists("Add this")) reg.m.click("Add this") time.sleep(4) miro.tab_search(reg, "") miro.toggle_normal(reg) p = miro.get_podcasts_region(reg) miro.click_sidebar_tab(reg, "Music") miro.click_podcast(reg, feed) #2. Select them all keyDown(Key.SHIFT) for x in feedlist: if p.exists(x): p.click(x) else: print "could not find feed" +str(x) time.sleep(2) keyUp(Key.SHIFT) #3. Delete then cancel. Verify still exists Static List if reg.m.exists("Delete",4) or reg.m.exists("button_mv_delete_all.png",4): click(reg.m.getLastMatch()) else: self.fail("Can't find Delete All button in main view") miro.remove_confirm(reg, "cancel") p = miro.get_podcasts_region(reg) time.sleep(5) self.assertTrue(p.exists("Static",5)) #4. Cleanup feedlist.append("Static") for x in feedlist: print x miro.delete_feed(reg, x)