*** Settings *** Library Selenium2Screenshots Library String Library DateTime *** Variables *** ${mail} test@mail.com ${telephone} +380976535447 *** Keywords *** Підготувати клієнт для користувача [Arguments] @{ARGUMENTS} [Documentation] Відкрити брaвзер, створити обєкт api wrapper, тощо ... ${ARGUMENTS[0]} == username Open Browser ${USERS.users['${ARGUMENTS[0]}'].homepage} ${USERS.users['${username}'].browser} alias=${ARGUMENTS[0]} Set Window Size @{USERS.users['${ARGUMENTS[0]}'].size} Set Window Position @{USERS.users['${ARGUMENTS[0]}'].position} # login Run Keyword And Ignore Error Wait Until Page Contains Element id=mForm:j_idt54 10 Click Element id=mForm:j_idt54 Run Keyword And Ignore Error Wait Until Page Contains Element id=mForm:email 10 Input text id=mForm:email ${USERS.users['${username}'].login} Sleep 2 Input text id=mForm:pwd ${USERS.users['${username}'].password} Click Button id=mForm:login Створити тендер [Arguments] @{ARGUMENTS} [Documentation] ... ${ARGUMENTS[0]} == username ... ${ARGUMENTS[1]} == tender_data ${file_path}= local_path_to_file TestDocument.docx ${prepared_tender_data}= Add_data_for_GUI_FrontEnds ${ARGUMENTS[1]} ${items}= Get From Dictionary ${prepared_tender_data.data} items ${title}= Get From Dictionary ${prepared_tender_data.data} title ${description}= Get From Dictionary ${prepared_tender_data.data} description ${budget}= Get From Dictionary ${prepared_tender_data.data.value} amount ${step_rate}= Get From Dictionary ${prepared_tender_data.data.minimalStep} amount ${countryName}= Get From Dictionary ${prepared_tender_data.data.procuringEntity.address} countryName ${delivery_end_date}= Get From Dictionary ${items[0].deliveryDate} endDate ${delivery_end_date}= convert_date_to_prom_format ${delivery_end_date} ${cpv}= Convert To String "Картонки" ${cpv_id}= Get From Dictionary ${items[0].classification} id ${cpv_id_1}= Get Substring ${cpv_id} 0 3 ${dkpp_desc}= Get From Dictionary ${items[0].additionalClassifications[0]} description ${dkpp_id}= Get From Dictionary ${items[0].additionalClassifications[0]} id ${code}= Get From Dictionary ${items[0].unit} code ${quantity}= Get From Dictionary ${items[0]} quantity ${name}= Get From Dictionary ${prepared_tender_data.data.procuringEntity.contactPoint} name Selenium2Library.Switch Browser ${ARGUMENTS[0]} Wait Until Page Contains Element xpath=//*[contains(@class, 'ui-button-text ui-c')][./text()='Нова закупівля'] 10 Click Element xpath=//*[contains(@class, 'ui-button-text ui-c')][./text()='Нова закупівля'] Wait Until Page Contains Element id=mForm:data:name Input text id=mForm:data:name ${title} Input text id=mForm:data:desc ${description} Input text id=mForm:data:budget ${budget} Input text id=mForm:data:step ${step_rate} Click Element xpath=//*[@id='mForm:data:vat']/tbody/tr/td[1]//span Input text id=mForm:data:dEPr_input ${delivery_end_date} Click Element id=mForm:data:cKind_label Click Element xpath=//div[@id='mForm:data:cKind_panel']//li[3] Input text id=mForm:data:cCpvGr_input ${cpv_id_1} Wait Until Page Contains Element xpath=.//*[@id='mForm:data:cCpvGr_panel']/table/tbody/tr/td[2]/span 10 Click Element xpath=.//*[@id='mForm:data:cCpvGr_panel']/table/tbody/tr/td[2]/span Input text id=mForm:data:subject0 ${dkpp_desc} Input text id=mForm:data:cCpv0_input ${cpv_id} Wait Until Page Contains Element xpath=//div[@id='mForm:data:cCpv0_panel']//td[1]/span 10 Click Element xpath=//div[@id='mForm:data:cCpv0_panel']//td[1]/span Input text id=mForm:data:unit0_input ${code} Wait Until Page Contains Element xpath=//div[@id='mForm:data:unit0_panel']//tr/td[1] 10 Click Element xpath=//div[@id='mForm:data:unit0_panel']//tr/td[1] Input text id=mForm:data:amount0 ${quantity} Input text id=mForm:data:cDkpp0_input ${dkpp_id} Wait Until Page Contains Element xpath=//div[@id='mForm:data:cDkpp0_panel']//tr[1]/td[2]/span 10 Click Element xpath=//div[@id='mForm:data:cDkpp0_panel']//tr[1]/td[2]/span Input text id=mForm:data:rName ${name} Input text id=mForm:data:rPhone ${telephone} Input text id=mForm:data:rMail ${mail} Choose File id=mForm:data:docFile_input ${file_path} Sleep 2 Run Keyword if '${mode}' == 'multi' Додати предмет items Click Element id=mForm:bSave # More smart wait for id is needed there. Sleep 25 ${tender_UAid}= Get Text id=mForm:nBid ${tender_UAid}= Get Substring ${tender_UAid} 19 ${Ids} Convert To String ${tender_UAid} Run keyword if '${mode}' == 'multi' Set Multi Ids ${tender_UAid} [return] ${Ids} Set Multi Ids [Arguments] @{ARGUMENTS} [Documentation] ... ${ARGUMENTS[0]} == ${tender_UAid} ${id}= Get Text id=mForm:nBid ${Ids} Create List ${tender_UAid} ${id} Додати предмет [Arguments] @{ARGUMENTS} [Documentation] ... ${ARGUMENTS[0]} == items ${dkpp_desc1}= Get From Dictionary ${items[1].additionalClassifications[0]} description ${dkpp_id11}= Get From Dictionary ${items[1].additionalClassifications[0]} id ${dkpp_desc2}= Get From Dictionary ${items[2].additionalClassifications[0]} description ${dkpp_id2}= Get From Dictionary ${items[2].additionalClassifications[0]} id ${dkpp_desc3}= Get From Dictionary ${items[3].additionalClassifications[0]} description ${dkpp_id3}= Get From Dictionary ${items[3].additionalClassifications[0]} id Wait Until Page Contains Element xpath=//button[@class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only"] 10 Wait Until Page Contains Element xpath=//button[contains(@class, 'ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only')] 10 Wait Until Page Contains Element xpath=//button[@id="mForm:data:j_idt911"]|//button[@id="mForm:data:j_idt726"] 10 Click Element xpath=//button[@id="mForm:data:j_idt911"]|//button[@id="mForm:data:j_idt726"] Wait Until Page Contains Element id=mForm:data:subject1 10 Input text id=mForm:data:subject1 ${dkpp_desc1} Input text id=mForm:data:cCpv1_input ${cpv_id} Wait Until Page Contains Element xpath=//div[@id='mForm:data:cCpv1_panel']/table/tbody/tr/td[1]/span 10 Click Element xpath=//div[@id='mForm:data:cCpv1_panel']/table/tbody/tr/td[1]/span Input text id=mForm:data:unit1_input ${code} Wait Until Page Contains Element xpath=//div[@id='mForm:data:unit1_panel']/table/tbody/tr/td[1] 10 Click Element xpath=//div[@id='mForm:data:unit1_panel']/table/tbody/tr/td[1] Input text id=mForm:data:amount1 ${quantity} Input text id=mForm:data:cDkpp1_input ${dkpp_id11} Wait Until Page Contains Element xpath=//div[@id='mForm:data:cDkpp1_panel']/table/tbody/tr/td[1]/span 10 Click Element xpath=//div[@id='mForm:data:cDkpp1_panel']/table/tbody/tr/td[1]/span Click Element xpath=//button[@id="mForm:data:j_idt911"]|//button[@id="mForm:data:j_idt726"] Wait Until Page Contains Element id=mForm:data:subject2 10 Input text id=mForm:data:subject2 ${dkpp_desc2} Input text id=mForm:data:cCpv2_input ${cpv_id} Wait Until Page Contains Element xpath=//div[@id='mForm:data:cCpv2_panel']/table/tbody/tr/td[1]/span 10 Click Element xpath=//div[@id='mForm:data:cCpv2_panel']/table/tbody/tr/td[1]/span Input text id=mForm:data:unit2_input ${code} Wait Until Page Contains Element xpath=//div[@id='mForm:data:unit2_panel']/table/tbody/tr/td[1] 10 Click Element xpath=//div[@id='mForm:data:unit2_panel']/table/tbody/tr/td[1] Input text id=mForm:data:amount2 ${quantity} Input text id=mForm:data:cDkpp2_input ${dkpp_id2} Wait Until Page Contains Element xpath=//div[@id='mForm:data:cDkpp2_panel']/table/tbody/tr/td[1]/span 10 Click Element xpath=//div[@id='mForm:data:cDkpp2_panel']/table/tbody/tr/td[1]/span Click Element xpath=//button[@id="mForm:data:j_idt911"]|//button[@id="mForm:data:j_idt726"] Wait Until Page Contains Element id=mForm:data:subject3 10 Input text id=mForm:data:subject3 ${dkpp_desc3} Input text id=mForm:data:cCpv3_input ${cpv_id} Wait Until Page Contains Element xpath=//div[@id='mForm:data:cCpv3_panel']/table/tbody/tr/td[1]/span 10 Click Element xpath=//div[@id='mForm:data:cCpv3_panel']/table/tbody/tr/td[1]/span Input text id=mForm:data:unit3_input ${code} Wait Until Page Contains Element xpath=//div[@id='mForm:data:unit3_panel']/table/tbody/tr/td[1] 10 Click Element xpath=//div[@id='mForm:data:unit3_panel']/table/tbody/tr/td[1] Input text id=mForm:data:amount3 ${quantity} Input text id=mForm:data:cDkpp3_input ${dkpp_id3} Wait Until Page Contains Element xpath=//div[@id='mForm:data:cDkpp3_panel']/table/tbody/tr/td[1]/span 10 Click Element xpath=//div[@id='mForm:data:cDkpp3_panel']/table/tbody/tr/td[1]/span Пошук тендера по ідентифікатору [Arguments] @{ARGUMENTS} [Documentation] ... ${ARGUMENTS[0]} == username ... ${ARGUMENTS[1]} == tenderId ... ${ARGUMENTS[2]} == id Switch browser ${ARGUMENTS[0]} ${current_location}= Get Location Wait Until Page Contains Офіційний майданчик державних закупівель України 10 sleep 1 Input Text id=j_idt18:datalist:j_idt67 ${ARGUMENTS[1]} sleep 2 ${last_note_id}= Add pointy note jquery=a[href^="#/tenderDetailes"] Found tender with tenderID "${ARGUMENTS[1]}" width=200 position=bottom sleep 1 Remove element ${last_note_id} Click Link jquery=a[href^="#/tenderDetailes"] Wait Until Page Contains ${ARGUMENTS[1]} 10 sleep 1 Capture Page Screenshot