当前位置: 首页>>代码示例>>Python>>正文


Python WindmillTestClient.execJS方法代码示例

本文整理汇总了Python中windmill.authoring.WindmillTestClient.execJS方法的典型用法代码示例。如果您正苦于以下问题:Python WindmillTestClient.execJS方法的具体用法?Python WindmillTestClient.execJS怎么用?Python WindmillTestClient.execJS使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在windmill.authoring.WindmillTestClient的用法示例。


在下文中一共展示了WindmillTestClient.execJS方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: setup_module

# 需要导入模块: from windmill.authoring import WindmillTestClient [as 别名]
# 或者: from windmill.authoring.WindmillTestClient import execJS [as 别名]
def setup_module(module):
    "Login and create three lists"
    client = WindmillTestClient(__name__)

    client.asserts.assertNode(id=u"id_username")
    client.type(text=u'visa', id=u'id_username')
    client.asserts.assertNode(id=u"id_password")
    client.type(text=u'salakala', id=u'id_password')
    client.click(value=u'login')
    client.waits.forPageLoad(timeout=u'20000')

    client.asserts.assertText(xpath=u"//div[@id='user-tools']/a", validator=u'Log out')
    client.execJS(js='window.autorefresh_freq = -1;')

    def create_list(i):
        name = 'test list '+str(i)
        client.asserts.assertNotNode(id=u"subscription_"+str(i))
        client.asserts.assertNode(id=u"create_list_nameinput")
        client.type(id=u'create_list_nameinput', text=name)
        client.keyUp(id=u'create_list_nameinput', options='13,false,false,false,false,false')
        client.waits.forElement(id=u"subscription_"+str(i), timeout=u'20000')

    client.asserts.assertJS(js=u"$('#listmenu_listlist').is(':hidden')")
    client.asserts.assertNode(id=u"lists_button")
    client.click(id=u"lists_button") # show list menu
    client.waits.sleep(milliseconds=u'500')
    client.asserts.assertNotJS(js=u"$('#listmenu_listlist').is(':hidden')")
    for i in [1,2,3]:
        create_list(i)
    client.click(id=u"lists_button") # hide list menu
开发者ID:visadb,项目名称:ideaList,代码行数:32,代码来源:__init__.py

示例2: activate_items

# 需要导入模块: from windmill.authoring import WindmillTestClient [as 别名]
# 或者: from windmill.authoring.WindmillTestClient import execJS [as 别名]
def activate_items():
  client = WindmillTestClient(__name__)
  #Names of items to buy and activate
  itemNames = ['Water', 'Coffee', 'Beer', 'Hot milk', 'Coffee to-go']
  login(client, 'root', 'root')
  #Store base URL
  client.storeVarFromJS(options=u"BaseUrl|window.location.href.replace(window.location.search, '')")
  #Go to Shop
  client.storeURL(link=u'Shop')
  client.open(url=u'{$Shop}')
  client.waits.forElement(id=u'items')
  #Buy items
  for itemName in itemNames:
    client.click(jquery=(u"('a[title=%s]')[0]" % itemName))
    client.click(jquery=u"('.poker_submit[onclick*=subtarget]')[0]")
  #Go to medium profile to extract item IDs
  client.open(url=u'{$BaseUrl}?q=poker/profile/medium')
  for itemName in itemNames:
    client.storeVarFromJS(options=(u'%sId|$("img[title=%s]").attr("id")' % (itemName, itemName)))
  #Go and sit to a table
  client.open(url=u'{$BaseUrl}')
  client.waits.forElement(classname=u'jpoker_table_list_table_empty')
  client.click(id=u'play-now-button')
  client.waits.forElement(classname=u'jpoker_table',timeout=u'20000')
  #Items activation using JS (couldn't get Windmill to select and click in the iframe)
  for itemName in itemNames:
    #Set item_id JS variable using a JS assertion because Windmill variables are not working in execJS
    client.asserts.assertJS(js=u'!isNaN(item_id = parseInt("{$%sId}"))' % itemName)
    client.execJS(js=u'os_poker_send_message({type:"os_poker_activate_item", id_item: item_id});')
    #Wait for the item to be received by the player
    client.waits.forElement(classname=u'poker_player_item poker_gift_%s' % itemName.replace(' ', '-'),timeout=u'7000')
  client.click(classname=u'logout')
开发者ID:jakob-stoeck,项目名称:os_poker,代码行数:34,代码来源:activate_items.py

示例3: test

# 需要导入模块: from windmill.authoring import WindmillTestClient [as 别名]
# 或者: from windmill.authoring.WindmillTestClient import execJS [as 别名]
def test():
    client = WindmillTestClient(__name__)

    client.click(id=u'viewNavCenterRight')
    client.waits.sleep(milliseconds=2000)
    client.doubleClick(id=u'hourDiv1-1200')
    client.waits.sleep(milliseconds=2000)
    client.type(text=u'Properties Test', id=u'noteTitle')
    client.type(text=u'9:00', id=u'startTime')
    client.type(text=u'4:00', id=u'endTime')
    client.radio(id=u'startMeridianAM')
    client.radio(id=u'endMeridianPM')
    client.select(id=u'eventStatus', option=u'Tentative')
    client.type(text=u'A description for the properties test', id=u'noteDescription')
    if client.execJS(js='1 == 0')['output']:
        pass
##    if client.execJS(js=''lookupNode({id: 'a_node_id'}).innerHTML")['output'] == "some test":
##       pass
    client.keyPress(id=u'some_id', options='a,true,false,false,false,false')
开发者ID:pylon2008,项目名称:AutoVerify,代码行数:21,代码来源:WindmillTestClient.py

示例4: logged_in_client

# 需要导入模块: from windmill.authoring import WindmillTestClient [as 别名]
# 或者: from windmill.authoring.WindmillTestClient import execJS [as 别名]
def logged_in_client(user='test', passwd='test', client=None):
  """
  Opens up the root URL.  If user is not logged in, logs him in.
  """
  if client is None:
    client = WindmillTestClient(__name__)
  client.open(url=windmill.settings['TEST_URL'] + '?clearSession=true')
  client.waits.forPageLoad()
  client.waits.forElement(classname='hue-loaded')
  if client.execJS(js="!!$('hue-login')")["output"]:
    client.waits.forElement(classname='hue-username')
    client.click(jquery='(".hue-username")[0]')
    client.type(classname='hue-username', text=user)
    client.click(classname='hue-password')
    client.type(classname='hue-password', text=passwd)
    client.click(classname='hue-continue')
  # Health dashboard launches at login; ideally we'd have a 
  # better "ready" notification.
  time.sleep(2.0) # TODO: Hacky sleep!
  client.waits.forElement(classname='loggedIn', timeout='20000')
  return client
开发者ID:18600597055,项目名称:hue,代码行数:23,代码来源:windmill_util.py

示例5: test_wmunti1

# 需要导入模块: from windmill.authoring import WindmillTestClient [as 别名]
# 或者: from windmill.authoring.WindmillTestClient import execJS [as 别名]
def test_wmunti1():
    client = WindmillTestClient(__name__, assertions=False)
    
    assert client.open(url=u'http://tutorial.getwindmill.com/windmill-unittests/unit_tester.html')['result']
    assert client.click(id=u'subBtn')['result']
    
    # Tests that sleeps actually wait for long enough
    start = datetime.now()
    assert client.waits.sleep(milliseconds=u'3000')['result']
    end = datetime.now()
    print (end - start)
    assert ( end - start ).seconds >= 3
    
    assert client.asserts.assertText(validator=u'', id=u'sleeper')['result']
    
    # Tests that an 8 second sleep actually waits long enough
    start = datetime.now()
    assert client.waits.sleep(milliseconds=u'8000')['result']
    end = datetime.now()
    print (end - start)
    assert ( end - start ).seconds >= 8
    
    #execIDEJS and storeURL test
    assert client.storeURL(link='AwesomeLink')
    assert client.execIDEJS(js='windmill.varRegistry.items["{$AwesomeLink}"] = windmill.varRegistry.items["{$AwesomeLink}"].replace(\'http\', \'abcd\');')
    assert client.asserts.assertJS(js="'{$AwesomeLink}' == 'abcd://www.awesome.com/';")
    #unit tests for select by value
    assert client.select(val='d', id='flavor')['result']
    assert client.asserts.assertSelected(validator='d', id='flavor')['result']
    
    assert client.asserts.assertText(validator=u'Slept', id=u'sleeper')['result']
    assert client.type(text=u'my test text', id=u'junkfield')['result']
    assert client.asserts.assertValue(validator=u'my test text', id=u'junkfield')['result']
    assert client.radio(id=u'cougar')['result']
    assert client.asserts.assertChecked(id=u'cougar')['result']
    assert client.radio(id=u'duck')['result']
    assert client.asserts.assertChecked(id=u'duck')['result']
    assert client.check(id=u'Smallpox')['result']
    assert client.asserts.assertChecked(id=u'Smallpox')['result']
    assert not client.asserts.assertChecked(id=u'Mumps')['result']
    assert not client.asserts.assertChecked(id=u'Dizziness')['result']
    assert client.check(id=u'Mumps')['result']
    assert client.asserts.assertChecked(id=u'Mumps')['result']
    assert not client.asserts.assertChecked(id=u'Dizziness')['result']
    assert client.check(id=u'Dizziness')['result']
    assert client.asserts.assertChecked(id=u'Dizziness')['result']
    assert client.type(text=u'The text area tester', name=u'story')['result']
    assert client.asserts.assertValue(validator=u'The text area tester', id=u'story')['result']
    assert client.select(option=u'Strawberry', id=u'flavor')['result']
    assert client.asserts.assertSelected(validator=u'b', id=u'flavor')['result']
    assert client.select(option=u'Rum and Raisin', id=u'flavor')['result']
    assert client.asserts.assertSelected(validator=u'c', id=u'flavor')['result']
    assert not client.asserts.assertSelected(validator=u'd', id=u'flavor')['result']
    assert client.select(option=u'Peach and Orange', id=u'flavor')['result']
    assert client.asserts.assertSelected(validator=u'd', id=u'flavor')['result']
    assert client.click(id=u'clickme')['result']
    assert client.asserts.assertText(validator=u'Clicked', id=u'clickme')['result']
    assert client.doubleClick(id=u'dblclickme')['result']
    assert client.asserts.assertText(validator=u'Double Clicked', id=u'dblclickme')['result']
    assert client.mouseDown(id=u'mousedownme')['result']
    assert client.asserts.assertText(validator=u'mouse downed', id=u'mousedownme')['result']
    assert client.mouseUp(id=u'mouseupme')['result']
    assert client.mouseOver(id=u'mouseoverme')['result']
    assert client.asserts.assertText(validator=u'mouse overred',id=u'mouseoverme')['result']
    assert client.mouseOut(id=u'mouseoverme')['result']
    assert client.asserts.assertText(validator=u'mouseouted',id=u'mouseoverme')['result']
    assert client.asserts.assertText(validator=u'mouse upped', id=u'mouseupme')['result']
    assert client.asserts.assertNode(id=u'amIhere')['result']
    assert client.asserts.assertProperty(validator=u'style.height|50px', id=u'amIhere')['result']
    assert not client.asserts.assertNode(id=u'doesntExist')['result']
    assert not client.asserts.assertNode(id=u'created')['result']
    assert client.click(id=u'wfeBtn')['result']
    assert client.waits.forElement(id=u'created', timeout=u'40000')['result']
    assert client.asserts.assertNode(id=u'created')['result']
    assert client.asserts.assertJS(js=u'window.document.title == "windmill_js_unit"')
    assert client.asserts.assertIDEJS(js=u'window.document.title == "Windmill IDE"')
    assert client.execJS(js=u'window.awesome = true;')
    assert client.asserts.assertJS(js=u'window.awesome == true;')
    assert client.execIDEJS(js=u'window.awesome = false;')
    assert client.asserts.assertIDEJS(js=u'window.awesome == false;')
开发者ID:ept,项目名称:windmill,代码行数:82,代码来源:test_unit.py

示例6: test_scrape_coveritlive

# 需要导入模块: from windmill.authoring import WindmillTestClient [as 别名]
# 或者: from windmill.authoring.WindmillTestClient import execJS [as 别名]
def test_scrape_coveritlive():
    
    client = WindmillTestClient(__name__)
    #client.open(url = 'http://www.coveritlive.com/index2.php/option=com_altcaster/task=viewaltcast/altcast_code=c3c11df0e3/height=600/width=608')
    client.waits.sleep(milliseconds=2000)
    #client.click(id="divsrc2")
    client.execJS(js='displayAuthModal(true)') # removes the "play" button, activates chat.
    #client.waits.sleep(milliseconds=5000) # just wait a couple of seconds for this to load. May want to change to waits.forElement
    client.waits.forElement(classname=u"chatmsg", timeout=10000)
    
    #if there are additional entries, they'll be hidden and AJAX will be required. Let's click the buttons
    #literally no variations of this click work for me.
    #client.click(jquery=u'("td.addlentrytext a")')
    #client.click(xpath=u"//td[@class='addlentrytext']/a")
    
    
    #not totally sure how to wait only until all ajax calls are done, since the ids are random.
    #client.waits.sleep(milliseconds=5000)
    
    #gets the current HTML, after JS has loaded.
    
    trigger_additional_entries(client)
    
    
    
    
    # Create soup from the full page and get desired information
    response = client.commands.getPageText()
    assert response['status']
    assert response['result']
    
    soup = BeautifulSoup(response['result'])
    
    
    
    #container for messages / dates
    message_container = soup.find('div', id = 'mainchattext')
    
    #messages = soup.findAll("div", "chatmsg")
           
    dateline = None
    '''
    this will find all subdivs, in some cases the chatmsg is within another subdiv. This happens if
    there are too many entries in the liveblog and it makes you load the extras via ajax.
    '''
    messages = []
    for message in message_container.findAll('div'):
        if message.has_key('id') and message['id'].find('entry') != -1:
            for m in message.findAll('div'):
                messages.append(m)
        else:
            messages.append(message)
    
    
    for message in messages:
        if not message.has_key('class'):
            print message
            continue
        #try:
        if message['class'].find('dateline') != -1:
            #format: Day-Of-Week Month Date, Year
            #format: %A %B %d, %Y
            dateline = message.text
            print dateline
        
        if message['class'].find('chatmsg') != -1:
            parse_chat_message(message, dateline)
开发者ID:ReportersLab,项目名称:TheVideoNotebook_Public,代码行数:69,代码来源:coveritlive.py


注:本文中的windmill.authoring.WindmillTestClient.execJS方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。