Ejemplo n.º 1
0
    def test_537(self):
        """Add comments on a translation using non-ascii characters
        
        http://litmus.pculture.org/show_test.cgi?id=537
        """
        
        sel = self.selenium
        sel.set_timeout(testvars.MSTestVariables["TimeOut"])
        #get a video and open page      
        website.SiteLogout(self,sel)
        test_video_url = website.get_video_with_translations(self,sel)
        print test_video_url
        sel.open(test_video_url)
        language = website.get_translated_lang(self,sel)
        
        
        #Login and go to language comments page
        website.SiteLogIn(self,sel,testvars.siteuser,testvars.passw)
        sel.open(test_video_url)
        mslib.wait_for_element_present(self,sel,testvars.video_lang+":contains('"+language+"')")
        sel.click(testvars.video_lang+":contains('"+language+"')")
        mslib.wait_for_element_present(self,sel,testvars.video_lang_hd+":contains('"+language+"')")
        sel.click(testvars.comments_tab) 

        #Enter some non-ascii comments
        print "1. entering croatian comment text"
        website.enter_comment_text(self,sel,comments_text.hr_comment_text)
        website.verify_comment_text(self,sel,comments_text.hr_comment_text)
        print "2. entering japanese comment text"
        website.enter_comment_text(self,sel,comments_text.jp_comment_text)
        website.verify_comment_text(self,sel,comments_text.jp_comment_text)
        print "3. entering russian comment text"
        website.enter_comment_text(self,sel,comments_text.ru_comment_text)
        website.verify_comment_text(self,sel,comments_text.ru_comment_text)
Ejemplo n.º 2
0
 def test_701(self):
     """Pagedemo Khan Widgetizer async - sub position on playback.
     
     http://litmus.pculture.org/show_test.cgi?id=687
     """
     test_id = 701
     sel = self.selenium
     testpage = "/pagedemo/async_widgetizer"
     sel.open(testpage)
     sel.wait_for_page_to_load(testvars.timeout)
     sel.window_maximize()
     sel.click("link=Widgetize it!")
     mslib.wait_for_element_present(self, sel,
                                    testvars.WebsiteUI["SubtitleMe_menu"])
     time.sleep(5)
     sel.get_eval(
         'this.browserbot.getUserWindow().unisubs.widget.Widget.getAllWidgets()[0].play()'
     )
     mslib.wait_for_element_present(
         self, sel, testvars.WidgetUI["Current_playing_offsite"])
     sel.get_eval(
         'this.browserbot.getUserWindow().unisubs.widget.Widget.getAllWidgets()[0].pause()'
     )
     caption_position = sel.get_element_height(
         testvars.WidgetUI["Current_playing_offsite"])
     verify_caption_position(self, sel, caption_position)
     verify_submenu_present(self, sel)
Ejemplo n.º 3
0
def SiteLogout(self,sel):
    """
    Description: Logout of site using site Logout button.

    """
    sel.open("/logout/?next=/")
    mslib.wait_for_element_present(self,sel,testvars.WebsiteUI["Login_Button"])
Ejemplo n.º 4
0
def edit_translation(self,sel,subtextfile,new_text=""):
    """
    Description: Update the translation text with either the orig text or text provided in a file.

    Options:
        new_text - text string

    Pre-condition - Editing Translation Widget opened
    """
    print ("Editing the translation")
    sel.select_window("null")
    mslib.wait_for_element_present(self,sel,"css=.unisubs-titlesList")
    for i,line in enumerate(codecs.open(subtextfile)):
        x = i+1
        sub_cell = "css=.unisubs-titlesList li:nth-child("+str(x)+")"
        if sel.is_element_present(sub_cell) == False:
            break
        thetextarea = "css=textarea"
        if new_text == "":
            ed_text = str(line).upper()
        else:
            ed_text = new_text
        sel.click(sub_cell)
        sel.type(thetextarea, u'ed_text')
        sel.get_eval("this.browserbot.getUserWindow().unisubs.widget.fireKeySequence(this.browserbot.getUserWindow().document.getElementsByClassName('unisubs-subedit')[0], 13,13);") 
        time.sleep(1)
    sel.click(testvars.WidgetUI["Next_step"])
Ejemplo n.º 5
0
def verify_latest_history(self, sel, rev=None, user=None, tm=None, text=None):
    print "verifying history tab contents"
    print rev
    time.sleep(10)
    sel.refresh()
    sel.wait_for_page_to_load(testvars.timeout)
    if sel.is_text_present("Most Recent") == False:
        sel.click(testvars.history_tab)
    mslib.wait_for_element_present(
        self, sel,
        "css=div[id=revisions-tab] tr:nth-child(1) > td:nth-child(1) > a")
    if rev:
        self.assertTrue(
            sel.is_element_present(
                "css=div[id=revisions-tab] tr:nth-child(1) > td:nth-child(1) > a:contains('"
                + rev + "')"))
    if user:
        self.assertTrue(
            sel.is_element_present(
                "css=div[id=revisions-tab] tr:nth-child(1) > td:nth-child(2) > a:contains('"
                + user + "')"))
    if time:
        self.assertTrue(
            sel.is_element_present(
                "css=div[id=revisions-tab] tr:nth-child(1) > td:nth-child(4):contains('"
                + tm + "')"))
    if text:
        self.assertTrue(
            sel.is_element_present(
                "css=div[id=revisions-tab] tr:nth-child(1) > td:nth-child(5):contains('"
                + text + "')"))
Ejemplo n.º 6
0
def TwitterAuth(self, sel, user, passw):
    """
    Description: Perform twitter account sign-in once window
                 has been launced via website or widget.
    Requires: valid username and password
    """
    print "twitter auth: " + user + ":"
    sel.select_pop_up("null")
    if sel.get_eval("window.location") == "http://twitter.com/universalsubs":
        if sel.is_element_present("css=.signin span:contains('Sign in')"):
            sel.click("css=.signin span:contains('Sign in')")
        mslib.wait_for_element_present(self, sel,
                                       "css=input[title='username']")
        sel.type("username", user)
        sel.type("password", passw)
        sel.click("signin_submit")
    else:
        time.sleep(2)
        sel.select_pop_up("null")
        mslib.wait_for_element_present(self, sel,
                                       "css=input[id=username_or_email]")
        sel.type("username_or_email", user)
        sel.type("session[password]", passw)
        sel.click("allow")
    if sel.is_element_present("css=th:contains('Humaness')"):
        self.fail("caught by the twitter captcha, can not continue")
Ejemplo n.º 7
0
def Login(self, sel, auth_type):
    """
    Description: Log on using website button and select an external login option.
    auth_type can be either 'twitter', 'open-id', or 'google'

    Requires: valid account for selected login.  See testvars for existing accounts.

    Pre-condition: user is on the site page
    
    Post-condition: offsite login form displayed, see offsite
    
    
    """
    # auth_type can be either ".twitter", ".open-id", "google"
    if auth_type == "twitter":
        auth_link = "css=a#twitter.provider"
    elif auth_type == "open-id":
        auth_link = "css=a#open-id.provider"
    elif auth_type == "google":
        auth_link = "css=a#google.provider"
    else:
        self.fail("unrecognized auth type")
    sel.select_window("null")
    mslib.wait_for_element_present(self, sel,
                                   testvars.WebsiteUI["Login_Button"])
    sel.click(testvars.WebsiteUI["Login_Button"])
    mslib.wait_for_element_present(self, sel, auth_link)
    sel.click(auth_link)
    sel.wait_for_page_to_load(testvars.MSTestVariables["TimeOut"])
Ejemplo n.º 8
0
    def skiptest_696(self):
        """Subtesting widget - sub position on playback.
        Open the testpage
        Start Playback
        Verify subs are in the correct position on the video.
        
        http://litmus.pculture.org/show_test.cgi?id=696
        """
        sel = self.selenium

        #test 1st video on the page
        testpage = (selvars.set_subtesting_wordpress_page(self, 601)
                    )  #same subtesting page as test test_601
        sel.open(testpage)
        sel.wait_for_page_to_load(testvars.timeout)
        sel.window_maximize()
        mslib.wait_for_element_present(self, sel,
                                       testvars.WebsiteUI["SubtitleMe_menu"])
        time.sleep(3)
        sel.get_eval(
            'this.browserbot.getUserWindow().unisubs.widget.Widget.getAllWidgets()[0].play()'
        )
        mslib.wait_for_element_present(
            self, sel, testvars.WidgetUI["Current_playing_offsite"])
        sel.get_eval(
            'this.browserbot.getUserWindow().unisubs.widget.Widget.getAllWidgets()[0].pause()'
        )
        caption_position = sel.get_element_height(
            testvars.WidgetUI["Current_playing_offsite"])
        verify_caption_position(self, sel, caption_position)
        verify_submenu_present(self, sel)
 def test_623(self):
     """offsite widget on MC site.
     video url: http://www.youtube.com/watch?v=FNEImAIM4L4
     http://litmus.pculture.org/show_test.cgi?id=623
     Video with widget embedded on Miro Community test page.
     """
     mc_page = "hunter"
     vid_pos = "css=p.pElementTest span span.unisubs-widget div.unisubs-videoTab a span.unisubs-tabTextchoose"
     vid_title = "hunter.s.thompson.avi"
     print self.shortDescription()
     sel = self.selenium
     test_page = selvars.set_unisubs_mc_page(self,mc_page)
     sel.open(test_page)
     sel.wait_for_page_to_load(testvars.timeout)
     mslib.wait_for_element_present(self,sel,testvars.WebsiteUI["SubtitleMe_menu"])
     time.sleep(3)
     sel.get_eval('this.browserbot.getUserWindow().unisubs.widget.Widget.getAllWidgets()[0].openMenu()')
     time.sleep(2)
     if sel.is_element_present(testvars.WebsiteUI["AddSubtitles_menuitem"]) == True:
         print "has subtitles - edit and revert"
         subtextfile = "subs.txt"
         orig_rev = store_subs(self,sel)
         sel.open(test_page)
         sel.wait_for_page_to_load(testvars.timeout)
         mslib.wait_for_element_present(self,sel,testvars.WebsiteUI["SubtitleMe_menu"])
         time.sleep(3)
         sel.get_eval('this.browserbot.getUserWindow().unisubs.widget.Widget.getAllWidgets()[0].openMenu()')
         widget.starter_dialog_edit_orig(self,sel)
         edit_subs(self,sel,orig_rev,subtextfile)          
     else:
         make_new_subs(self,sel,subtextfile)
Ejemplo n.º 10
0
def starter_dialog_edit_orig(self,sel):
    """Choose the current lang to edit.
    Return orig_lang

    Gets the videos orig lang to edit the original subs - or sets it to English if none set.

    Post-condition: the widget is launched and you will be on step 1.
    """
    
    #Figure our the original lang or choose your own
    orig_lang = "Original"
    time.sleep(5)
    if sel.is_element_present(testvars.WebsiteUI["AddSubtitles_menuitem"]):
        sel.click(testvars.WebsiteUI["AddSubtitles_menuitem"])
    time.sleep(15)
    if sel.is_element_present(testvars.create_lang_unknown): # No lang set, going to use English
        orig_lang = "English"
        select_video_language(self,sel,vid_lang='en',sub_lang='en')
    elif sel.is_element_present(testvars.create_lang_known):        
        ol = sel.get_text(testvars.create_lang_known)
        orig_lang = ol.split("in ")[1]
        print orig_lang
        lc = sel.get_value("css=select.to-language option:contains('"+orig_lang+"')")
        lang_code = re.sub("\d+$","",lc)
        select_video_language(self,sel,vid_lang=lang_code,sub_lang=lang_code)
    else:
        print "video opened directly - no lang select dialogs"
    time.sleep(10)
    close_howto_video(self,sel)
    mslib.wait_for_element_present(self,sel,"css=div.unisubs-help-heading")
    return orig_lang
 def test_623(self):
     """offsite widget on MC site.
     video url: http://www.youtube.com/watch?v=FNEImAIM4L4
     http://litmus.pculture.org/show_test.cgi?id=623
     Video with widget embedded on Miro Community test page.
     """
     mc_page = "hunter"
     vid_pos = "css=p.pElementTest span span.unisubs-widget div.unisubs-videoTab a span.unisubs-tabTextchoose"
     vid_title = "hunter.s.thompson.avi"
     print self.shortDescription()
     sel = self.selenium
     test_page = selvars.set_unisubs_mc_page(self, mc_page)
     sel.open(test_page)
     sel.wait_for_page_to_load(testvars.timeout)
     mslib.wait_for_element_present(self, sel, testvars.WebsiteUI["SubtitleMe_menu"])
     time.sleep(3)
     sel.get_eval("this.browserbot.getUserWindow().unisubs.widget.Widget.getAllWidgets()[0].openMenu()")
     time.sleep(2)
     if sel.is_element_present(testvars.WebsiteUI["AddSubtitles_menuitem"]) == True:
         print "has subtitles - edit and revert"
         subtextfile = "subs.txt"
         orig_rev = store_subs(self, sel)
         sel.open(test_page)
         sel.wait_for_page_to_load(testvars.timeout)
         mslib.wait_for_element_present(self, sel, testvars.WebsiteUI["SubtitleMe_menu"])
         time.sleep(3)
         sel.get_eval("this.browserbot.getUserWindow().unisubs.widget.Widget.getAllWidgets()[0].openMenu()")
         widget.starter_dialog_edit_orig(self, sel)
         edit_subs(self, sel, orig_rev, subtextfile)
     else:
         make_new_subs(self, sel, subtextfile)
Ejemplo n.º 12
0
def back_step(self,sel):
    """
    Description: Clicks the 'Back to' link to go back 1 step.
    """
    while sel.is_text_present("Back to Typing"):
        sel.click("link=Back to Typing")
        mslib.wait_for_element_present(self,sel,"css=.unisubs-activestep")
Ejemplo n.º 13
0
def starter_dialog_translate_from_orig(self,sel,to_lang='hr'):
    """Choose the a new translation and translate from original lang
    Return orig_lang

    This assumes you know the original language and want to edit the original subs.

    Post-condition: the widget is launched and you will be on step 1 or Edit step
    """
    #Figure out orig lang fail is there isn't a set lang already
    mslib.wait_for_text_present(self,sel,"This video")
    sel.select_frame("relative=top")
    if sel.is_element_present(testvars.create_lang_unknown):
        self.fail("can't make a new translation when video has no orig lang set - test is invalid")
    else:
        time.sleep(5)
        ol = sel.get_text(testvars.create_lang_known)
        orig_lang = ol.split("in ")[1]
        if not sel.is_element_present("css=select.from-language option:contains('"+orig_lang+" ')"):
            print "orig lang not transcribed - choosing other existing lang"
            lc = sel.get_value("css=select.from-language option")
        else:
            lc = sel.get_value("css=select.from-language option:contains('"+orig_lang+" ')")
        lang_code = re.sub("\d+$","",lc) #gives only the letters of the value field.
        from_code = re.sub("\D","",lc)  #gives only the number - used in from pulldown.
        select_video_language(self,sel,sub_lang=to_lang,from_lang=from_code)
        time.sleep(5)
        close_howto_video(self,sel)
        mslib.wait_for_element_present(self,sel,"css=div.unisubs-help-heading")
        return orig_lang
Ejemplo n.º 14
0
def starter_dialog_translate_from_not_orig(self,sel,from_lang,to_lang='hr'):
    """Choose the a new translation and translate from a sub that is not the orig lang.
    Return from_lang

    This assumes you know the original language and want to edit the original subs.

    Post-condition: the widget is launched and you will be on step 1 or Edit step
    """
    #Figure out orig lang fail is there isn't a set lang already
    mslib.wait_for_text_present(self,sel,"This video")
    if sel.is_element_present(testvars.create_lang_unknown):
        self.fail("can't make a new translation when video has no orig lang set - test is invalid")
    else:
        ol = sel.get_text(testvars.create_lang_known)
        orig_lang = ol.split("in ")[1]
        lc = sel.get_value("css=select.to-language option:contains('"+orig_lang+" ')")
        lang_code = re.sub("\d+$","",lc)
    if lang_code == from_lang:
        self.fail("invalid test - from lang "+str(from_lang)+" is the same as the origi lang"+str(orig_lang))
        
    select_video_language(self,sel,sub_lang=to_lang,from_lang=from_lang)
    time.sleep(5)
    close_howto_video(self,sel)
    mslib.wait_for_element_present(self,sel,"css=.unisubs-help-heading")
    return from_lang
    def test_737(self):
        """flowplayer offsite embed - subtitle and playback
 
        http://litmus.pculture.org/show_test.cgi?id=737
        Flowplayer with widget embedded on Miro Community test page.
        """
        mc_page = "embed_tests"
        vid_title = "flow player test"
        subtextfile = os.path.join(testvars.MSTestVariables["DataDirectory"],"737_flow.txt")
        print self.shortDescription()
        sel = self.selenium
        test_page = selvars.set_unisubs_mc_page(self,mc_page)
        sel.open(test_page)
        sel.wait_for_page_to_load(testvars.timeout)
        time.sleep(5)
        if sel.is_element_present("css=p.other-flow div.unisubs-videoTab a.unisubs-subtitleMeLink span.unisubs-tabTextchoose:contains('Subtitle Me')"):
            sel.click("css=p.other-flow div.unisubs-videoTab a.unisubs-subtitleMeLink span.unisubs-tabTextchoose:contains('Subtitle Me')")
        else:
            sel.get_eval('this.browserbot.getUserWindow().unisubs.widget.Widget.getAllWidgets()[5].openMenu()')          
        make_new_subs(self,sel,subtextfile)
        #Playback Subs
        time.sleep(5)
        try:
            sel.get_eval('this.browserbot.getUserWindow().unisubs.widget.Widget.getAllWidgets()[5].play()')
            mslib.wait_for_element_present(self,sel,"css=p.other-flow span.unisubs-captionSpan")
            sel.get_eval('this.browserbot.getUserWindow().unisubs.widget.Widget.getAllWidgets()[5].pause()')
            caption_position =  sel.get_element_height("css=p.other-flow span.unisubs-captionSpan")
            verify_caption_position(self,sel,caption_position)
        except:
            print "sub position playback failed"
            self.verificationErrors.append("sub playback / position test failed")
    def test_737(self):
        """flowplayer offsite embed - subtitle and playback
 
        http://litmus.pculture.org/show_test.cgi?id=737
        Flowplayer with widget embedded on Miro Community test page.
        """
        mc_page = "embed_tests"
        vid_title = "flow player test"
        subtextfile = os.path.join(testvars.MSTestVariables["DataDirectory"], "737_flow.txt")
        print self.shortDescription()
        sel = self.selenium
        test_page = selvars.set_unisubs_mc_page(self, mc_page)
        sel.open(test_page)
        sel.wait_for_page_to_load(testvars.timeout)
        time.sleep(5)
        if sel.is_element_present(
            "css=p.other-flow div.unisubs-videoTab a.unisubs-subtitleMeLink span.unisubs-tabTextchoose:contains('Subtitle Me')"
        ):
            sel.click(
                "css=p.other-flow div.unisubs-videoTab a.unisubs-subtitleMeLink span.unisubs-tabTextchoose:contains('Subtitle Me')"
            )
        else:
            sel.get_eval("this.browserbot.getUserWindow().unisubs.widget.Widget.getAllWidgets()[5].openMenu()")
        make_new_subs(self, sel, subtextfile)
        # Playback Subs
        time.sleep(5)
        try:
            sel.get_eval("this.browserbot.getUserWindow().unisubs.widget.Widget.getAllWidgets()[5].play()")
            mslib.wait_for_element_present(self, sel, "css=p.other-flow span.unisubs-captionSpan")
            sel.get_eval("this.browserbot.getUserWindow().unisubs.widget.Widget.getAllWidgets()[5].pause()")
            caption_position = sel.get_element_height("css=p.other-flow span.unisubs-captionSpan")
            verify_caption_position(self, sel, caption_position)
        except:
            print "sub position playback failed"
            self.verificationErrors.append("sub playback / position test failed")
Ejemplo n.º 17
0
def Login(self,sel,auth_type):
    """
    Description: Log on using website button and select an external login option.
    auth_type can be either 'twitter', 'open-id', or 'google'

    Requires: valid account for selected login.  See testvars for existing accounts.

    Pre-condition: user is on the site page
    
    Post-condition: offsite login form displayed, see offsite
    
    
    """
    # auth_type can be either ".twitter", ".open-id", "google"
    if auth_type == "twitter":
        auth_link = "css=a#twitter.provider"
    elif auth_type == "open-id":
        auth_link = "css=a#open-id.provider"
    elif auth_type == "google":
        auth_link = "css=a#google.provider"
    else:
        self.fail("unrecognized auth type")
    sel.select_window("null")
    mslib.wait_for_element_present(self,sel,testvars.WebsiteUI["Login_Button"])
    sel.click(testvars.WebsiteUI["Login_Button"])
    mslib.wait_for_element_present(self,sel,auth_link)
    sel.click(auth_link)
    sel.wait_for_page_to_load(testvars.MSTestVariables["TimeOut"])
 def test_741(self):
     """widgetizer on MC site html5 mp4.
     http://litmus.pculture.org/show_test.cgi?id=741
     Video with widget embedded on Miro Community test page.
     """
     print self.shortDescription()
     sel = self.selenium
     mc_page = "widgetizer_tests"
     test_page = selvars.set_unisubs_mc_page(self,mc_page)
     sel.open(test_page)
     sel.wait_for_page_to_load(testvars.timeout)
     mslib.wait_for_element_present(self, sel,"body#video_page div.unisubs-videoTab:nth-child(2) >  a.unisubs-subtitleMeLink span.unisubs-tabTextchoose")
     time.sleep(3)
     sel.get_eval('this.browserbot.getUserWindow().unisubs.widget.Widget.getAllWidgets()[1].openMenu()')
     time.sleep(2)
     if sel.is_element_present(testvars.WebsiteUI["AddSubtitles_menuitem"]) == True:
         print "has subtitles - edit and revert"
         subtextfile = "subs.txt"
         orig_rev = store_subs(self,sel)
         sel.open(test_page)
         sel.wait_for_page_to_load(testvars.timeout)
         mslib.wait_for_element_present(self,sel,testvars.WebsiteUI["SubtitleMe_menu"])
         time.sleep(3)
         sel.get_eval('this.browserbot.getUserWindow().unisubs.widget.Widget.getAllWidgets()[1].openMenu()')
         widget.starter_dialog_edit_orig(self,sel)
         edit_subs(self,sel,orig_rev,subtextfile)          
     else:
         make_new_subs(self,sel,subtextfile)
Ejemplo n.º 19
0
def click_time_shift_arrows(self,sel,subtextfile):
    """
    Description: clicks the left and right arrows on subtitle text box.
    Verifies that the time has been changed by .05 seconds.

    Options:
        subtextfile - text used in transcribe step.
        
    """
    sub_li = 1
    sel.select_window("null")
    mslib.wait_for_element_present(self,sel,"css=.unisubs-activestep:contains('3')")
    mslib.wait_for_element_present(self,sel,testvars.WidgetUI["Sync_sub"])
    sub_cell_start_time = "css=li:nth-child("+str(sub_li)+") > .unisubs-timestamp span span.unisubs-timestamp-time"
    up_arrow = "css=li:nth-child("+str(sub_li)+") > .unisubs-timestamp span .unisubs-changeTime .unisubs-up"
    down_arrow = "css=li:nth-child("+str(sub_li)+") > .unisubs-timestamp span .unisubs-changeTime .unisubs-down"
    for x in range(0,3):  
        #Click up (right) and verify time jump of .05 seconds
        start_time = sel.get_text(sub_cell_start_time)
        sel.focus(up_arrow)
        sel.click_at(up_arrow,"")
        new_start_time = sel.get_text(sub_cell_start_time)
        self.assertAlmostEqual(mslib.calc_time_diff(start_time,new_start_time),float(.05),3)
        #maybe verify the pixel change on the timeline
    for x in range(0,3):
        #Click text-arrow right and verify time jump
        start_time = sel.get_text(sub_cell_start_time)
        sel.click_at(down_arrow,"")
        new_start_time = sel.get_text(sub_cell_start_time)
        self.assertAlmostEqual(mslib.calc_time_diff(new_start_time,start_time),float(.05),3)
Ejemplo n.º 20
0
 def test_691(self):
     """Pagedemo New York Times video 1 - forked the subs and create a fresh set of captions in hr lang.
     
     http://litmus.pculture.org/show_test.cgi?id=691
     """
     test_id = 691
     sel = self.selenium
     testpage = "/pagedemo/nytimes_youtube_embed"
     subtextfile = os.path.join(testvars.MSTestVariables["DataDirectory"],"OctopusGarden.txt")
     sel.open(testpage)
     sel.wait_for_page_to_load(testvars.timeout)
     sel.window_maximize()
     mslib.wait_for_element_present(self,sel,testvars.WebsiteUI["SubtitleMe_menu"])
     time.sleep(5)
     sel.get_eval('this.browserbot.getUserWindow().unisubs.widget.Widget.getAllWidgets()[0].openMenu()')
     widget.open_starter_dialog(self,sel)
     widget.starter_dialog_fork(self,sel,to_lang='hr')
     widget.transcribe_video(self, sel, subtextfile)
     widget.sync_video(self, sel, subtextfile)
     widget.site_login_from_widget_link(self,sel)
     #verify subs still present
     print "verifying subtitles are still present"
     sel.select_window("null")
     mslib.wait_for_element_present(self,sel,"css=.unisubs-titlesList")
     widget.verify_sub_text(self,sel,subtextfile)
     if sel.is_element_present("css=.unisubs-modal-login"): #Login
         sel.click("css=.unisubs-log")
         widget.site_login_auth(self,sel)
         sel.select_window("null")
     widget.submit_sub_edits(self,sel,offsite=True)
Ejemplo n.º 21
0
    def test_689(self):
        """Pagedemo New York Times video 1 - edit original subs
        
        http://litmus.pculture.org/show_test.cgi?id=689
        """
        test_id = 689
        sel = self.selenium
        testpage = "/pagedemo/nytimes_youtube_embed"
        subtextfile = os.path.join(testvars.MSTestVariables["DataDirectory"],"OctopusGarden.txt")
        sel.open(testpage)
        sel.wait_for_page_to_load(testvars.timeout)
        sel.window_maximize()
        mslib.wait_for_element_present(self,sel,testvars.WebsiteUI["SubtitleMe_menu"])
        time.sleep(5)
        sel.get_eval('this.browserbot.getUserWindow().unisubs.widget.Widget.getAllWidgets()[0].openMenu()')
        widget.starter_dialog_edit_orig(self,sel)
        widget.goto_step(self,sel,step="2")
        widget.edit_text(self,sel,subtextfile)
        #Login

        if sel.is_element_present("css=div div.unisubs-needLogin a"):
            sel.click("css=div div.unisubs-needLogin a")
            mslib.wait_for_element_present(self,sel,"css=.unisubs-modal-login")
            sel.click("css=.unisubs-log")
            widget.site_login_auth(self,sel)
            sel.select_window("null")
        widget.submit_sub_edits(self,sel,offsite=True)
Ejemplo n.º 22
0
def verify_sub_upload(self, sel, sub_file, lang=""):
    """Verifies the uploaded subtitle text matches the text of a corresponing test file.

    """
    mslib.wait_for_element_present(self, sel, "css=p.feedback-message")
    sel.click("css=div#upload_subs-div a.close")
    time.sleep(15)
    sel.refresh()
    time.sleep(3)
    mslib.wait_for_element_present(self, sel, testvars.video_original)
    sub_td = 1
    if lang == "":
        #assuming original lang if no lang specified.
        sel.click(testvars.video_original)
        sel.wait_for_page_to_load(testvars.timeout)
    else:
        sel.click(testvars.video_lang + ":contains('" + lang + "')")
        sel.wait_for_page_to_load(testvars.timeout)

    for line in codecs.open(sub_file, encoding='utf-8'):
        subline = line.split(',')
        sub = subline[0].rstrip()
        self.assertTrue("css=tr:nth-child(" + str(sub_td) +
                        ") > td.last:contains(" + sub + ")")
        sub_td = sub_td + 1
Ejemplo n.º 23
0
    def test_486(self):
        """Revisions - edit subtitles timing and verify in history table.

        http://litmus.pculture.org/show_test.cgi?id=486
        """
        sel = self.selenium
        sel.set_timeout(testvars.MSTestVariables["TimeOut"])
        sel.open("/")
        subtextfile = os.path.join(testvars.MSTestVariables["DataDirectory"],
                                   "OctopusGarden.txt")
        print "submitting a youtube video, format: "
        vid_url = offsite.get_youtube_video_url(self)
        # Submit Video
        print "logging in and submitting video"
        website.SiteLogIn(self, sel, testvars.siteuser, testvars.passw)
        website.submit_video(self, sel, vid_url)
        # Verify embed and player
        print "verifying embed"
        unisubs_url = website.verify_submitted_video(self,
                                                     sel,
                                                     vid_url,
                                                     embed_type="youtube")
        # Start sub widget
        print "starting sub widget"
        website.start_sub_widget(self, sel)
        # Transcribe
        print "transcribing video"
        widget.transcribe_video(self, sel, subtextfile)
        # Sync
        print "syncing video"
        widget.sync_video(self, sel, subtextfile)
        # Review
        print "review step - just submitting video"
        widget.submit_sub_edits(self, sel)
        mslib.wait_for_element_present(self, sel, testvars.video_video_info)
        sel.select_frame("relative=top")
        sel.click(testvars.video_original)
        sel.wait_for_page_to_load(testvars.MSTestVariables["TimeOut"])
        # Verify subtitles
        website.verify_subs(self, sel, subtextfile)
        sel.click(testvars.video_add_translation)
        widget.starter_dialog_edit_orig(self, sel)
        widget.goto_step(self, sel, "2")
        widget.resync_video(self, sel, subtextfile)
        widget.submit_sub_edits(self, sel)
        time.sleep(2)
        sel.select_frame("relative=top")
        # Click History tab
        sel.click(testvars.video_original)
        sel.wait_for_page_to_load(testvars.MSTestVariables["TimeOut"])
        sel.click(testvars.history_tab)
        rev_num = website.get_current_rev(self, sel)
        website.verify_latest_history(self,
                                      sel,
                                      rev=str(rev_num),
                                      user="******",
                                      tm="100%",
                                      text="0%")
        website.admin_delete_video(self, sel, unisubs_url)
Ejemplo n.º 24
0
def SiteLogout(self, sel):
    """
    Description: Logout of site using site Logout button.

    """
    sel.open("/logout/?next=/")
    mslib.wait_for_element_present(self, sel,
                                   testvars.WebsiteUI["Login_Button"])
Ejemplo n.º 25
0
def click_lang_tab(self,sel,language):
    """Click on a lanugage tab.

    Assumes you are on the videos tab and know the lang you want.
    """
    mslib.wait_for_element_present(self,sel,testvars.video_lang+":contains('"+language+"')")
    sel.click(testvars.video_lang+":contains('"+language+"')")
    sel.wait_for_page_to_load(testvars.MSTestVariables["TimeOut"])
    self.failUnless(sel.is_element_present(testvars.video_lang_hd+":contains('"+language+"')"))
Ejemplo n.º 26
0
    def test_613(self):
        """Submit a video and add to team.

        http://litmus.pculture.org/show_test.cgi?id=613.      
        """
        sel = self.selenium
        sel.set_timeout(testvars.timeout)
        #login
        website.SiteLogIn(self,sel,testvars.siteuser,testvars.passw)
        #create team
        team = "miro"+time.strftime("%m%d%H%M%S", time.gmtime())
        team_logo_path = os.path.join(testvars.MSTestVariables["DataDirectory"],"sheep.png")
        website.open_teams_page(self,sel)
        sel.click(testvars.start_team)
        sel.wait_for_page_to_load(testvars.timeout)
        website.create_team(self,sel,team,team_logo_path)
        
        #submit video
        sel.window_maximize()
        test_video_url = website.submit_random_youtube(self,sel)
        print test_video_url
        mslib.wait_for_element_present(self,sel,"css=span.sort_label strong:contains('Add video')")
        vid_title = sel.get_text(testvars.vid_title)
        #add video to team and verify values
        teamli = "add/video/"+team



                  
        sel.click(testvars.video_add_to_team)
##        sel.click_at("css=span.sort_label strong:contains('Add video')","")
        sel.click_at("css=a[href*='"+teamli+"']","")
        
        sel.wait_for_page_to_load(testvars.timeout)
        print "verifying the inital add page"

        if sel.is_element_present("css=.errorlist")== True:
            print "error adding video to team"
            self.fail()
        else:
            mslib.wait_for_text_present(self,sel,"Video language")
            sel.select("id_language", "value=en")
            sel.click(testvars.teams_save)
            sel.wait_for_page_to_load(testvars.timeout)
        self.assertTrue(sel.is_element_present("css=li.active a:contains('"+team+"')"))
        sel.click(testvars.teams_video_tab)
        sel.wait_for_page_to_load(testvars.timeout)
        print "verifying team videos list"
        self.assertTrue(sel.is_element_present("css=tr.video-container td a[href*='"+test_video_url+"info/']"),"test_video_url error")
#        self.assertTrue(sel.is_element_present("css=tr.video-container td:contains('"+vid_title[0:10]+"')"),"vid_title error")
        # delete the video from the team
        sel.click("css=td a:contains('"+vid_title[0:10]+"') +div +div +div.small.grey a.remove-video")
        self.failUnless(re.search(r"^Remove this video[\s\S]$", sel.get_confirmation()))

        # logout
        sel.click(testvars.WebsiteUI["Logout_Button"])
Ejemplo n.º 27
0
def get_diff_url(self,sel,rev_link):
    """Gets the url id of a revision for comparing.

    """
    sel.click(rev_link)
    mslib.wait_for_element_present(self,sel,"css=ul.breadcrumb li a:contains('Revision History')")
    d = sel.get_eval("window.location")
    diff_id = d.split('/')[-1]
    sel.click("css=ul.breadcrumb li a:contains('Revision History')")
    sel.wait_for_page_to_load(testvars.MSTestVariables["TimeOut"])
    return diff_id
Ejemplo n.º 28
0
def verify_login(self,sel,username="******"):
    """
    Description: Verifies user is logged in by finding the logout button on the
    website and then starting the demo and looking for logout menu item on the
    Subtitle Me button.

    Pre-Condition: must be logged into site.

    """
    mslib.wait_for_element_present(self,sel,"css=li[id=me_menu]")
    self.failUnless(sel.is_element_present("css=div[id=menu_name]:contains('"+username+"')"),\
                    "user not logged in, user_panel not displayed")
Ejemplo n.º 29
0
def click_lang_tab(self, sel, language):
    """Click on a lanugage tab.

    Assumes you are on the videos tab and know the lang you want.
    """
    mslib.wait_for_element_present(
        self, sel, testvars.video_lang + ":contains('" + language + "')")
    sel.click(testvars.video_lang + ":contains('" + language + "')")
    sel.wait_for_page_to_load(testvars.MSTestVariables["TimeOut"])
    self.failUnless(
        sel.is_element_present(testvars.video_lang_hd + ":contains('" +
                               language + "')"))
Ejemplo n.º 30
0
def verify_login(self, sel, username="******"):
    """
    Description: Verifies user is logged in by finding the logout button on the
    website and then starting the demo and looking for logout menu item on the
    Subtitle Me button.

    Pre-Condition: must be logged into site.

    """
    mslib.wait_for_element_present(self, sel, "css=li[id=me_menu]")
    self.failUnless(sel.is_element_present("css=div[id=menu_name]:contains('"+username+"')"),\
                    "user not logged in, user_panel not displayed")
Ejemplo n.º 31
0
def get_diff_url(self, sel, rev_link):
    """Gets the url id of a revision for comparing.

    """
    sel.click(rev_link)
    mslib.wait_for_element_present(
        self, sel, "css=ul.breadcrumb li a:contains('Revision History')")
    d = sel.get_eval("window.location")
    diff_id = d.split('/')[-1]
    sel.click("css=ul.breadcrumb li a:contains('Revision History')")
    sel.wait_for_page_to_load(testvars.MSTestVariables["TimeOut"])
    return diff_id
Ejemplo n.º 32
0
def GmailAuth(self,sel,user,passw):
    """
    Description: Perform gmail account sign-in once window
                 has been launced via website or widget.
    Requires: valid username and password
    """
    sel.select_pop_up("null")
    print "gmail auth: "+ user
    mslib.wait_for_element_present(self,sel,"signIn")
    sel.type("Email", user)
    sel.type("Passwd", passw)
    sel.click("signIn")
    sel.wait_for_page_to_load(testvars.timeout)
Ejemplo n.º 33
0
def GmailAuth(self, sel, user, passw):
    """
    Description: Perform gmail account sign-in once window
                 has been launced via website or widget.
    Requires: valid username and password
    """
    sel.select_pop_up("null")
    print "gmail auth: " + user
    mslib.wait_for_element_present(self, sel, "signIn")
    sel.type("Email", user)
    sel.type("Passwd", passw)
    sel.click("signIn")
    sel.wait_for_page_to_load(testvars.timeout)
Ejemplo n.º 34
0
 def test_400(self):
     """Widget Step 1, Skip-back functionality
     
     http://litmus.pculture.org/show_test.cgi?id=400
     """
     print "starting testcase 400 - shift-tab to skip back on step 1"
     print "known bug: http://bugzilla.pculture.org/show_bug.cgi?id=14292"
     sel = self.selenium
     sel.set_timeout(testvars.MSTestVariables["TimeOut"])
     subtextfile = os.path.join(testvars.MSTestVariables["DataDirectory"],
                                "switch-to-firefox.txt")
     # be sure logged out
     website.SiteLogout(self, sel)
     website.start_demo(self, sel)
     website.start_sub_widget(self, sel, login=False)
     #set mode to expert and wait for video to load
     mode_label = sel.get_text(
         "css=.unisubs-speedmode option:contains('Expert')")
     sel.select("//select", "label=" + mode_label)
     mslib.wait_for_video_to_buffer(self, sel)
     # start playback
     sel.click(testvars.WidgetUI["Play_pause"])
     mslib.wait_for_element_present(self, sel,
                                    testvars.WidgetUI["Video_pause_button"])
     # wait for play to advance and test with screen button
     time.sleep(7)
     for x in range(0, 3):
         # get the time, skip back and get the time again
         start_time = sel.get_text(testvars.WidgetUI["Video_elapsed_time"])
         sel.click(testvars.WidgetUI["Skip_back"])
         time.sleep(1)
         sel.click(testvars.WidgetUI["Play_pause"])
         time.sleep(.50)
         stop_time = sel.get_text(testvars.WidgetUI["Video_elapsed_time"])
         diff_time = int(start_time) - int(stop_time)
         self.failUnless(diff_time > 5)
         sel.click(testvars.WidgetUI["Play_pause"])
         time.sleep(10)
     # wait for play to advance and test with keyboard key
     # get the time, skip back and get the time again
     start_time = sel.get_text(testvars.WidgetUI["Video_elapsed_time"])
     sel.shift_key_down()
     sel.type_keys("css=.unisubs-play", u'\u0009')
     sel.shift_key_up()
     sel.click(testvars.WidgetUI["Play_pause"])
     time.sleep(.50)
     stop_time = sel.get_text(testvars.WidgetUI["Video_elapsed_time"])
     diff_time = int(start_time) - int(stop_time)
     self.failUnless(diff_time > 5)
     sel.click(testvars.WidgetUI["Play_pause"])
     time.sleep(10)
Ejemplo n.º 35
0
def feature_video(self,sel,action='Feature'):
    """As an admin user, Feature or Unfeature a video.

    Assumes logged in as an admin user.
    Action can be 'Feature' or 'Unfeature'
    """
    mslib.wait_for_element_present(self,sel,"css=ul#admin-menu.left_nav li a:contains('eature')")
    if not sel.is_element_present("css=ul#admin-menu.left_nav li a:contains('"+action+"')"):
        print "video already",action
    else:
        sel.click("css=ul#admin-menu.left_nav li a:contains('eature')")
        mslib.wait_for_element_present(self,sel,"css=ul#admin-menu.left_nav li a:contains('eature')")
    vid_url = sel.get_attribute("css=ul#video-menu.left_nav li:nth-child(1) >  a@href")
    return vid_url
Ejemplo n.º 36
0
def get_vimeo_video_url(self):

    if "firefox" not in selvars.set_browser():
        vimeoURL = "http://vimeo.com/25378567"
    else:
        self.selenium = (selenium(
            selvars.set_localhost(), selvars.set_port(),
            selvars.set_browser("vimeo", " get video url"),
            "http://vimeo.com/"))
        self.selenium.start()
        vsel = self.selenium
        try:
            vsel.set_timeout(testvars.MSTestVariables["TimeOut"])
            vsel.open("groups/all/sort:recent")
            vsel.wait_for_page_to_load(testvars.MSTestVariables["TimeOut"])
            vsel.click("css=.detail_format a.thumbnail")
            mslib.wait_for_element_present(
                self, vsel, "css=div.tabmain a:contains('Videos')")
            vsel.click("css=div.tabmain a:contains('Videos')")
            mslib.wait_for_element_present(self, vsel,
                                           "css=div#vimeo_dropdown_2")
            vsel.click_at("css=div#vimeo_dropdown_2", "")
            vsel.click_at("css=li#detail", "")
            mslib.wait_for_element_present(self, vsel,
                                           "css=.thumbnail_box a.thumbnail")
            vsel.click("css=.thumbnail_box a.thumbnail")
            mslib.wait_for_element_present(self, vsel, "css=input#clip_id")
            urlid = vsel.get_value("css=input#clip_id")
            vimeoURL = "http://vimeo.com/" + urlid
            print vimeoURL
        finally:
            vsel.stop()
    return vimeoURL
Ejemplo n.º 37
0
def Login(self,sel,auth_type):
    """
    Description: Initiates login sequence using the Subtitle Me menu that's attached to
    an embedded video, either onsite or offsite.

    auth_type can be 'log' (for site), 'twitter','openid','google'
    Requires valid accounts for chosen login type

    Pre-condition: Subtitle me widget menu should be present on page.

    Post-condition: either site or external login authorization pages are opened.
    For offsite login options see <a href="offsite.html">offsite</a>
    """
    print "logging in using "+auth_type+ " account"
    mslib.wait_for_element_present(self,sel, testvars.WebsiteUI["SubtitleMe_menu"])
    sel.click(testvars.WebsiteUI["SubtitleMe_menu"])
    time.sleep(5)  # give the widget a chance to open directly if it's going to.
    select_video_language(self,sel)
    close_howto_video(self,sel)
            
    if sel.is_element_present("css=.unisubs-modal-widget"):
        mslib.wait_for_element_present(self,sel,testvars.WidgetUI["Must_Login"])
        sel.click(testvars.WidgetUI["Must_Login"])
        
    else:
        if sel.is_element_present("css=.unisubs-uniLogo"):
            mslib.wait_for_element_present(self,sel,testvars.WebsiteUI["Login_menuitem"])
            sel.click(testvars.WebsiteUI["Login_menuitem"])

 #   sel.select_frame("relative=top")
    mslib.wait_for_element_present(self,sel,"css=.unisubs-modal-login-content")
    sel.click("css=a.unisubs-" +auth_type)
Ejemplo n.º 38
0
def get_vimeo_video_url(self):

    if "firefox" not in selvars.set_browser():
        vimeoURL = "http://vimeo.com/25378567"
    else:
        self.selenium = (selenium(selvars.set_localhost(), selvars.set_port(), selvars.set_browser("vimeo"," get video url"), "http://vimeo.com/"))
        self.selenium.start()
        vsel= self.selenium
        try:
            vsel.set_timeout(testvars.MSTestVariables["TimeOut"])
            vsel.open("groups/all/sort:recent")
            vsel.wait_for_page_to_load(testvars.MSTestVariables["TimeOut"])
            vsel.click("css=.detail_format a.thumbnail")
            mslib.wait_for_element_present(self,vsel,"css=div.tabmain a:contains('Videos')")
            vsel.click("css=div.tabmain a:contains('Videos')")
            mslib.wait_for_element_present(self,vsel,"css=div#vimeo_dropdown_2")
            vsel.click_at("css=div#vimeo_dropdown_2", "")
            vsel.click_at("css=li#detail", "")
            mslib.wait_for_element_present(self,vsel,"css=.thumbnail_box a.thumbnail")
            vsel.click("css=.thumbnail_box a.thumbnail")
            mslib.wait_for_element_present(self, vsel,"css=input#clip_id")
            urlid = vsel.get_value("css=input#clip_id")
            vimeoURL = "http://vimeo.com/"+urlid
            print vimeoURL
        finally:
            vsel.stop()
    return vimeoURL
Ejemplo n.º 39
0
    def test_486(self):
        """Revisions - edit subtitles timing and verify in history table.

        http://litmus.pculture.org/show_test.cgi?id=486
        """
        sel = self.selenium
        sel.set_timeout(testvars.MSTestVariables["TimeOut"])
        sel.open("/")
        subtextfile = os.path.join(testvars.MSTestVariables["DataDirectory"],"OctopusGarden.txt")
        print "submitting a youtube video, format: "
        vid_url = offsite.get_youtube_video_url(self)
        # Submit Video
        print "logging in and submitting video"
        website.SiteLogIn(self,sel,testvars.siteuser,testvars.passw)
        website.submit_video(self,sel,vid_url)
        # Verify embed and player
        print "verifying embed"
        unisubs_url = website.verify_submitted_video(self,sel,vid_url,embed_type="youtube")
        # Start sub widget
        print "starting sub widget"
        website.start_sub_widget(self,sel)
        # Transcribe
        print "transcribing video"
        widget.transcribe_video(self,sel,subtextfile)
        # Sync
        print "syncing video"
        widget.sync_video(self,sel,subtextfile)
        # Review
        print "review step - just submitting video"
        widget.submit_sub_edits(self,sel)
        mslib.wait_for_element_present(self,sel,testvars.video_video_info)
        sel.select_frame("relative=top")
        sel.click(testvars.video_original)
        sel.wait_for_page_to_load(testvars.MSTestVariables["TimeOut"])
        # Verify subtitles
        website.verify_subs(self,sel,subtextfile)
        sel.click(testvars.video_add_translation)
        widget.starter_dialog_edit_orig(self,sel)
        widget.goto_step(self,sel,"2")
        widget.resync_video(self,sel,subtextfile)
        widget.submit_sub_edits(self,sel)
        time.sleep(2)
        sel.select_frame("relative=top")
        # Click History tab
        sel.click(testvars.video_original)
        sel.wait_for_page_to_load(testvars.MSTestVariables["TimeOut"])
        sel.click(testvars.history_tab)
        rev_num = website.get_current_rev(self,sel)
        website.verify_latest_history(self,sel,rev=str(rev_num),user="******",tm="100%",text="0%")
        website.admin_delete_video(self,sel,unisubs_url)
Ejemplo n.º 40
0
    def test_494(self):
        """Revisions - translation - invalid comparison selection

        http://litmus.pculture.org/show_test.cgi?id=494
        """
        sel = self.selenium
        sel.set_timeout(testvars.MSTestVariables["TimeOut"])
        subtextfile = os.path.join(testvars.MSTestVariables["DataDirectory"],
                                   "OctopusGarden.txt")
        website.SiteLogIn(self, sel, testvars.siteuser, testvars.passw)
        #get a video and open page
        test_video_url = website.get_video_with_translations(self, sel)
        print test_video_url
        sel.open(test_video_url)
        language = website.get_translated_lang(self, sel)
        website.click_lang_tab(self, sel, language)

        ## if not enough revisions for comparison, edit the sub text.
        rev_num = website.get_current_rev(self, sel)
        print rev_num
        while rev_num < 2:
            print "only 2 or less revs - editing text first"
            #edit text
            sel.click(testvars.video_edit_subtitles)
            mslib.wait_for_element_present(self, sel,
                                           "css=div.unisubs-help-heading")
            if sel.is_element_present(
                    "css=h2:contains('Editing Translation')"):
                widget.edit_translation(self, sel, subtextfile)
            else:
                widget.goto_step(self, sel, step="3")
                widget.edit_text(self, sel, subtextfile)

            widget.submit_sub_edits(self, sel)
            rev_num = website.get_current_rev(self, sel)

        sel.click(testvars.history_tab)
        row_num = 1
        website.check_the_box(self, sel, row_num)  #uncheck the box to start
        while sel.is_element_present(
                "//div[@id='revisions-tab']/table/tbody/tr[" + str(row_num) +
                "]"):
            website.check_the_box(self, sel, row_num)
            sel.click(testvars.video_compare_revisions)
            self.assertEqual("Select two revisions to compare, please",
                             sel.get_alert())
            website.check_the_box(self, sel, row_num)  #uncheck the box
            row_num += 1
            if row_num == 3:
                break
Ejemplo n.º 41
0
    def test_410(self):
        """Widget Step 3, skip-back functionality.

        http://litmus.pculture.org/show_test.cgi?id=410
        """
        print "starting testcase 410"
        sel = self.selenium
        sel.set_timeout(testvars.MSTestVariables["TimeOut"])
        subtextfile = os.path.join(testvars.MSTestVariables["DataDirectory"],
                                   "switch-to-firefox.txt")
        # be sure logged out
        website.SiteLogout(self, sel)
        website.start_demo(self, sel)
        #start sub widget
        website.start_sub_widget(self, sel, login=False)
        #complete step 1 typing
        widget.transcribe_video(self, sel, subtextfile, buffer="yes")
        #complete step 2 syncing
        widget.sync_video(self, sel, subtextfile)
        #on step 3 test ctrl to skip back
        mslib.wait_for_element_present(self, sel,
                                       testvars.WidgetUI["Play_pause"])
        time.sleep(3)
        sel.click(testvars.WidgetUI["Play_pause"])
        # wait for play to advance and test with screen button
        time.sleep(10)
        print "1. screen button skip back"
        for x in range(0, 3):
            # get the time, skip back and get the time again
            start_time = sel.get_text(testvars.WidgetUI["Video_elapsed_time"])
            sel.click_at(testvars.WidgetUI["Skip_back"], "")
            time.sleep(1)
            stop_time = sel.get_text(testvars.WidgetUI["Video_elapsed_time"])
            diff_time = float(start_time) - float(stop_time)
            self.assertTrue(diff_time > 5)
            #wait for playback to progress
            time.sleep(10)
        # wait for play to advance and test with keyboard key
        # get the time, skip back and get the time again
        start_time = sel.get_text(testvars.WidgetUI["Video_elapsed_time"])
        print "2. key button skip back"
        sel.shift_key_down()
        sel.type_keys("css=.unisubs-right", u'\u0009')
        sel.shift_key_up()
        time.sleep(1)
        stop_time = sel.get_text(testvars.WidgetUI["Video_elapsed_time"])
        diff_time = int(start_time) - int(stop_time)
        print diff_time
        self.assertTrue(diff_time > 5)
    def test_488(self):
        """Add comments on a translation
        
        http://litmus.pculture.org/show_test.cgi?id=488
        """

        sel = self.selenium
        sel.set_timeout(testvars.MSTestVariables["TimeOut"])
        #get a video and open page
        website.SiteLogout(self, sel)
        test_video_url = website.get_video_with_translations(self, sel)
        print test_video_url
        sel.open(test_video_url)
        language = website.get_translated_lang(self, sel)

        #Open the Language tab / then the comments
        mslib.wait_for_element_present(
            self, sel, testvars.video_lang + ":contains('" + language + "')")
        sel.click(testvars.video_lang + ":contains('" + language + "')")
        mslib.wait_for_element_present(
            self, sel,
            testvars.video_lang_hd + ":contains('" + language + "')")
        sel.click(testvars.comments_tab)

        #Not logged in, enter a comment
        print "1. trying to enter a comment when not logged in"
        ctext = "this comment should never post"
        website.enter_comment_text(self, sel, ctext)
        website.verify_comment_text(self, sel, ctext, result="login")

        #Login and go to language comments page
        website.SiteLogIn(self, sel, testvars.siteuser, testvars.passw)
        sel.open(test_video_url)
        mslib.wait_for_element_present(
            self, sel, testvars.video_lang + ":contains('" + language + "')")
        sel.click(testvars.video_lang + ":contains('" + language + "')")
        mslib.wait_for_element_present(
            self, sel,
            testvars.video_lang_hd + ":contains('" + language + "')")
        sel.click(testvars.comments_tab)

        #Enter a 1-char comment
        print "2. entering a 1-char comment on Video Info"
        website.enter_comment_text(self, sel, "d")
        website.verify_comment_text(self, sel, "d")
        #Enter a normal comment
        print "3. entering a normal comment on Video Info"
        website.enter_comment_text(self, sel,
                                   comments_text.normal_comment_text)
        website.verify_comment_text(self, sel,
                                    comments_text.normal_comment_text)
        print "4. entering a too-long comment on Video Info"
        #Enter a too long comment
        website.enter_comment_text(self, sel,
                                   comments_text.normal_comment_text * 10)
        website.verify_comment_text(self,
                                    sel,
                                    comments_text.normal_comment_text,
                                    result="too long")
Ejemplo n.º 43
0
def verify_sub_text(self,sel,subtextfile):
    """
    Description: Compares the current text in the text box with the text in the input subtextfile.

    Pre-condition: User in widget, steps 1,2,3 or Edit.

    """
    print "verifying sub text"
    sel.select_window("null")
    mslib.wait_for_element_present(self,sel,"css=.unisubs-titlesList")
    sub_li=1
    for line in codecs.open(subtextfile,encoding='utf-8'):
        sub_cell_text = "css=li:nth-child("+str(sub_li)+") > .unisubs-title"
        self.assertEqual(line.rstrip(), sel.get_text(sub_cell_text).rstrip())
        sub_li = sub_li + 1
Ejemplo n.º 44
0
def OpenIdAuth(self, sel, user, passw):
    """
    Description: Perform open id [from http://myopenid.com ]account sign-in once window
                 has been launced via website or widget.
    Requires: valid username and password
    """
    print "open id auth: " + user
    sel.select_pop_up("null")
    mslib.wait_for_element_present(self, sel, "openid_url")
    sel.type("css=input.openid", testvars.openiduser)
    sel.click("css=button.green_button.big")
    mslib.wait_for_element_present(self, sel, "id=signin_button")
    sel.type("password", testvars.passw)
    sel.click("id=signin_button")
    sel.wait_for_page_to_load(testvars.timeout)
Ejemplo n.º 45
0
def OpenIdAuth(self,sel,user,passw):
    """
    Description: Perform open id [from http://myopenid.com ]account sign-in once window
                 has been launced via website or widget.
    Requires: valid username and password
    """
    print "open id auth: "+ user
    sel.select_pop_up("null")
    mslib.wait_for_element_present(self,sel,"openid_url")
    sel.type("css=input.openid", testvars.openiduser)
    sel.click("css=button.green_button.big")
    mslib.wait_for_element_present(self,sel,"id=signin_button")
    sel.type("password", testvars.passw)
    sel.click("id=signin_button")
    sel.wait_for_page_to_load(testvars.timeout)
Ejemplo n.º 46
0
def steps_display(self,sel,step_num):
    """
    Description: verifies text contents of Steps.  
    """
    mslib.wait_for_element_present(self,sel,"css=.unisubs-activestep:contains('"+str(step_num)+"')")
    self.assertTrue(str(step_num) == sel.get_text("css=.unisubs-activestep"),"active step is not: "+str(step_num))
    self.assertTrue("tab" == sel.get_text("css=.unisubs-tab"),"tab not in help text")
    if step_num == "1":
        self.assertTrue("Typing" == sel.get_text("css=h2"), "heading is not Typing")
        self.assertEqual("Play next 8 seconds", sel.get_text("css=.unisubs-tab + span"))
    else:
        self.assertEqual("Play/Pause", sel.get_text("css=.unisubs-tab + span"))
    self.assertEqual("shift\n+\ntab", sel.get_text("css=.unisubs-control"))
    self.assertEqual("Skip Back 8 Seconds", sel.get_text("css=.unisubs-control + span"))
    self.assertEqual("Speed Mode", sel.get_text("css=.unisubs-speedmode h4"))
Ejemplo n.º 47
0
def site_login_auth(self,sel):
    """
    Description: specifically logs in as the site user defined in <a href="testvars.html">testvars</a>

    Pre-condition: Login was clicked from widget

    Post-condition: user logged in and returned to widget page.
    """
    time.sleep(5)
    sel.select_pop_up("null")
    mslib.wait_for_element_present(self,sel,"id_username")
    sel.type("id_username", testvars.siteuser)
    sel.type("id_password", testvars.passw)
    sel.click("//button[@value='login']")
    #wait for the login to complete
    time.sleep(10)
 def test_369(self):
     """Subtitle Youtube video in offsite embed.
     
     http://litmus.pculture.org/show_test.cgi?id=369
     """
     print "starting 369 youtube widget test"
     sel = self.selenium
     subtextfile = os.path.join(testvars.MSTestVariables["DataDirectory"], "OctopusGarden.txt")
     sel.set_timeout(testvars.MSTestVariables["TimeOut"])
     sel.open(selvars.set_widget_null_page())
     mslib.wait_for_element_present(self, sel, "css=.left_column span.unisubs-tabTextchoose")
     website.start_sub_widget(self, sel, "css=.left_column span.unisubs-tabTextchoose")
     # Transcribe
     widget.transcribe_video(self, sel, subtextfile)
     # Sync
     widget.sync_video(self, sel, subtextfile, 6, 8)
Ejemplo n.º 49
0
def site_login_from_widget_link(self,sel):
    """
    Description: performs a site login from the Login link on the widget steps.

    Pre-condition: widget is opened and user is not logged in.

    Post-condition: user is returned to starting widget page.
    """
    if sel.is_element_present(testvars.WidgetUI["Must_Login"]):   
        # log in from widget
        sel.click("link=LOGIN")
        mslib.wait_for_element_present(self,sel,"css=.unisubs-modal-login")
        time.sleep(2)
        sel.click("css=.unisubs-log")
        site_login_auth(self,sel)
    else:
        print "User is already logged into site"
 def test_685(self):
     """Pagedemo Blog Youtube Embed - sub position on playback.
     
     http://litmus.pculture.org/show_test.cgi?id=685
     """
     test_id = 685
     sel = self.selenium
     testpage = "/pagedemo/blog_youtube_embed"
     sel.open(testpage)
     sel.wait_for_page_to_load(testvars.timeout)
     sel.window_maximize()
     time.sleep(5)
     sel.get_eval('this.browserbot.getUserWindow().unisubs.widget.Widget.getAllWidgets()[0].play()')
     mslib.wait_for_element_present(self,sel,testvars.WidgetUI["Current_playing_offsite"])
     sel.get_eval('this.browserbot.getUserWindow().unisubs.widget.Widget.getAllWidgets()[0].pause()')
     caption_position =  sel.get_element_height(testvars.WidgetUI["Current_playing_offsite"])
     verify_caption_position(self,sel,caption_position)