def test_23(self): """http://litmus.pculture.org/show_test.cgi?id=23 remember search. 1. Add 2-stupid-videos feed 2. Perform a search 3. Type in search box the delete key 4. Cleanup """ reg = mirolib.AppRegions() url = "http://pculture.org/feeds_test/2stupidvideos.xml" feed = "TwoStupid" term = "House" title = "Dinosaur" #1. add feed mirolib.add_feed(self,reg,url,feed) #2. search mirolib.tab_search(self,reg,term) self.assertTrue(reg.m.exists(title)) self.assertFalse(reg.m.exists("Flip")) mirolib.click_sidebar_tab(self,reg,"Videos") reg.s.click(feed) self.assertTrue(reg.mtb.exists(term.upper())) self.assertTrue(reg.m.exists(title)) self.assertFalse(reg.m.exists("Flip")) #4. cleanup mirolib.delete_feed(self,reg,"stupid")
def test_339(self): """http://litmus.pculture.org/show_test.cgi?id=339 delete feed with dl items. Litmus Test Title:: 339 - channels delete a feed with downloaded items Description: 1. Add the 2-stupid-videos feed, and download both items in the feed. 2. Remove Feed and Keep the videos. 3. Verify videos are displayed in the non-feed section of the Library 4. Cleanup """ setAutoWaitTimeout(testvars.timeout) #set the search regions reg = mirolib.AppRegions() url = "http://pculture.org/feeds_test/2stupidvideos.xml" feed = "TwoStupid" #1. Add the feed and start dl mirolib.add_feed(self,reg,url,feed) time.sleep(3) mirolib.toggle_normal(reg) # mirolib.count_images(self,reg, "item-context-button.png",region="mainright",num_expected=2) mirolib.set_podcast_autodownload(self,reg,setting="All") mirolib.wait_for_item_in_tab(self,reg,"videos","Flip") mirolib.wait_for_item_in_tab(self,reg,"videos","Dinosaur") mirolib.click_podcast(self,reg,feed) type(Key.DELETE) mirolib.remove_confirm(self,reg,action="keep") mirolib.click_sidebar_tab(self,reg,"videos") mirolib.tab_search(self,reg,"Flip",confirm_present=True) mirolib.tab_search(self,reg,"Dinosaur",confirm_present=True) #4. cleanup mirolib.delete_items(self,reg,"Flip","videos") mirolib.delete_items(self,reg,"Dinosaur","videos")
def test_6(self): """http://litmus.pculture.org/show_test.cgi?id=6 add feed from MiroGuide. 1. Open Miro 2. search for a feed and add it. 3. Verify feed added 4. Cleanup """ setAutoWaitTimeout(60) pass #set the search regions reg = mirolib.AppRegions() feed = "StupidVideos" try: mirolib.click_sidebar_tab(self,reg,"Miro") time.sleep(5) gr = Region(reg.mtb) gr.setH(300) gr.click(Pattern("guide_search.png")) type("StupidVideos\n") time.sleep(5) reg.m.find(Pattern("add_feed.png")) click(reg.m.getLastMatch()) time.sleep(5) mirolib.click_podcast(self,reg,feed) finally: #4. cleanup mirolib.delete_feed(self,reg,"StupidVideos")
def test_173(self): """http://litmus.pculture.org/show_test.cgi?id=173 1st time install, search everywhere Litmus Test Title:: 173 - 1st time install, search everywhere Description: 1. Clean up Miro support and vidoes directories 2. Launch - walk through 1st tieme install dialog and search everywhere """ if exists("Miro",3) or \ exists("Music",3): click(getLastMatch()) mirolib.quit_miro(self) if config.get_os_name() == "osx": time.sleep(20) config.delete_database_and_prefs() config.delete_miro_video_storage_dir() setAutoWaitTimeout(testvars.timeout) #set the search regions mirolib.restart_miro(confirm=False) search_path = os.path.join(os.getenv("PCF_TEST_HOME"),"Miro","TestData") mirolib.first_time_startup_dialog(self,lang="Default",run_on_start="No",search="Yes",search_path="Everywhere",itunes="No") reg = mirolib.AppRegions() time.sleep(10) mirolib.click_sidebar_tab(self,reg,"Videos") find(Pattern("sort_name_normal.png").exact()) doubleClick(getLastMatch().below(100)) mirolib.verify_video_playback(self,reg)
def test_4(self): """http://litmus.pculture.org/show_test.cgi?id=4 1st time install, specify a dir to search. Litmus Test Title:: 4 - 1st time install, specify a dir to search Description: 1. Clean up Miro support and vidoes directories 2. Launch - walk through 1st tieme install dialog and search everywhere """ if exists("Miro",3) or \ exists("Music",3): click(getLastMatch()) mirolib.quit_miro(self) if config.get_os_name() == "osx": time.sleep(20) config.delete_database_and_prefs() config.delete_miro_video_storage_dir() setAutoWaitTimeout(testvars.timeout) #set the search regions mirolib.restart_miro(confirm=False) search_path = os.path.join(os.getenv("PCF_TEST_HOME"),"Miro","TestData") mirolib.first_time_startup_dialog(self,lang="Default",run_on_start="No",search="Yes",search_path=search_path,itunes="No") reg = mirolib.AppRegions() time.sleep(10) mirolib.click_sidebar_tab(self,reg,"Videos") mirolib.tab_search(self,reg,title="Deerhunter",confirm_present=True) mirolib.click_sidebar_tab(self,reg,"Music") mirolib.tab_search(self,reg,title="Pancakes",confirm_present=True)
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 """ setAutoWaitTimeout(testvars.timeout) #set the search regions reg = mirolib.AppRegions() prefs.set_autodownload(self,reg,setting="Off") prefs.set_default_view(self,reg,setting="Standard") url = "http://pculture.org/feeds_test/list-of-guide-feeds.xml" feed = "Static" feedlist = ["Center", "Earth"] #1. Add the feed and start dl mirolib.add_feed(self,reg,url,feed) for f in feedlist: mirolib.tab_search(self,reg,f) self.assertTrue(reg.m.exists("Add this")) reg.m.click("Add this") time.sleep(4) mirolib.tab_search(self,reg,"") mirolib.toggle_normal(reg) p = mirolib.get_podcasts_region(reg) mirolib.click_sidebar_tab(self,reg,"Music") mirolib.click_podcast(self,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") mirolib.remove_confirm(self,reg,"cancel") p = mirolib.get_podcasts_region(reg) time.sleep(5) self.assertTrue(p.exists("Static",5)) #4. Cleanup feedlist.append("Static") for x in feedlist: print x mirolib.delete_feed(self,reg,x)
def test_123(self): """http://litmus.pculture.org/show_test.cgi?id=123 add feed more than once. Litmus Test Title:: 123 - add a channel more than once Description: 1. Add a channel from the Miro Guide. 2. Copy the URL and use the Add Feed dialog to add it. 3. Verify feed not duplicated. 4. Cleanup """ #set the search regions reg = mirolib.AppRegions() feed = "EEVblog" feed2 = "TED" mirolib.click_sidebar_tab(self,reg,"Miro") gr = Region(reg.mtb) gr.setH(300) gr.click(Pattern("guide_search.png")) type(feed2 +"\n") time.sleep(5) reg.m.find(Pattern("add_feed.png")) click(reg.m.getLastMatch()) mirolib.click_sidebar_tab(self,reg,"Miro") gr.click(Pattern("guide_search.png")) type(feed + "\n") time.sleep(10) reg.m.find(Pattern("add_feed.png")) click(reg.m.getLastMatch()) time.sleep(20) mirolib.click_last_podcast(self,reg) time.sleep(5) #2. Copy the url and attempt to add it reg.t.click("Sidebar") tmpr = Region(reg.t.getLastMatch().below()) tmpr.setW(tmpr.getW()+200) tmpr.highlight(3) if tmpr.exists("Copy") or tmpr.exists("URL"): click(tmpr.getLastMatch()) time.sleep(2) mirolib.shortcut("n") time.sleep(2) type(Key.ENTER) #3. Verify feed not duplicated p = mirolib.get_podcasts_region(reg) time.sleep(2) mirolib.count_images(self,reg, img=feed,region="sidebar",num_expected=1) mirolib.delete_feed(self,reg,feed) mirolib.delete_feed(self,reg,feed2)
def test_54(self): """http://litmus.pculture.org/show_test.cgi?id=54 Test Crash Reporter no DB. 1. Perform a search of crash inducing text 2. Submit crash dialog 3. Quit Miro """ print self.id() setAutoWaitTimeout(60) reg = mirolib.AppRegions() term = "LET'S TEST DTV'S CRASH REPORTER TODAY" mirolib.click_sidebar_tab(self, reg, "Search") mirolib.search_tab_search(self, reg, term) mirolib.handle_crash_dialog(self, db=False, test=True)
def test_620(self): """http://litmus.pculture.org/show_test.cgi?id=620 dl youtube video and convert. 1. Download youtube video 2. Convert to video formats 3. Verify playback 4. Convert to audio formats 5. Verify playback 6. Cleanup """ reg = mirolib.AppRegions() # 1. Download youtube vidoe vid_url = "http://www.youtube.com/watch?v=baJ43ByylbM&feature=fvw" item_title = "Zoom" reg.tl.click("File") reg.tl.click("Download from") time.sleep(4) type(vid_url) time.sleep(2) type("\n") mirolib.confirm_download_started(self,reg,item_title) mirolib.wait_for_item_in_tab(self,reg,"videos",item_title) if reg.m.exists(item_title,3): mirolib.log_result("9","test_620 file external download verified.") reg.m.click(item_title) # 2. Convert to audio formats try: aconvertList = ("MP3","Vorbis") for x in aconvertList: mirolib.convert_file(self,reg,x) time.sleep(2) mirolib.click_sidebar_tab(self,reg,"Converting") mirolib.wait_conversions_complete(self,reg,item_title,x) # 3. Verify playback mirolib.click_sidebar_tab(self,reg,"music") aplaybackList = ("MP3",) for x in aplaybackList: mirolib.tab_search(self,reg,"Converted to "+str(x),False) if reg.m.exists(Pattern("item_play_unplayed.png")): doubleClick(reg.m.getLastMatch()) mirolib.verify_audio_playback(self,reg,"Converted") else: self.fail("converted item not found") except FindFailed, debugging: self.verificationErrors.append(debugging)
def test_55(self): """http://litmus.pculture.org/show_test.cgi?id=55 Test Crash Reporter with DB. 1. Perform a search of crash inducing text 2. Submit crash dialog with db 3. Quit Miro """ setAutoWaitTimeout(60) reg = mirolib.AppRegions() term = "LET'S TEST DTV'S CRASH REPORTER TODAY" mirolib.click_sidebar_tab(self, reg, "Search") mirolib.search_tab_search(self, reg, term) mirolib.handle_crash_dialog(self, test=True) mirolib.search_tab_search(self, reg, term=" ", engine=None)
def test_657(self): """http://litmus.pculture.org/show_test.cgi?id=657 edit multiple fields 1. add Static List feed 2. download the Earth Eats item 3. Edit item metadata """ reg = mirolib.AppRegions() time.sleep(5) url = "http://ringtales.com/nyrss.xml" feed = "The New" title = "Cat" new_metadata_list = [["show","Animated Cartoons", "658"], ["episode_id","nya", "670"], ["season_no","25", "671"], ["episode_no","43", "672"], ["video_kind","Clip", "652"], ] #start clean mirolib.delete_feed(self,reg,feed) #add feed and download earth eats item mirolib.add_feed(self,reg,url,feed) mirolib.toggle_normal(reg) mirolib.tab_search(self,reg,title) if reg.m.exists("button_download.png",10): click(reg.m.getLastMatch()) mirolib.wait_for_item_in_tab(self,reg,"Videos",item=title) mirolib.click_podcast(self,reg,feed) reg.m.click(title) mirolib.edit_item_video_metadata_bulk(self,reg,new_metadata_list) time.sleep(2) mirolib.click_sidebar_tab(self,reg,"Videos") mirolib.tab_search(self,reg,title) reg.mtb.click("Clip") if reg.m.exists(title): reg.mtb.click("All") else: self.fail("item not found in Clips filter") #cleanup mirolib.delete_feed(self,reg,feed)
if reg.m.exists(Pattern("item_play_unplayed.png")): doubleClick(reg.m.getLastMatch()) mirolib.verify_audio_playback(self,reg,"Converted") else: self.fail("converted item not found") except FindFailed, debugging: self.verificationErrors.append(debugging) finally: while reg.m.exists(item_title,5): mirolib.delete_items(self,reg,item_title,"music") # 4. Convert items to video formats try: vconvertList = ("Droid","Galaxy","G2","iPad","iPhone","MP4", "Theora","Playstation") mirolib.click_sidebar_tab(self,reg,"Videos") reg.m.click(item_title) for x in vconvertList: mirolib.convert_file(self,reg,x) time.sleep(15) mirolib.click_sidebar_tab(self,reg,"Converting") mirolib.wait_conversions_complete(self,reg,item_title,str(x)) # 5. Verify playback mirolib.click_sidebar_tab(self,reg,"Videos") aplaybackList = ("Droid", "iPhone", "MP4", "Ogg Theora", "Playstation") for x in aplaybackList: mirolib.tab_search(self,reg,"Converted to "+str(x)) if reg.m.exists("item_play_unplayed.png"): doubleClick(reg.m.getLastMatch()) find(Pattern("playback_bar_video.png"))