# Reports 页面元素定位 # 左侧导航栏 mainPage_firstLevelMenu_Reports_posXpath = '//ul[@role="menubar"]//a[text()="Reports"]' # 左侧导航栏Reports ######列表页 reports_listPage_createButton_posId = 'app_create-_OperateBtns_ElRow_Job_list_Home_App_anonymousComponent' # 列表页Create按钮 reports_listPage_deleteButton_posId = 'appDel-_OperateBtns_ElRow_Job_list_Home_App_anonymousComponent' reports_listPage_editButton_posId = 'appEdit-_OperateBtns_ElRow_Job_list_Home_App_anonymousComponent' reports_listPage_copyButton_posId = 'report_copy' reports_listPage_searchId_posId = '1-_FilteredSearch_ElRow_Job_list_Home_App_anonymousComponent' # ID 搜索 reports_listPage_searchName_posId = '2-_FilteredSearch_ElRow_Job_list_Home_App_anonymousComponent' # name 搜索 reports_listPage_tableCheckbox_localVsys_firstReport_posXpath = '(//*[contains(@class,"table-status-item-id")]/preceding-sibling::div[2][not(*)]/ancestor::tr//span[@class="el-checkbox__inner"])[1]' # 列表页中第一个本Vsys的Object 或Group(不包含其他Vsys) # reports_listPage_generateResultButton_posXpath = '//span[contains(@id,"jobList_op")]' # 生成结果按钮(列表页中所有的按钮) reports_listPage_resultsForms_posXpath = '//div[@class="expandItem floatleft margin-right10 box-border"]' # 展开页面中Result reports_listPage_results_100perText_posXpath = '//div[@class="expandItem floatleft margin-right10 box-border"]//span[normalize-space(text())="100%"]' # 结果中100%文本 reports_listPage_results_100per_downloadButton_posXpath = '(//span[normalize-space(text())="100%"]/ancestor::div[@class="expandItem floatleft margin-right10 box-border"]//*[contains(@id,"report_expandLog")])[1]' # 100%结果中的下载按钮 reports_listPage_results_100per_viewButton_posXpath = '(//span[normalize-space(text())="100%"]/ancestor::div[@class="expandItem floatleft margin-right10 box-border"]//*[contains(@id,"report_expandView")])[1]' # 100%结果中的View按钮 # 详情页 reports_detailPage_nameErrorMessage_posXpath = '//label[normalize-space(text())="Name"]/parent::div//div[@class="el-form-item__error"]' # Name输入框下的错误提示 reports_detailPage_okButton_posId = 'report-edit-btn-success' # 详情页底部OK按钮 reports_detailPage_cancelButton_posId = 'report-edit-btn-cancel' # 详情页底部Cancel按钮 reports_detailPage_timePeriodType_dropDown_posId = 'report-edit-time' # 详情页timePeriod下拉框 reports_detailPage_timePeriodType_dropDown_today_posId = 'report-edit-time0' # 详情页timePeriod下拉框中的 today 选项 reports_detailPage_timePeriodType_dropDown_yesterday_posId = 'report-edit-time1' # 详情页timePeriod下拉框中的 yesterday 选项 reports_detailPage_timePeriodType_dropDown_this_posId = 'report-edit-time2' # 详情页timePeriod下拉框中的 this 选项 reports_detailPage_timePeriodType_dropDown_last_posId = 'report-edit-time3' # 详情页timePeriod下拉框中的 last 选项 reports_detailPage_timePeriodType_dropDown_previous_posId = 'report-edit-time4' # 详情页timePeriod下拉框中的 previous 选项 reports_detailPage_timePeriodType_dropDown_customize_posId = 'report-edit-time5' # 详情页timePeriod下拉框中的 customize 选项 reports_detailPage_timePeriod_soFar_checkBox_posXpath = '//*[contains(@class,"el-checkbox")]//span[contains(text(),"So far")]/ancestor::label' # timePeriod_today_soFar_checkBox reports_detailPage_timePeriod_soFar_checkBox_isChecked_posXpath = '//*[contains(@class,"el-checkbox")]//span[contains(text(),"So far")]/ancestor::label[@class="el-checkbox is-checked"]' # timePeriod_today_soFar_checkBox_isChecked reports_detailPage_timePeriod_soFar_checkBox_unChecked_posXpath = '//*[contains(@class,"el-checkbox")]//span[contains(text(),"So far")]/ancestor::label[@class="el-checkbox"]' # timePeriod_today_soFar_checkBox_unChecked reports_detailPage_timePeriod_this_thisWhat_dropDown_posId = 'report-edit-unit' # timePeriod_this_thisWhat_dropDown reports_detailPage_timePeriod_this_thisWhat_hour_poId = 'report-edit-unit0' # thisWhat_ hour reports_detailPage_timePeriod_this_thisWhat_day_poId = 'report-edit-unit1' # thisWhat_day reports_detailPage_timePeriod_this_thisWhat_week_poId = 'report-edit-unit2' # thisWhat_week reports_detailPage_timePeriod_this_thisWhat_month_poId = 'report-edit-unit3' # thisWhat_month reports_detailPage_timePeriod_this_thisWhat_year_poId = 'report-edit-unit4' # thisWhat_year reports_detailPage_timePeriod_last_numberOfLastWhat_input_posXpath = '//div[@id="report-edit-interval"]//input[@role="spinbutton"]' # timePeriod_last_numberOfLastWhat_input reports_detailPage_timePeriod_last_numberOfLastWhat_decreaseButton_posXpath = '//div[@id="report-edit-interval"]//span[@class="el-input-number__decrease"]' # timePeriod_last_numberOfLastWhat_decreaseButton reports_detailPage_timePeriod_last_numberOfLastWhat_increaseButton_posXpath = '//div[@id="report-edit-interval"]//span[@class="el-input-number__increase"]' # timePeriod_last_numberOfLastWhat_increaseButton reports_detailPage_timePeriod_customize_startTime_input_posXpath = '(//label[@for="time_range.start_time"]//ancestor::div[@class="el-form-item el-form-item--small"]//input[@class="el-input__inner"])[1]' # timePeriod_customize_startTime_input reports_detailPage_timePeriod_customize_endTime_input_posXpath = '(//label[@for="time_range.start_time"]//ancestor::div[@class="el-form-item el-form-item--small"]//input[@class="el-input__inner"])[2]' # timePeriod_customize_endTime_input reports_detailPage_reportTimeType_dropDown_posId = 'jobList_reportTime' # reportTimeType_dropDown reports_detailPage_reportTimeType_dropDown_asap_posXpath = '//div[@class="el-scrollbar"]//span[normalize-space(text())="Report ASAP"]' # reportTimeType_dropDown_asap reports_detailPage_reportTimeType_dropDown_recurring_posXpath = '//div[@class="el-scrollbar"]//span[normalize-space(text())="Recurring report"]' # reportTimeType_dropDown_recurring reports_detailPage_reportTimeType_dropDown_specific_posXpath = '//div[@class="el-scrollbar"]//span[normalize-space(text())="Report at a specific time"]' # reportTimeType_dropDown_specific reports_detailPage_reportTimeType_recurring_daily_posXpath = '//span[normalize-space(text())="Daily"]' # reportTimeType_recurring_ daily reports_detailPage_reportTimeType_recurring_weekly_posXpath = '//span[normalize-space(text())="Weekly"]' # reportTimeType_recurring_ Weekly reports_detailPage_reportTimeType_recurring_monthly_posXpath = '//span[normalize-space(text())="Monthly"]' # reportTimeType_recurring_ Monthly reports_detailPage_reportTimeType_recurring_nonRecurring_posXpath = '//span[normalize-space(text())="Non-recurring"]' # reportTimeType_recurring_ Non-recurring # 此定位不太准确,如无目标文本的元素存在,将会定位到第一个 reports_detailPage_reportTimeType_recurring_schedule_startTime_input_poxXpath = '(//*[@id="report-edit-schedule"]//input[@class="el-input__inner"])[count(//*[@id="report-edit-schedule"]//div[normalize-space(text())="Start Time"]/ancestor::th[contains(@class,"el-table")]/preceding-sibling::th)+1]' # Schedule中的Start Time 输入框 reports_detailPage_reportTimeType_recurring_schedule_startDate_input_poxXpath = '(//*[@id="report-edit-schedule"]//input[@class="el-input__inner"])[count(//*[@id="report-edit-schedule"]//div[normalize-space(text())="Start Date"]/ancestor::th[contains(@class,"el-table")]/preceding-sibling::th)+1]' # Schedule中的Start Date 输入框 reports_detailPage_reportTimeType_recurring_schedule_dayOfWeek_dropDown_poxXpath = '(//*[@id="report-edit-schedule"]//span[@class="el-input__suffix"])[count(//*[@id="report-edit-schedule"]//div[normalize-space(text())="Day of Week"]/ancestor::th[contains(@class,"el-table")]/preceding-sibling::th)+1]' # Schedule中的dayOfWeek 输入框 reports_detailPage_reportTimeType_recurring_schedule_month_dropDown_poxXpath = '(//*[@id="report-edit-schedule"]//span[@class="el-input__suffix"])[count(//*[@id="report-edit-schedule"]//div[normalize-space(text())="Month"]/ancestor::th[contains(@class,"el-table")]/preceding-sibling::th)+1]' # Schedule中的 Month 输入框 reports_detailPage_reportTimeType_recurring_schedule_date_dropDown_poxXpath = '(//*[@id="report-edit-schedule"]//span[@class="el-input__suffix"])[count(//*[@id="report-edit-schedule"]//div[normalize-space(text())="Date"]/ancestor::th[contains(@class,"el-table")]/preceding-sibling::th)+1]' # Schedule中的 Date 输入框 reports_detailPage_reportTimeType_recurring_schedule_saveButton_posXpath = '//*[@id="report-edit-schedule"]//div[@class="IconBtn"]//i[contains(@class,"icon-save")]' # Schedule中Time Item的保存按钮 reports_detailPage_reportTimeType_recurring_schedule_deleteButton_posXpath = '//*[@id="report-edit-schedule"]//div[@class="IconBtn"]//i[contains(@class,"icon-Delete_X")]' # Schedule中Time Item的删除按钮 reports_detailPage_reportTimeType_recurring_schedule_addButton_posXpath = '//*[@id="report-edit-schedule"]//div[@class="IconBtn"]//i[contains(@class,"icon-Create1")]' # Schedule中Time Item的添加按钮 reports_detailPage_reportTimeType_recurring_schedule_dayOfWeek_dropDown_monday_posXpath = '//div[@x-placement="bottom-start"]//span[normalize-space(text())="Monday"]' # reportTimeType_recurring_schedule_dayOfWeek_dropDown_ monday reports_detailPage_reportTimeType_recurring_schedule_dayOfWeek_dropDown_tuesday_posXpath = '//div[@x-placement="bottom-start"]//span[normalize-space(text())="Tuesday"]' # reportTimeType_recurring_schedule_dayOfWeek_dropDown_ Tuesday reports_detailPage_reportTimeType_recurring_schedule_dayOfWeek_dropDown_wednesday_posXpath = '//div[@x-placement="bottom-start"]//span[normalize-space(text())="Wednesday"]' # reportTimeType_recurring_schedule_dayOfWeek_dropDown_ Wednesday reports_detailPage_reportTimeType_recurring_schedule_dayOfWeek_dropDown_thursday_posXpath = '//div[@x-placement="bottom-start"]//span[normalize-space(text())="Thursday"]' # reportTimeType_recurring_schedule_dayOfWeek_dropDown_ Thursday reports_detailPage_reportTimeType_recurring_schedule_dayOfWeek_dropDown_friday_posXpath = '//div[@x-placement="bottom-start"]//span[normalize-space(text())="Friday"]' # reportTimeType_recurring_schedule_dayOfWeek_dropDown_ Friday reports_detailPage_reportTimeType_recurring_schedule_dayOfWeek_dropDown_saturday_posXpath = '//div[@x-placement="bottom-start"]//span[normalize-space(text())="Saturday"]' # reportTimeType_recurring_schedule_dayOfWeek_dropDown_ Saturday reports_detailPage_reportTimeType_recurring_schedule_dayOfWeek_dropDown_sunday_posXpath = '//div[@x-placement="bottom-start"]//span[normalize-space(text())="Sunday"]' # reportTimeType_recurring_schedule_dayOfWeek_dropDown_ Sunday reports_detailPage_reportTimeType_recurring_schedule_month_dropDown_allDatas_checkBox_posXpaths_template = '(//div[@x-placement="bottom-start"]//li[contains(@class,"el-select-dropdown__item")]//input[@type="checkbox"])[{}]' # 已展开的Drop Down List中所有的数据的checkBox reports_detailPage_reportTimeType_specificTime_specificTimeInput_poxXpath = '//div[@class="el-date-editor el-input el-input--small el-input--prefix el-input--suffix el-date-editor--datetime"]//input' # Report at a specific time时的时间输入框 reports_detailPage_enableNotification_checkBox_isChecked_posXpath = '//span[normalize-space(text())="Enable Notification"]/ancestor::div[@class="el-form-item__content"]//*[@class="el-checkbox__input is-checked"]' # Enable Notification勾选框被勾选时的定位 reports_detailPage_enableNotification_checkBox_posXpath = '//span[normalize-space(text())="Enable Notification"]/ancestor::div[@class="el-form-item__content"]//span[@class="el-checkbox__inner"]' # Enable Notification勾选框 reports_detailPage_enableNotification_outputProfile_dropDown_posXpaht = '//label[normalize-space(text())="Output Profile"]/ancestor::div[@class="el-form-item el-form-item--small"]//div[contains(@class,"el-select")]' # Output Profile下拉框 reports_detailPage_enableNotification_outputProfile_dropDown_email_posXpaht = '//div[@x-placement="bottom-start"]//*[@id="report-edit-output1"]' # Output Profile下拉框中的Email选项 reports_detailPage_enableNotification_outputProfile_dropDown_ftp_posXpaht = '//div[@x-placement="bottom-start"]//*[@id="report-edit-output0"]' # Output Profile下拉框中的FTP选项 reports_detailPage_enableNotification_outputProfile_dropDown_email_emailInput_posId = 'report-edit-email' # Output Profile选择Email选项时,Email输入框 reports_detailPage_enableNotification_outputProfile_dropDown_email_emailInput_posXpath_template = '(//*[@id="report-edit-email"])[{}+1]' ##Output Profile选择Email选项时,Email输入框通用模板 reports_detailPage_enableNotification_outputProfile_dropDown_email_emailItemDeleteButton_posXpath = '//*[contains(@id,"report-edit-email") and contains(@class,"icon-retract")]' # Output Profile选择Email选项时,Email输入框后的删除按钮 reports_detailPage_enableNotification_outputProfile_dropDown_email_emailItemDeleteButton_posXpath_template = '(//*[contains(@id,"report-edit-email") and contains(@class,"icon-retract")])[{}+1]' # Output Profile选择Email选项时,Email输入框后的删除按钮通用模板 reports_detailPage_enableNotification_outputProfile_dropDown_email_emailItemAddButton_posId = 'jobListAdd_email' # Output Profile选择Email选项时,Email 添加按钮 reports_detailPage_enableNotification_outputProfile_dropDown_ftp_pleaseSelectButton_posId = 'primary6' ## Output Profile选择 FTP 选项时,Please select按钮 reports_detailPage_enableNotification_outputProfile_dropDown_ftp_ftpFTPServerInput_posId = 'FTP_server' # Output Profile选择 FTP 选项时,FTP_server 输入框 reports_detailPage_enableNotification_outputProfile_dropDown_ftp_ftpFTPUserInput_posId = 'FTP_user' # Output Profile选择 FTP 选项时,FTP_user 输入框 reports_detailPage_enableNotification_outputProfile_dropDown_ftp_ftpFTPPasswordInput_posId = 'FTP_password' # Output Profile选择 FTP 选项时,FTP_password 输入框 reports_detailPage_enableNotification_outputProfile_dropDown_ftp_okButton_posId = 'report_ftpExpertOk' # Output Profile选择 FTP 选项时,Ok确认按钮 reports_detailPage_enableNotification_outputProfile_dropDown_ftp_cancelButton_posId = 'report_ftpExpertCancel' # Output Profile选择 FTP 选项时,Cancel按钮 ###Chart reports_detailPage_addChartButton_posXpath = '//*[normalize-space(text())="Add Chart"]' # addChartButton reports_detailPage_saveChartOkButton_posId = 'chart-ok' # saveChartOkButton reports_detailPage_visualizationType_tabel_drillDownRadio_posXpath = '//div[@role="radiogroup"]//span[normalize-space(text())="Drill Down"]' reports_detailPage_chart_data_source_select_up_posXpath = '//label[normalize-space(text())="Data Source"]/ancestor::div[@class="el-form-item el-form-item--small"]//i[@class="el-select__caret el-input__icon el-icon-arrow-up"]' reports_detailPage_editChartButton_posXpath = '//div[contains(@class,"ChartBox")]//div[@class="operateIcon"]//i[contains(@class,"icon-Edit")]' # chart 编辑按钮 reports_detailPage_editChartButton_posXpath_template = '(//div[contains(@class,"ChartBox")]//div[@class="operateIcon"]//i[contains(@class,"icon-Edit")])[{}]' # reports_detailPage_lastDeleteChartButton_posXpath = '(//div[contains(@class,"ChartBox")]//div[@class="operateIcon"]//i[contains(@class,"icon-Delete_X")])[last()]' # 最新的Chart删除按钮 reports_detailPage_deleteChartButton_posXpath_template = '(//div[contains(@class,"ChartBox")]//div[@class="operateIcon"]//i[contains(@class,"icon-Delete_X")])[{}]' # Chart删除按钮通用模板 reports_detailPage_seriesLimitDropDown_posXpath = '//label[normalize-space(text())="Series Limit"]/parent::div//input' # series_limit下拉框 ###保存Report时弹出的确认弹窗 reports_detailPage_saveConfirm_yesButton_posXpath = '//div[@class="el-message-box tsg-message el-message-box--center"]//*[normalize-space(text())="Yes"]' # 保存时Warning: Save Changes确认弹窗中的Yes ##Chart 保存后的预览页面 reports_detailPage_visualizationType_text_posXpath = '//*[normalize-space(text())="Visualization Type"]/parent::div//div[text()]'#visualizationType_text reports_detailPage_visualizationType_text_posXpath_template ='(//*[normalize-space(text())="Visualization Type"]/parent::div//div[text()])[{}]'#visualizationType_text reports_detailPage_dataSource_text_posXpath_template = '(//*[normalize-space(text())="Data Source"]/parent::div//div[text()])[{}]' reports_detailPage_commonText_posXpath_template = '(//*[normalize-space(text())="{}"]/parent::div//div[text()])[{}]'