def test_manage_setting_of_price_calculator(): 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') # open the manage interface client.open(url="/manage/") client.waits.forPageLoad(timeout=u'20000') client.type(text=u'admin', id=u'id_username') client.type(text=u'admin', id=u'id_password') client.click(xpath=u"//div[@id='content']/div/div[1]/form/button") client.waits.forPageLoad(timeout=u'20000') client.waits.forElement(link=u'Products', timeout=u'8000') client.click(link=u'Products') client.waits.forPageLoad(timeout=u'20000') client.click(link="Chocolate") client.waits.forPageLoad(timeout=u'20000') client.waits.forElement(timeout=u'8000', id=u'id_price_calculator') client.click(id=u'id_price_calculator') client.select(option=u'Price excludes tax', id=u'id_price_calculator') client.click(xpath=u"//form[@id='product-data-form']/fieldset[4]/div[4]/div[2]") client.click(value=u'Save Data') # Check that price excludes vat now 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'*exc. VAT')
def test_recordingSuite1(): client = WindmillTestClient(__name__) client.open(url='http://127.0.0.1:8000/admin/') client.waits.forPageLoad(timeout='8000') client.waits.forElement(xpath="//div[@id='content-main']/div[2]/table/tbody/tr[1]/td[1]/a", timeout='8000') client.click(xpath="//div[@id='content-main']/div[2]/table/tbody/tr[1]/td[1]/a") client.waits.forPageLoad(timeout='20000') client.waits.forElement(timeout='8000', id='id_description') client.click(id='id_description') client.type(text='SubCA', id='id_description') client.type(text='SubCA', id='id_common_name') client.type(text='Bavaria', id='id_state') client.type(text='Munich', id='id_locality') client.type(text='My Company', id='id_organization') client.type(text='BackEnd', id='id_OU') client.type(text='*****@*****.**', id='id_email') client.type(text='122', id='id_valid_days') client.type(text='1234567890', id='id_passphrase') client.click(id='id_parent') client.select(option='', id='id_parent') client.click(value='1') client.click(id='id_parent_passphrase') client.type(text='1234567890', id='id_parent_passphrase') client.click(xpath="//form[@id='certificateauthority_form']/div[2]/div[2]/input[1]") client.waits.forPageLoad(timeout='20000') client.asserts.assertTextIn(xpath="//div[@id='container']/ul/li", validator='The certificate authority "SubCA" was added successfully.')
def test_recordingSuite1(): client = WindmillTestClient(__name__) client.open(url=u'http://127.0.0.1:8000/admin/') client.waits.forPageLoad(timeout=u'8000') client.waits.forElement( xpath=u"//div[@id='content-main']/div[2]/table/tbody/tr[1]/td[1]/a", timeout=u'8000') client.click( xpath=u"//div[@id='content-main']/div[2]/table/tbody/tr[1]/td[1]/a") client.waits.forPageLoad(timeout=u'20000') client.waits.forElement(timeout=u'8000', id=u'id_description') client.click(id=u'id_description') client.type(text=u'SubCA', id=u'id_description') client.type(text=u'SubCA', id=u'id_common_name') client.type(text=u'Bavaria', id=u'id_state') client.type(text=u'Munich', id=u'id_locality') client.type(text=u'My Company', id=u'id_organization') client.type(text=u'BackEnd', id=u'id_OU') client.type(text=u'*****@*****.**', id=u'id_email') client.type(text=u'122', id=u'id_valid_days') client.type(text=u'1234567890', id=u'id_passphrase') client.click(id=u'id_parent') client.select(option=u'', id=u'id_parent') client.click(value=u'1') client.click(id=u'id_parent_passphrase') client.type(text=u'1234567890', id=u'id_parent_passphrase') client.click( xpath=u"//form[@id='certificateauthority_form']/div[2]/div[2]/input[1]" ) client.waits.forPageLoad(timeout=u'20000') client.asserts.assertTextIn( xpath=u"//div[@id='container']/ul/li", validator=u'The certificate authority "SubCA" was added successfully.')
def test_ajax_forms(): client = WindmillTestClient(__name__) client.waits.forElement(link=u'Login', timeout=u'8000') client.click(link=u'Login') client.click(id=u'id_username') client.type(text=u'admin', id=u'id_username') client.type(text=u'admin', id=u'id_password') client.click(value=u'login') client.waits.forPageLoad(timeout=u'20000') client.click(link=u'Edit') client.waits.forPageLoad(timeout=u'20000') # change birthdate client.waits.forElement(timeout=u'8000', id=u'id_birth') client.click(id=u'id_birth') client.waits.sleep(milliseconds=1000) client.waits.forElement( xpath=u"//div[@id='ui-datepicker-div']/div/div/select[2]", id=u'id_birth') client.select(classname=u'ui-datepicker-month', val=u'10') client.select(classname=u'ui-datepicker-year', val=u'1986') client.click(link=u'10') client.click(name=u'save') client.asserts.assertText(id="message", validator="Done. Reloading...") client.waits.forPageLoad(timeout=u'20000') # test wrong date client.click(timeout=u'8000', id=u'id_birth') client.type(text=u'1987-12-1122', id=u'id_birth') client.click(name=u'save') client.waits.forElement(id="birth_error") client.asserts.assertText(id="birth_error", validator="Enter a valid date.")
def test_manage_setting_of_price_calculator(): 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') # open the manage interface client.open(url="/manage/") client.waits.forPageLoad(timeout=u'20000') client.type(text=u'admin', id=u'id_username') client.type(text=u'admin', id=u'id_password') client.click(xpath=u"//div[@id='content']/div/div[1]/form/button") client.waits.forPageLoad(timeout=u'20000') client.waits.forElement(link=u'Products', timeout=u'8000') client.click(link=u'Products') client.waits.forPageLoad(timeout=u'20000') client.click(link="Chocolate") client.waits.forPageLoad(timeout=u'20000') client.waits.forElement(timeout=u'8000', id=u'id_price_calculator') client.click(id=u'id_price_calculator') client.select(option=u'Price excludes tax', id=u'id_price_calculator') client.click(xpath=u"//form[@id='product-data-form']/fieldset[4]/div[4]/div[2]") client.click(value=u'Save Data') # Check that price excludes vat now 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'*exc. VAT')
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_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(): 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 test_create_certificate(): client = WindmillTestClient(__name__) client.open(url=u"http://127.0.0.1:8000/admin/logout/") client.waits.forPageLoad(timeout=u"8000") client.open(url=u"http://127.0.0.1:8000/admin/") client.waits.forPageLoad(timeout=u"8000") client.waits.forElement(timeout=u"8000", id=u"id_username") client.click(id=u"id_username") client.type(text=u"admin", id=u"id_username") client.type(text=u"admin", id=u"id_password") client.click(value=u"Log in") client.waits.forPageLoad(timeout=u"20000") client.waits.forElement(link=u"Certificates", timeout=u"8000") client.click(link=u"Certificates") client.waits.forPageLoad(timeout=u"20000") client.waits.forElement(link=u" Add certificate ", timeout=u"8000") client.click(link=u" Add certificate ") client.waits.forPageLoad(timeout=u"20000") client.waits.forElement(timeout=u"8000", id=u"id_description") client.click(id=u"id_description") client.type(text=u"srv1", id=u"id_description") client.type(text=u"srv1.mycompany.com", id=u"id_common_name") client.click(id=u"id_state") client.type(text=u"Bavaria", id=u"id_state") client.type(text=u"Munich", id=u"id_locality") client.type(text=u"My Company", id=u"id_organization") client.type(text=u"Datacenter", id=u"id_OU") client.click(id=u"id_email") client.type(text=u"*****@*****.**", id=u"id_email") client.click(id=u"id_subjaltname") client.type(text=u"DNS:*.mycompany.com", id=u"id_subjaltname") client.click(id=u"id_key_length") client.select(option=u"", id=u"id_key_length") client.click(value=u"1024") client.click(id=u"id_cert_extension") client.select(option=u"", id=u"id_cert_extension") client.click(value=u"v3_server_cert") client.click(id=u"id_valid_days") client.type(text=u"365", id=u"id_valid_days") client.click(id=u"id_parent") client.select(option=u"", id=u"id_parent") client.click(value=u"2") client.click(id=u"id_parent_passphrase") client.type(text=u"1234567890", id=u"id_parent_passphrase") client.click(xpath=u"//form[@id='certificate_form']/div[2]/div[2]/input[1]") client.waits.forPageLoad(timeout=u"20000") client.asserts.assertTextIn( xpath=u"//div[@id='container']/ul/li", validator=u'The certificate "srv1.mycompany.com" was added successfully.' )
def test_create_certificate(): client = WindmillTestClient(__name__) client.open(url=u'http://127.0.0.1:8000/admin/logout/') client.waits.forPageLoad(timeout=u'8000') client.open(url=u'http://127.0.0.1:8000/admin/') client.waits.forPageLoad(timeout=u'8000') client.waits.forElement(timeout=u'8000', id=u'id_username') client.click(id=u'id_username') client.type(text=u'admin', id=u'id_username') client.type(text=u'admin', id=u'id_password') client.click(value=u'Log in') client.waits.forPageLoad(timeout=u'20000') client.waits.forElement(link=u'Certificates', timeout=u'8000') client.click(link=u'Certificates') client.waits.forPageLoad(timeout=u'20000') client.waits.forElement(link=u' Add certificate ', timeout=u'8000') client.click(link=u' Add certificate ') client.waits.forPageLoad(timeout=u'20000') client.waits.forElement(timeout=u'8000', id=u'id_description') client.click(id=u'id_description') client.type(text=u'srv1', id=u'id_description') client.type(text=u'srv1.mycompany.com', id=u'id_common_name') client.click(id=u'id_state') client.type(text=u'Bavaria', id=u'id_state') client.type(text=u'Munich', id=u'id_locality') client.type(text=u'My Company', id=u'id_organization') client.type(text=u'Datacenter', id=u'id_OU') client.click(id=u'id_email') client.type(text=u'*****@*****.**', id=u'id_email') client.click(id=u'id_subjaltname') client.type(text=u'DNS:*.mycompany.com', id=u'id_subjaltname') client.click(id=u'id_key_length') client.select(option=u'', id=u'id_key_length') client.click(value=u'1024') client.click(id=u'id_cert_extension') client.select(option=u'', id=u'id_cert_extension') client.click(value=u'v3_server_cert') client.click(id=u'id_valid_days') client.type(text=u'365', id=u'id_valid_days') client.click(id=u'id_parent') client.select(option=u'', id=u'id_parent') client.click(value=u'2') client.click(id=u'id_parent_passphrase') client.type(text=u'1234567890', id=u'id_parent_passphrase') client.click(xpath=u"//form[@id='certificate_form']/div[2]/div[2]/input[1]") client.waits.forPageLoad(timeout=u'20000') client.asserts.assertTextIn(xpath=u"//div[@id='container']/ul/li", validator=u'The certificate "srv1.mycompany.com" was added successfully.')
def test_create_certificate(): client = WindmillTestClient(__name__) client.open(url='http://127.0.0.1:8000/admin/logout/') client.waits.forPageLoad(timeout='8000') client.open(url='http://127.0.0.1:8000/admin/') client.waits.forPageLoad(timeout='8000') client.waits.forElement(timeout='8000', id='id_username') client.click(id='id_username') client.type(text='admin', id='id_username') client.type(text='admin', id='id_password') client.click(value='Log in') client.waits.forPageLoad(timeout='20000') client.waits.forElement(link='Certificates', timeout='8000') client.click(link='Certificates') client.waits.forPageLoad(timeout='20000') client.waits.forElement(link=' Add certificate ', timeout='8000') client.click(link=' Add certificate ') client.waits.forPageLoad(timeout='20000') client.waits.forElement(timeout='8000', id='id_description') client.click(id='id_description') client.type(text='srv1', id='id_description') client.type(text='srv1.mycompany.com', id='id_common_name') client.click(id='id_state') client.type(text='Bavaria', id='id_state') client.type(text='Munich', id='id_locality') client.type(text='My Company', id='id_organization') client.type(text='Datacenter', id='id_OU') client.click(id='id_email') client.type(text='*****@*****.**', id='id_email') client.click(id='id_subjaltname') client.type(text='DNS:*.mycompany.com', id='id_subjaltname') client.click(id='id_key_length') client.select(option='', id='id_key_length') client.click(value='1024') client.click(id='id_cert_extension') client.select(option='', id='id_cert_extension') client.click(value='v3_server_cert') client.click(id='id_valid_days') client.type(text='365', id='id_valid_days') client.click(id='id_parent') client.select(option='', id='id_parent') client.click(value='2') client.click(id='id_parent_passphrase') client.type(text='1234567890', id='id_parent_passphrase') client.click(xpath="//form[@id='certificate_form']/div[2]/div[2]/input[1]") client.waits.forPageLoad(timeout='20000') client.asserts.assertTextIn(xpath="//div[@id='container']/ul/li", validator='The certificate "srv1.mycompany.com" was added successfully.')
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;')
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;')
# ouvrir la page // open the page client.open(url=BASE_URL) client.waits.forPageLoad(timeout=timeOut) # et qu'elle se charge // load the page client.waits.sleep(milliseconds=timeSleep) # attendre que la page s'ouvre // wait till the web page opens ###### PHASE 1: lister les tables qui contiennent les liens // PHASE 1: listing the tables that contain links list_of_tables=[] for cntry in cntryList: # selectionner un pays et une période et ouvrir la page // select a country and a period and open the page mute=client.selectReset(name='nap.registryCodeArray') # deselectionner toutes les options pays dans le choix multiple nap.registryCodeArray parce que quand on ouvre avec client il en sélectionne plusieurs // unselect all the options about the country in multiple choice nap.registryCodeArray mute=client.select(name='nap.registryCodeArray',option=cntry) # selectionner l'option pays dans le choix multiple nap.registryCodeArray // select the option country in the multiple choice nap.registryCodeArray mute=client.select(name='periodCode',option='All') # selectionner la periode dans le choix multiple periodCode // select period in multiple choice periodCode mute=client.click(value='Search') # cliquer sur search // click on search # attendre que la page s'update // wait till the page gets updated mute=client.waits.forPageLoad(timeout=timeOut) mute=client.waits.sleep(milliseconds=timeSleep) # scraper le contenu // scrape content response = client.commands.getPageText() # récupérer contenu de la page en texte brut (si retour à la ligne \n, si tabulation \t... c'est illisible ! // get the page's content as a raw text (cause if there is some wrap to the next line \n, or tab \t... it gets messy and unreadable !) # response c'est un array avec plusieurs éléments : 'error' (est-ce que ça a marché, true/false), 'result' (le code de la page), etc. // response is an array with several elements : 'error' (did it work, true/false), 'result' (the page's code), etc. soup = BeautifulSoup(response['result']) # le rend lisible # BeautifulSoup c'est pratique parce que ça a des fonctions find (sort la 1e occurrence) et findAll (sort toutes les occurrences), qui permettent de faire pomme F avec des attributs html dans des balises // BeautifulSoup is practical because it has the 'find' function (shows the 1st occurrence) and findAll (shows all the occurrences), which allow to search for the HTML attributes in tags table = soup.find('table', attrs={'id':'tblNapSearchResult'}) # find the table table_body = table.find('tbody') # table's body rows = table_body.findAll('tr',recursive=False) for i,row in enumerate(rows): if i<3: