def test_post_submit(): client = WindmillTestClient(__name__) client.open(url='/windmill-unittests/static/frames.html') client.waits.forPageLoad(timeout=20000) client.click(link="Open page in bottom frame") client.asserts.assertText(validator='Success', id='result') client.asserts.assertText(validator='Should still be here', id='control')
def test_get_submit(): client = WindmillTestClient(__name__) client.open(url=u'http://tutorial.getwindmill.com/windmill-unittests/domain_switcher.html') client.type(text=u'simpletest', name=u'q') client.click(name=u'btnG') client.waits.forPageLoad(timeout=20000) client.waits.forElement(link=u'SimpleTest - Unit Testing for PHP', timeout=u'8000')
def test_cancel_add_item(): client = WindmillTestClient(__name__) client.click(id=u'additem_list_1') client.asserts.assertNode(id=u'add_to_begin_of_list_1') client.click(xpath=u"//li[@id='subscription_1']/ul/li/a[@title='cancel']") client.waits.forNotElement(timeout=u'20000', id=u'add_to_begin_of_list_1')
def test_hidewhenCreated(): client = WindmillTestClient(__name__) client.click(link=u'Contents') client.waits.forPageLoad(timeout=u'20000') client.waits.forElement( xpath=u"//a[contains(@href, 'testform/hidewhen1')]", timeout=u'8000')
def test_post_submit(): client = WindmillTestClient(__name__) client.open(url=u'http://tutorial.getwindmill.com/windmill-unittests/domain_switcher.html') client.type(text=u'simpletest', name=u'search_theme_form') client.click(name=u'op') client.waits.forPageLoad(timeout=20000) client.waits.forElement(xpath="//div[@id='squeeze']/h1", timeout=8000) client.asserts.assertJS(js=u"windmill.testWin().document.title == 'Search | drupal.org'")
def test_fold(): client = WindmillTestClient(__name__) signup(client) client.click(id=u'play-now-button') client.waits.forElement(classname=u'jpoker_table') for i in range(100): client.click(classname=u'jpoker_ptable_fold') client.waits.sleep(milliseconds=5000)
def test_tags_page(): client = WindmillTestClient('test_tags_page') client.open(url='/textui') client.waits.forPageLoad(timeout='8000') client.click(link='Continue to the Tags Interface...') client.waits.forPageLoad(timeout='20000') client.asserts.assertNode(id='tags')
def test_601(): client = WindmillTestClient(__name__) client.waits.forElement(timeout=u'30000', id=u'ext-gen96') client.click(id=u'ext-gen96') client.waits.forElement(timeout=u'30000', id=u'ext-gen167') client.check(xpath=u"//ul[@id='ext-gen167']/div/li[2]/div/input") client.check(xpath=u"//ul[@id='ext-gen167']/div/li[2]/div/input") client.asserts.assertText(validator=u'Communes', id=u'ext-comp-1090')
def setup_module(module): client = WindmillTestClient('setup_module_login') client.type(text='test_admin', id='id_username') client.type(text='test_admin', id='id_password') client.click(value='Ok') client.waits.forPageLoad(timeout='20000') client.asserts.assertNode(link='Visual Map') client.asserts.assertNode(link='Textual')
def test_recordingSuite0(): client = WindmillTestClient(__name__, assertions=False) assert client.open(url=u'http://tutorial.getwindmill.com/windmill-unittests/unit_tester.html')['result'] assert client.waits.forPageLoad(timeout=u'8000')['result'] assert client.click(value=u'lookupByValue')['result'] assert client.click(classname=u'lookupByClassname')['result'] assert client.click(name=u'lookupByName')['result'] assert client.click(id=u'lookupById')['result'] assert client.click(jsid=u'jsNode()')['result'] assert client.click(tagname=u'hr')['result']
def test_tourney_join_fold(): client = WindmillTestClient(__name__) username = functest.registry.get('username') password = functest.registry.get('password', username) login(client, username, password) #client.click(classname=u'close') client.waits.forElement(jquery=u'(".notify-text a")[0]') client.click(jquery=u'(".notify-text a")[0]') client.waits.forElement(classname=u'jpoker_table') for i in range(100): client.click(classname=u'jpoker_ptable_fold') client.waits.sleep(milliseconds=5000)
def test_login(): """Some parameters must be modified (user, password, Plone URL). """ client = WindmillTestClient(__name__) client.click(link=u'View your Plone site.') client.waits.forPageLoad(timeout=u'20000') client.waits.forElement(timeout=u'8000', id=u'__ac_name') client.type(text=u'admin', id=u'__ac_name') # To replace with the corrects username and password client.type(text=u'password', id=u'__ac_password') client.click(name=u'submit') client.waits.forPageLoad(timeout=u'20000')
def test_createField(): client = WindmillTestClient(__name__) client.click(link=u'Edit') client.waits.forPageLoad(timeout=u'20000') client.waits.forElement(xpath=u"//body[@id='content']", timeout=u'8000') client.click(xpath=u"//body[@id='content']") client.click(id=u'FormLayout_plominofield') client.waits.forElement(timeout=u'5000', id=u'plominoFieldId') client.type(text=u'field1', id=u'plominoFieldId') client.click(id=u'insert') client.click(name=u'form.button.save') client.waits.forPageLoad(timeout=u'20000')
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')
def setup_module(module): "Add items. Also test suggestion box." client = WindmillTestClient(__name__) def enter_item_text(text, ctrl=False): if ctrl: options = u'13,false,true,false,false,false' else: options = u'13,false,false,false,false,false' client.waits.forElement(xpath=u"//input[@class='additem']", timeout=u'20000') client.type(xpath=u"//input[@class='additem']", text=text) client.keyUp(xpath=u"//input[@class='additem']", options=options) if not ctrl: client.waits.forNotElement(xpath=u"//input[@class='additem']", timeout=u'20000') client.asserts.assertNotNode(xpath=u"//input[@class='additem']") # 1st item to test list 1 (from list's additem button) client.asserts.assertNotNode(id=u'item_1') client.click(id=u'additem_list_1') enter_item_text('test item 1') client.waits.forElement(id=u"item_1", timeout=u'20000') # 2nd item to test list 1 (from item1's additem button) client.asserts.assertNotNode(id=u'item_2') client.click(xpath=u"//li[@id='item_1']/a[@title='Add item']") enter_item_text('test item 2') client.waits.forElement(id=u"item_2", timeout=u'20000') # 3rd item to test list 1 (from item1's additem button with ctrl) client.asserts.assertNotNode(id=u'item_3') client.click(xpath=u"//li[@id='item_1']/a[@title='Add item']") enter_item_text('test item 3', ctrl=True) client.waits.forElement(id=u"item_3", timeout=u'20000') # 4th item to test list 1 (with residual additem field from last one) client.asserts.assertNotNode(id=u'item_4') enter_item_text('test item 4') client.waits.forElement(id=u"item_4", timeout=u'20000') # 5th item to test list 2 client.asserts.assertNotNode(id=u'item_5') client.click(id=u'additem_list_2') client.waits.sleep(milliseconds=u'50') client.asserts.assertJS(js=u"$('#suggestion_box').is(':hidden')") enter_item_text('test item 5') client.waits.forElement(id=u"item_5", timeout=u'20000') client.asserts.assertJS( js=u"$('#subscription_1 .item:nth(0)').attr('id') == 'item_1'") client.asserts.assertJS( js=u"$('#subscription_1 .item:nth(1)').attr('id') == 'item_4'") client.asserts.assertJS( js=u"$('#subscription_1 .item:nth(2)').attr('id') == 'item_3'") client.asserts.assertJS( js=u"$('#subscription_1 .item:nth(3)').attr('id') == 'item_2'") client.asserts.assertJS( js=u"$('#subscription_2 .item:nth(0)').attr('id') == 'item_5'")
def test_minimize_list(): client = WindmillTestClient(__name__) client.asserts.assertJS(js=u"$('#subscription_1 > .itemlist').is(':visible')") client.asserts.assertJS(js=u"$('#itemcount_subscription_1').is(':hidden')") client.click(id=u'minmax_subscription_1') client.waits.sleep(milliseconds=u'500') client.asserts.assertJS(js=u"$('#subscription_1 > .itemlist').is(':hidden')") client.asserts.assertJS(js=u"$('#itemcount_subscription_1').is(':visible')") client.asserts.assertJS(js=u'$(\'#itemcount_subscription_1 > .count\').html() == "0"') client.click(id=u'minmax_subscription_1') client.waits.sleep(milliseconds=u'500') client.asserts.assertJS(js=u"$('#subscription_1 > .itemlist').is(':visible')") client.asserts.assertJS(js=u"$('#itemcount_subscription_1').is(':hidden')")
def test_login(): """Some parameters must be modified (user, password, Plone URL). """ client = WindmillTestClient(__name__) client.click(link=u'View your Plone site.') client.waits.forPageLoad(timeout=u'20000') client.waits.forElement(timeout=u'8000', id=u'__ac_name') client.type( text=u'admin', id=u'__ac_name') # To replace with the corrects username and password client.type(text=u'password', id=u'__ac_password') client.click(name=u'submit') client.waits.forPageLoad(timeout=u'20000')
def test_createHidewhen(): client = WindmillTestClient(__name__) client.click(link=u'Edit') client.waits.forPageLoad(timeout=u'20000') client.waits.forElement(xpath=u"//body[@id='content']", timeout=u'8000') client.click(xpath=u"//body[@id='content']") client.click(id=u'FormLayout_plominohidewhen') client.waits.forElement(timeout=u'5000', id=u'hidewhenid') client.type(text=u'hidewhen1', id=u'hidewhenid') client.waits.forElement(timeout=u'5000', id=u'hidewhenFormula') client.type(text=u'False', id=u'hidewhenFormula') client.click(id=u'insert') client.click(name=u'form.button.save') client.waits.forPageLoad(timeout=u'20000')
def test_createAction(): client = WindmillTestClient(__name__) client.waits.forElement(link=u'Edit', timeout=u'8000') client.click(link=u'Edit') client.waits.forPageLoad(timeout=u'20000') client.waits.forElement(xpath=u"//body[@id='content']", timeout=u'8000') client.click(xpath=u"//body[@id='content']/p") client.click(xpath=u"//a[@id='FormLayout_plominoaction']/img") client.waits.forElement(timeout=u'5000', id=u'actionid') client.type(text=u'action1', id=u'actionid') client.select(val=u'CLOSE', id=u'actionTypesList') client.click(id=u'insert') client.click(name=u'form.button.save') client.waits.forPageLoad(timeout=u'20000')
def test_fold(): client = WindmillTestClient(__name__) client.waits.forElement(classname='jpoker_table') client.click(classname=u'jpoker_login_name') client.type(classname='jpoker_login_name', text=u'user%s' % md5(str(time())).hexdigest()) client.click(classname=u'jpoker_login_password') client.type(classname=u'jpoker_login_password', text=u'password') client.click(classname=u'jpoker_login_submit') client.waits.forElement(classname='jpoker_logout') client.click(classname=u'jpoker_tablepicker_submit') for i in range(100): client.waits.forElement(jquery=u'(".jpoker_ptable_fold:visible")[0]', timeout=u'60000') client.click(classname=u'jpoker_ptable_fold') client.waits.forElement(jquery=u'(".jpoker_ptable_fold:hidden")[0]', timeout=u'60000')
def test_edit_list_name(): client = WindmillTestClient(__name__) client.asserts.assertNode(id=u'subscription_1_listname') client.asserts.assertText(validator=u'test list 1', id=u'subscription_1_listname') client.click(id=u'subscription_1_listname') client.type(text=u'shagalaga', name=u'text') client.keyPress(options=u'13,false,false,false,false,false', name=u'text') client.waits.sleep(milliseconds=u'500') client.asserts.assertText(validator=u'shagalaga', id=u'subscription_1_listname') client.click(id=u'subscription_1_listname') client.type(text=u'test list 1', name=u'text') client.keyPress(options=u'13,false,false,false,false,false', name=u'text') client.waits.sleep(milliseconds=u'500') client.asserts.assertText(validator=u'test list 1', id=u'subscription_1_listname')
def test_os_poker_tourney_register_unregister(): client = WindmillTestClient(__name__) signup(client) client.click(xpath=u"//li[@id='lobby_sng']/a") client.waits.forElement(classname=u'jpoker_tourney_state_registering') client.click(classname=u'jpoker_tourney_state_registering') client.waits.sleep(milliseconds=u'1000') client.click(id=u"lobby_join_table") for i in range(100): print i client.waits.forElement(value=u'Register') client.click(value=u'Register') client.waits.forElement(value=u'Unregister') client.click(value=u'Unregister')
def test_edit_list_name(): client = WindmillTestClient(__name__) client.asserts.assertNode(id=u'item_1_text') client.asserts.assertText(validator=u'test item 1', id=u'item_1_text') client.click(id=u'item_1_text') client.type(text=u'pim pom', name=u'text') client.keyPress(options=u'13,false,false,false,false,false', name=u'text') client.waits.sleep(milliseconds=u'500') client.asserts.assertText(validator=u'pim pom', id=u'item_1_text') client.click(id=u'item_1_text') client.type(text=u'test item 1', name=u'text') client.keyPress(options=u'13,false,false,false,false,false', name=u'text') client.waits.sleep(milliseconds=u'500') client.asserts.assertText(validator=u'test item 1', id=u'item_1_text')
def setup_module(module): client = WindmillTestClient(__name__) #client.open(url='http://www.qq.com/') client.open(url='http://zc.qq.com/') client.waits.forPageLoad() client.click(xpath="//a[@href='http://zc.qq.com/']") client.waits.forElement(xpath="//form[@method='post']", timeout=5) client.type(text='', xpath="//input[@id='nick']") print 'before click' clickResult = client.click(xpath=u"//a[@class='button'][name(..)='div']") print 'type(clickResult): ', type(clickResult)
def setup_module(module): client = WindmillTestClient(__name__) #client.open(url='http://www.qq.com/') client.open(url='http://zc.qq.com/') client.waits.forPageLoad() client.click(xpath="//a[@href='http://zc.qq.com/']") client.waits.forElement(xpath="//form[@method='post']",timeout=5) client.type(text='', xpath="//input[@id='nick']") print 'before click' clickResult = client.click(xpath=u"//a[@class='button'][name(..)='div']") print 'type(clickResult): ', type(clickResult)
def test_scrape_iotd_gallery(): """ Scrape NASA Image of the Day Gallery """ print "begin test" # Extra data massage for BeautifulSoup my_massage = get_massage() # Open main gallery page client = WindmillTestClient(__name__) client.open(url='http://www.nasa.gov/multimedia/imagegallery/iotd.html') # Page isn't completely loaded until image gallery data # has been updated by javascript code client.waits.forElement(xpath=u"//div[@id='gallery_image_area']/img", timeout=30000) # Scrape all images information images_info = [] counter = 0 while True: counter += 1 if counter >= 8: break imageThis = get_image_info(client, my_massage) # Break if image has been already scrapped # (that means that all images have been parsed # since they are ordered in a circular ring) if (len(images_info) > 0) and (imageThis['link'] == images_info[-1]['link']): break images_info.append(imageThis) # Click to get the information for the next image client.click(xpath=u"//div[@class='btn_image_next']") # Print results to stdout ordered by image name for image in images_info: #print str(image) print "name: ", image['name'] print "link: ", image['link'] print "\r\n\r\n"
def test_register(): client = WindmillTestClient(__name__) username = functest.registry.get('username') password = functest.registry.get('password', username) login(client, username, password) client.click(xpath=u"//li[@id='lobby_regular']/a") client.waits.forElement(classname=u'jpoker_tourney_state_registering') client.click(classname=u'jpoker_tourney_state_registering') client.waits.sleep(milliseconds=u'1000') client.click(id=u"lobby_join_table") client.waits.forElement(value=u'Register') client.click(value=u'Register')
def test_middleware(): client = WindmillTestClient(__name__) client.click(id=u'id_username') client.type(text=u'ivan', id=u'id_username') client.type(text=u'passwd', id=u'id_password') client.click(value=u'\u0412\u043e\u0439\u0442\u0438') client.waits.forPageLoad(timeout=u'20000') client.waits.forElement(link=u'+', timeout=u'8000') client.click(link=u'+') client.click(link=u'Exit') client.waits.forPageLoad(timeout=u'20000')
def test_minimize_list(): client = WindmillTestClient(__name__) client.asserts.assertJS( js=u"$('#subscription_1 > .itemlist').is(':visible')") client.asserts.assertJS(js=u"$('#itemcount_subscription_1').is(':hidden')") client.click(id=u'minmax_subscription_1') client.waits.sleep(milliseconds=u'500') client.asserts.assertJS( js=u"$('#subscription_1 > .itemlist').is(':hidden')") client.asserts.assertJS( js=u"$('#itemcount_subscription_1').is(':visible')") client.asserts.assertJS( js=u'$(\'#itemcount_subscription_1 > .count\').html() == "0"') client.click(id=u'minmax_subscription_1') client.waits.sleep(milliseconds=u'500') client.asserts.assertJS( js=u"$('#subscription_1 > .itemlist').is(':visible')") client.asserts.assertJS(js=u"$('#itemcount_subscription_1').is(':hidden')")
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')
def setup_module(module): "Add items. Also test suggestion box." client = WindmillTestClient(__name__) def enter_item_text(text, ctrl=False): if ctrl: options = u'13,false,true,false,false,false' else: options = u'13,false,false,false,false,false' client.waits.forElement(xpath=u"//input[@class='additem']", timeout=u'20000') client.type(xpath=u"//input[@class='additem']", text=text) client.keyUp(xpath=u"//input[@class='additem']", options=options) if not ctrl: client.waits.forNotElement(xpath=u"//input[@class='additem']", timeout=u'20000') client.asserts.assertNotNode(xpath=u"//input[@class='additem']") # 1st item to test list 1 (from list's additem button) client.asserts.assertNotNode(id=u'item_1') client.click(id=u'additem_list_1') enter_item_text('test item 1') client.waits.forElement(id=u"item_1", timeout=u'20000') # 2nd item to test list 1 (from item1's additem button) client.asserts.assertNotNode(id=u'item_2') client.click(xpath=u"//li[@id='item_1']/a[@title='Add item']") enter_item_text('test item 2') client.waits.forElement(id=u"item_2", timeout=u'20000') # 3rd item to test list 1 (from item1's additem button with ctrl) client.asserts.assertNotNode(id=u'item_3') client.click(xpath=u"//li[@id='item_1']/a[@title='Add item']") enter_item_text('test item 3', ctrl=True) client.waits.forElement(id=u"item_3", timeout=u'20000') # 4th item to test list 1 (with residual additem field from last one) client.asserts.assertNotNode(id=u'item_4') enter_item_text('test item 4') client.waits.forElement(id=u"item_4", timeout=u'20000') # 5th item to test list 2 client.asserts.assertNotNode(id=u'item_5') client.click(id=u'additem_list_2') client.waits.sleep(milliseconds=u'50') client.asserts.assertJS(js=u"$('#suggestion_box').is(':hidden')") enter_item_text('test item 5') client.waits.forElement(id=u"item_5", timeout=u'20000') client.asserts.assertJS(js=u"$('#subscription_1 .item:nth(0)').attr('id') == 'item_1'") client.asserts.assertJS(js=u"$('#subscription_1 .item:nth(1)').attr('id') == 'item_4'") client.asserts.assertJS(js=u"$('#subscription_1 .item:nth(2)').attr('id') == 'item_3'") client.asserts.assertJS(js=u"$('#subscription_1 .item:nth(3)').attr('id') == 'item_2'") client.asserts.assertJS(js=u"$('#subscription_2 .item:nth(0)').attr('id') == 'item_5'")
def test_createDB(): client = WindmillTestClient(__name__) client.click(link=u'Home') client.waits.forPageLoad(timeout=u'20000') client.waits.forElement(xpath=u"//dl[@id='plone-contentmenu-factories']/dt/a/span[1]", timeout=u'8000') client.click(xpath=u"//dl[@id='plone-contentmenu-factories']/dt/a/span[1]") client.click(xpath=u"//a[@id='plominodatabase']/span") client.waits.forPageLoad(timeout=u'20000') client.type(text=u'testdb', id=u'title') client.click(name=u'form.button.save') client.waits.forPageLoad(timeout=u'20000')
def test_set_item_url(): client = WindmillTestClient(__name__) # set item 1 url (press enter) client.asserts.assertJS(js=u"$('#link_button').is(':hidden')") client.check(xpath=u"//li[@id='item_1']/input[@type='checkbox']") client.asserts.assertChecked( xpath=u"//li[@id='item_1']/input[@type='checkbox']") client.asserts.assertJS(js=u"$('#link_button').is(':visible')") client.asserts.assertJS(js=u"$('#url_input_container').is(':hidden')") client.asserts.assertJS(js=u"$('#item_1_link').is(':hidden')") client.click(id=u'link_button') client.waits.sleep(milliseconds=u'100') client.asserts.assertJS(js=u"$('#url_input_container').is(':visible')") client.type(id=u'url_input', text=u'http://google.com/') client.keyDown(id=u'url_input', options=u'13,false,false,false,false,false') client.waits.sleep(milliseconds=u'500') client.asserts.assertJS(js=u"$('#item_1_link').is(':visible')") client.asserts.assertJS( js=u"$('#item_1_link').attr('href') == 'http://google.com/'") client.asserts.assertJS(js=u"$('#link_button').is(':hidden')") # unset item 1 url (click submit button) client.check(xpath=u"//li[@id='item_1']/input[@type='checkbox']") client.asserts.assertChecked( xpath=u"//li[@id='item_1']/input[@type='checkbox']") client.asserts.assertJS(js=u"$('#url_input_container').is(':hidden')") client.asserts.assertJS(js=u"$('#item_1_link').is(':visible')") client.click(id=u'link_button') client.waits.sleep(milliseconds=u'100') client.asserts.assertJS(js=u"$('#url_input_container').is(':visible')") client.asserts.assertJS( js=u"$('#url_input').val() == 'http://google.com/'") client.type(id=u'url_input', text=u'') client.click(id=u'url_submit') client.waits.sleep(milliseconds=u'500') client.asserts.assertJS(js=u"$('#url_input_container').is(':hidden')") client.asserts.assertJS(js=u"$('#item_1_link').is(':hidden')") client.asserts.assertJS(js=u"$('#item_1_link').attr('href') == ''") # test canceling by unchecking while editing client.check(xpath=u"//li[@id='item_1']/input[@type='checkbox']") client.asserts.assertChecked( xpath=u"//li[@id='item_1']/input[@type='checkbox']") client.asserts.assertJS(js=u"$('#url_input_container').is(':hidden')") client.click(id=u'link_button') client.waits.sleep(milliseconds=u'100') client.asserts.assertJS(js=u"$('#url_input_container').is(':visible')") client.check(xpath=u"//li[@id='item_1']/input[@type='checkbox']") client.asserts.assertNotChecked( xpath=u"//li[@id='item_1']/input[@type='checkbox']") client.asserts.assertJS(js=u"$('#url_input_container').is(':hidden')")
def test_scrape_iotd_gallery(): """ Scrape NASA Image of the Day Gallery """ print "begin test" # Extra data massage for BeautifulSoup my_massage = get_massage() # Open main gallery page client = WindmillTestClient(__name__) client.open(url='http://www.nasa.gov/multimedia/imagegallery/iotd.html') # Page isn't completely loaded until image gallery data # has been updated by javascript code client.waits.forElement(xpath=u"//div[@id='gallery_image_area']/img",timeout=30000) # Scrape all images information images_info = [] counter = 0 while True: counter += 1 if counter >= 8: break imageThis = get_image_info(client, my_massage) # Break if image has been already scrapped # (that means that all images have been parsed # since they are ordered in a circular ring) if (len(images_info) > 0) and (imageThis['link'] == images_info[-1]['link']): break images_info.append(imageThis) # Click to get the information for the next image client.click(xpath=u"//div[@class='btn_image_next']") # Print results to stdout ordered by image name for image in images_info: #print str(image) print "name: ", image['name'] print "link: ", image['link'] print "\r\n\r\n"
def test_loginForm(): client = WindmillTestClient(__name__) client.asserts.assertNode(id=u'anon-personalbar') client.asserts.assertNode(jquery=u'("#anon-personalbar a.link-overlay")[0]') client.click(jquery=u'("#anon-personalbar a.link-overlay")[0]') client.waits.forElement(jquery=u'("div.pb-ajax #login_form")[0]', timeout=u'1000') client.click(id=u'exposeMask') client.waits.sleep(milliseconds=u'500') client.asserts.assertNotNode(jquery=u'("div.pb-ajax #login_form")[0]') client.asserts.assertNode(id=u'anon-personalbar') client.asserts.assertNode(jquery=u'("#anon-personalbar a.link-overlay")[0]') client.click(jquery=u'("#anon-personalbar a.link-overlay")[0]') client.waits.forElement(jquery=u'("div.pb-ajax #login_form")[0]', timeout=u'1000') client.click(name=u'submit') client.waits.forElement(jquery=u"('div.pb-ajax dl .portalMessage .error dt')", timeout=u'1000') client.type(text=u'admin', id=u'__ac_name') client.type(text=u'admin', id=u'__ac_password') client.click(name=u'submit') client.waits.forPageLoad(timeout=u'20000') client.asserts.assertNode(id=u'edit-bar')
def test_recordingSuite0(): '''windmill >> '/requests/' requests page test ''' client = WindmillTestClient(__name__) client.waits.sleep(milliseconds=2000) client.click(link=u'requests') client.waits.forPageLoad(timeout=u'20000') client.asserts.assertTextIn(xpath=u"//div[@id='content']/p[1]", validator=u'127.0.0.1') client.asserts.assertTextIn(xpath=u"//div[@id='content']/p[2]", validator=u'127.0.0.1') client.asserts.assertTextIn(xpath=u"//div[@id='content']/p[3]", validator=u'127.0.0.1') client.asserts.assertTextIn(xpath=u"//div[@id='content']/p[4]", validator=u'127.0.0.1') client.asserts.assertTextIn(xpath=u"//div[@id='content']/p[5]", validator=u'127.0.0.1') client.asserts.assertTextIn(xpath=u"//div[@id='content']/p[6]", validator=u'127.0.0.1') client.asserts.assertTextIn(xpath=u"//div[@id='content']/p[7]", validator=u'127.0.0.1') client.asserts.assertTextIn(xpath=u"//div[@id='content']/p[8]", validator=u'127.0.0.1') client.asserts.assertTextIn(xpath=u"//div[@id='content']/p[9]", validator=u'127.0.0.1') client.asserts.assertTextIn(xpath=u"//div[@id='content']/p[10]", validator=u'127.0.0.1') client.click(link=u'main page') client.waits.forPageLoad(timeout=u'20000') client.waits.forElement(link=u'requests', timeout=u'8000') client.click(link=u'requests') client.waits.forPageLoad(timeout=u'20000')
def test_toggle_item_importance(): client = WindmillTestClient(__name__) # make item 3 important client.asserts.assertJS(js=u"$('#important_button').is(':hidden')") client.check(xpath=u"//li[@id='item_3']/input[@type='checkbox']") client.asserts.assertChecked(xpath=u"//li[@id='item_3']/input[@type='checkbox']") client.asserts.assertJS(js=u"$('#important_button').is(':visible')") client.asserts.assertNotJS(js=u"$('#item_3').hasClass('important')") client.click(id=u'important_button') client.waits.sleep(milliseconds=u'500') client.asserts.assertJS(js=u"$('#item_3').hasClass('important')") client.asserts.assertJS(js=u"$('#remove_button').is(':hidden')") # toggle importance of 1 and 3 client.check(xpath=u"//li[@id='item_1']/input[@type='checkbox']") client.asserts.assertChecked(xpath=u"//li[@id='item_1']/input[@type='checkbox']") client.check(xpath=u"//li[@id='item_3']/input[@type='checkbox']") client.asserts.assertChecked(xpath=u"//li[@id='item_3']/input[@type='checkbox']") client.asserts.assertNotJS(js=u"$('#item_1').hasClass('important')") client.click(id=u'important_button') client.waits.sleep(milliseconds=u'500') client.asserts.assertJS(js=u"$('#item_1').hasClass('important')") client.asserts.assertNotJS(js=u"$('#item_3').hasClass('important')") # reset importance of 1 client.check(xpath=u"//li[@id='item_1']/input[@type='checkbox']") client.asserts.assertChecked(xpath=u"//li[@id='item_1']/input[@type='checkbox']") client.click(id=u'important_button') client.waits.sleep(milliseconds=u'500') client.asserts.assertNotJS(js=u"$('#item_1').hasClass('important')") client.asserts.assertNotJS(js=u"$('#item_3').hasClass('important')")
def test_createDB(): client = WindmillTestClient(__name__) client.click(link=u'Home') client.waits.forPageLoad(timeout=u'20000') client.waits.forElement( xpath=u"//dl[@id='plone-contentmenu-factories']/dt/a/span[1]", timeout=u'8000') client.click(xpath=u"//dl[@id='plone-contentmenu-factories']/dt/a/span[1]") client.click(xpath=u"//a[@id='plominodatabase']/span") client.waits.forPageLoad(timeout=u'20000') client.type(text=u'testdb', id=u'title') client.click(name=u'form.button.save') client.waits.forPageLoad(timeout=u'20000')
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
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
class CenarioVisitanteSeInscreve(Cenario): @DadoQue('Estou na paǵina de inscrições') def abrir_pagina_principal(self): self.navegador = WindmillTestClient(__name__) self.navegador.open(url='/inscricoes/') @Quando("eu clico em 'Quero me inscrever'") def clicar_em_quero_me_inscrever(self): self.navegador.click(id='inscrever') @Quando("eu entro com todos os meus dados") def entrar_dados(self): pass @Quando("eu clico em 'Salvar'") def clicar_em_salvar(self): pass @Entao("a mensagem 'Participante inserido com sucesso' deverá aparecer") def mensagem_sucesso(self): pass
def test_scrape_iotd_gallery(): """ Scrape NASA Image of the Day Gallery """ # Extra data massage for BeautifulSoup my_massage = get_massage() # Open main gallery page client = WindmillTestClient(__name__) # client = WindmillTestClient client.open(url='http://www.nasa.gov/multimedia/imagegallery/iotd.html') # Page isn't completely loaded until image gallery data # has been updated by javascript code client.waits.forElement(xpath=u"//div[@id='gallery_image_area']/img", timeout=30000) # Scrape all images information images_info = {} while True: image_info = get_image_info(client, my_massage) # Break if image has been already scrapped # (that means that all images have been parsed # since they are ordered in a circular ring) if image_info['link'] in images_info: break images_info[image_info['link']] = image_info # Click to get the information for the next image client.click(xpath=u"//div[@class='btn_image_next']") # Print results to stdout ordered by image name for image_info in sorted(images_info.values(), key=lambda image_info: image_info['name']): print ("Name: %(name)sn" "Link: %(link)sn" % image_info)
def test_remove_item(): client = WindmillTestClient(__name__) #delete client.asserts.assertJS(js=u"$('#remove_button').is(':hidden')") client.check(xpath=u"//li[@id='item_3']/input[@type='checkbox']") client.asserts.assertChecked(xpath=u"//li[@id='item_3']/input[@type='checkbox']") client.asserts.assertJS(js=u"$('#remove_button').is(':visible')") client.click(id=u'remove_button') client.waits.forNotElement(timeout=u'20000', id=u'item_3') client.asserts.assertJS(js=u"$('#remove_button').is(':hidden')") #undelete client.click(id=u'more_button') client.waits.sleep(milliseconds=u'500') client.click(link=u'Deleted stuff') client.waits.forPageLoad(timeout=u'20000') client.check(xpath=u"//input[@name='item_ids' and @value='3']") client.asserts.assertChecked(xpath=u"//input[@name='item_ids' and @value='3']") client.click(name=u'undelete') client.waits.forPageLoad(timeout=u'20000') client.click(link=u'Back to main view') client.waits.forPageLoad(timeout=u'20000') client.asserts.assertNode(id=u'item_3')
def test_unsubscribe(): client = WindmillTestClient(__name__) client.click(id=u"lists_button") # show list menu client.waits.sleep(milliseconds=u'500') #unsubscribe client.asserts.assertNode(id=u"subscription_2") client.asserts.assertNode(id=u"unsubscribe_list_2") client.click(id=u"unsubscribe_list_2") client.waits.forNotElement(id=u"subscription_2", timeout=u'20000') #subscribe client.waits.forElement(id=u"subscribe_list_2", timeout=u'20000') client.click(id=u"subscribe_list_2") client.waits.forElement(id=u"subscription_2", timeout=u'20000') client.click(id=u"lists_button") # hide list menu
def test_cart_prices(): client = WindmillTestClient(__name__) client.open(url="/product/chocolate") client.waits.forPageLoad(timeout=u'20000') # check that product includes vat client.asserts.assertText(xpath=u"//form[@id='product-form']/div[5][@class='prices']/div[2][@class='price-disclaimer']", validator=u'*inc. VAT') client.waits.forElement(timeout=u'8000', name=u'add-to-cart') client.click(name=u'add-to-cart') client.waits.forPageLoad(timeout=u'20000') client.open(url="/product/apple") client.waits.forPageLoad(timeout=u'20000') # check that product excludes vat client.asserts.assertText(xpath=u"//form[@id='product-form']/div[5][@class='prices']/div[2][@class='price-disclaimer']", validator=u'*exc. VAT') client.waits.forElement(timeout=u'8000', name=u'add-to-cart') client.click(name=u'add-to-cart') client.waits.forPageLoad(timeout=u'20000') client.waits.forElement(link=u'Checkout', timeout=u'8000') client.click(link=u'Checkout') client.waits.forPageLoad(timeout=u'20000') client.waits.forElement(link=u'Checkout', timeout=u'8000') client.click(link=u'Checkout') client.waits.forPageLoad(timeout=u'20000') # check net price of chocolate client.asserts.assertText(xpath=u"//div[@id='cart-inline']/table[@class='lfs-default cart']/tbody/tr[2]/td[4][@class='number']", validator=u'61,67 €') # check vat on chocolate client.asserts.assertText(xpath=u"//div[@id='cart-inline']/table[@class='lfs-default cart']/tbody/tr[2]/td[5][@class='number']", validator=u'(8,33 €)') # check total on chocolate client.asserts.assertText(xpath=u"//div[@id='cart-inline']/table[@class='lfs-default cart']/tbody/tr[2]/td[6][@class='number']", validator=u'70,00 €') # check net price of apple client.asserts.assertText(xpath=u"//div[@id='cart-inline']/table[@class='lfs-default cart']/tbody/tr[3]/td[4][@class='number']", validator=u'80,00 €') # check vat on apple client.asserts.assertText(xpath=u"//div[@id='cart-inline']/table[@class='lfs-default cart']/tbody/tr[3]/td[5][@class='number']", validator=u'(16,80 €)') # check total on apple client.asserts.assertText(xpath=u"//div[@id='cart-inline']/table[@class='lfs-default cart']/tbody/tr[3]/td[6][@class='number']", validator=u'96,80 €')
def test_google_switch_to_yahoo(): client = WindmillTestClient(__name__) client.open(url=u'http://www.google.com/intl/en/') client.waits.forElement(timeout=u'', name=u'q') client.click(name=u'q') client.type(text=u'wikipedia', name=u'q') client.click(name=u'btnG') client.waits.forElement(link=u'Wikipedia', timeout=u'8000') client.click(link=u'Wikipedia') client.waits.forPageLoad(timeout=u'20000') client.asserts.assertJS( js=u"windmill.testWin().document.title == 'Wikipedia'")