def modify_transformer(self, room_location, transformer_location, room=None, transformer_name=None, voltage_level_high=None, voltage_level_low=None, capacity=None, remark=None): # 进入变压器档案管理界面 HomePage(self.driver).enter_transformer_archive_management() modify_button_replace = str(loc.modify_button).replace( 'pdf_replace', room_location).replace('byq_replace', transformer_location) HomePage(self.driver).whether_need_click_next_page_button( eval(modify_button_replace)) # 点击修改按钮 self.click_element(eval(modify_button_replace)) self.edit_transformer(room, transformer_name, voltage_level_high, voltage_level_low, capacity, remark, mode='修改')
def add_user(self, name=None, user_name=None, password=None, confirm_password=None, email=None, phone=None, role=None, manage_room=None, remark=None): # 进入用户管理界面 HomePage(self.driver).enter_user_manage() # 点击新增按钮 HomePage(self.driver).click_add_button() # 在用户编辑界面进行输入 self.edit_user(name, user_name, password, confirm_password, email, phone, role, manage_room, remark, mode='新增', manage_room_old=None)
def test_click_collect_button(self, add_cookie_to_be_in_login_state): HomePage(add_cookie_to_be_in_login_state ).click_original_selected_video_picture() video_details = VideoDetailPage(add_cookie_to_be_in_login_state) collect_attribute_1 = video_details.get_collect_attribute() head = HeadPage(add_cookie_to_be_in_login_state) head.click_head_nickname() PersonalHomePage( add_cookie_to_be_in_login_state).click_menu_my_collect() my_collect = MyCollectPage(add_cookie_to_be_in_login_state) my_collect.click_menu_video() collect_list_1 = my_collect.get_all_video_title() head.click_logo() HomePage(add_cookie_to_be_in_login_state ).click_original_selected_video_picture() video_details.click_collect_button() time.sleep(1) collect_attribute_2 = video_details.get_collect_attribute() head.click_head_nickname() PersonalHomePage( add_cookie_to_be_in_login_state).click_menu_my_collect() my_collect.click_menu_video() collect_list_2 = my_collect.get_all_video_title() assert collect_list_1 != collect_list_2 assert collect_attribute_1 != collect_attribute_2
def delete_data_point(self, monitoring_location, node_position_location, delete_data_point_location): """ :param monitoring_location: 需要删除的数据节点---对应的一体机 :param node_position_location: 需要删除的数据节点---对应的所属位置,环境对应的是--配电房,开关柜/变压器对应的是--具体的某一个开关柜/变压器 :param delete_data_point_location: 需要删除的数据节点---对应的数据节点名称 :return: """ # 进入数据节点管理界面 HomePage(self.driver).enter_data_point_manage() # 从数据节点列表中--需要修改的数据节点--对应的操作栏中,点击删除按钮 # 如果数据节点信息比较多,有多页--而需要删除的数据节点不在当前页面,则需要翻页 delete_button_replace = str(loc.delete_button).replace( 'monitoring', monitoring_location).replace('node_position', node_position_location).replace( 'delete_data_point', delete_data_point_location) HomePage(self.driver).whether_need_click_next_page_button( eval(delete_button_replace) ) # 当前页面找到了元素,则继续下一步操作,否则点击“下一页”按钮,在其他页面继续寻找 # 点击数据节点操作栏中的删除按钮 self.click_element(eval(delete_button_replace)) # 切换到默认iframe self.back_to_default_content() time.sleep(0.5) # 在弹出的提示框中点击确定按钮 self.click_element(loc_home.confirm_button)
def add_data_point(self, room=None, monitoring=None, node_position=None, cabinet_or_transformer=None, data_type=None, signal_type=None, whether_alarm=None, data_point_name=None, channel_number=None, data_unit=None, decimal_point_number=None, upper_limit=None, remark=None): # 进入数据节点管理界面 HomePage(self.driver).enter_data_point_manage() # 点击新增按钮 HomePage(self.driver).click_add_button() # 在数据节点编辑界面进行输入 self.edit_data_point(room, monitoring, node_position, cabinet_or_transformer, data_type, signal_type, whether_alarm, data_point_name, channel_number, data_unit, decimal_point_number, upper_limit, remark, mode=None)
def add_alarm_set(self, room=None, monitoring=None, node_position=None, cabinet_or_transformer=None, alarm_type=None, alarm_data=None, value_feedback_point=None, upper_limit=None, remark=None, mode=None): # 进入控制节点管理界面 HomePage(self.driver).enter_alarm_set() # 点击新增按钮 HomePage(self.driver).click_add_button() # 在控制节点编辑界面进行输入 self.edit_alarm_set(room, monitoring, node_position, cabinet_or_transformer, alarm_type, alarm_data, value_feedback_point, upper_limit, remark, mode=None)
def modify_control_point(self, room_location, monitoring_location, modify_control_point, room=None, monitoring=None, data_type=None, status_feedback_point=None, control_point_name=None, channel_number=None, whether_control=None, remark=None): # 进入控制节点管理界面 HomePage(self.driver).enter_control_point_manage() modify_button_replace = str(loc.modify_button).replace( 'pdf_replace', room_location).replace('ytj_replace', monitoring_location).replace( 'jdmc_replace', modify_control_point) # 当前页面是否能找到元素,如果存在多页,则去其他页面查找元素是否存在 HomePage(self.driver).whether_need_click_next_page_button( eval(modify_button_replace)) # 点击修改按钮 self.click_element(eval(modify_button_replace)) # 在控制节点编辑界面进行输入 self.edit_control_point(room, monitoring, data_type, status_feedback_point, control_point_name, channel_number, whether_control, remark, mode='修改')
def modify_cabinet(self, room_location, cabinet_location, room=None, cabinet_name=None, cabinet_type=None, remark=None): """ :param room_location: 需要修改的开关柜--对应的配电房名称 :param cabinet_location: 需要修改的开关柜--对应的开关柜名称 :param room: 输入修改内容 :param cabinet_name: 输入修改内容 :param cabinet_type: 输入修改内容 :param remark: 输入修改内容 :return: """ # 进入开关柜档案管理界面 HomePage(self.driver).enter_cabinet_archive_management() modify_button_replace = str(loc.modify_button).replace( 'pdf_replace', room_location).replace('kgg_replace', cabinet_location) # 开关柜列表中--需要修改的开关柜--操作栏中,点击修改按钮 # 如果当前页面中,没找到目标开关柜,而“下一页”按钮可点击,则点击下一页按钮,在其他的页面继续寻找 HomePage(self.driver).whether_need_click_next_page_button( eval(modify_button_replace)) # 点击修改按钮 self.click_element(eval(modify_button_replace)) # 在开关柜编辑界面,进行修改 self.edit_cabinet(room, cabinet_name, cabinet_type, remark, mode='修改')
def modify_user(self, user_name_location, name=None, user_name=None, password=None, confirm_password=None, email=None, phone=None, role=None, manage_room=None, remark=None, manage_room_old=None): # 进入用户管理界面 HomePage(self.driver).enter_user_manage() modify_button_replace = str(loc.modify_button).replace( 'replace', user_name_location) # 当前页面是否存在目标元素,不存在则点击下一页按钮,在其他的页面继续查找 HomePage(self.driver).whether_need_click_next_page_button( eval(modify_button_replace)) # 点击修改按钮 self.click_element(eval(modify_button_replace)) # 在用户编辑界面进行输入 self.edit_user(name, user_name, password, confirm_password, email, phone, role, manage_room, remark, mode='修改', manage_room_old=manage_room_old)
def test_comment_with_picture(self, login_web): home = HomePage(login_web) home.click_music_classify_left_video_picture() video_details = VideoDetailPage(login_web) video_details.publish_level_1_comments_with_picture( 'hahahahah你好', picture_xpath) time.sleep(3) assert True
def add_room_archive(self, room_name=None, area=None, room_address=None, map_pic_path=None, control_pic_path=None, primary_diagram_path=None, remark=None): # 进入配电房档案管理界面 HomePage(self.driver).enter_room_archive_management() # 点击新增按钮 HomePage(self.driver).click_add_button() # 在配电房编辑界面进行输入 self.edit_room_archive(room_name, area, room_address, map_pic_path, control_pic_path, primary_diagram_path, remark, mode=None)
def add_monitoring(self, room=None, monitoring_name=None, monitoring_type=None, mailing_address=None, network_connection_mode=None, network_ip=None, network_port=None, domain_name=None, login_username=None, login_password=None, remark=None): # 进入监控设备管理界面 HomePage(self.driver).enter_monitoring_equipment_manage() # 点击新增按钮 HomePage(self.driver).click_add_button() # 在监控设备编辑界面进行输入 self.edit_monitoring(room, monitoring_name, monitoring_type, mailing_address, network_connection_mode, network_ip, network_port, domain_name, login_username, login_password, remark, mode=None)
def test_click_music_classify_right_video_picture( self, add_cookie_to_be_in_login_state): home = HomePage(add_cookie_to_be_in_login_state) dict_home = home.get_music_classify_right_video_title_authors() home.click_music_classify_right_video_picture() video_details = VideoDetailPage(add_cookie_to_be_in_login_state) dict_video = video_details.get_video_title_authors_picture() assert dict_home['title'] == dict_video['title'] assert dict_home['authors'] == dict_video['authors']
def add_cabinet(self, room=None, cabinet_name=None, cabinet_type=None, remark=None): # 进入开关柜档案管理界面 HomePage(self.driver).enter_cabinet_archive_management() # 点击新增按钮 HomePage(self.driver).click_add_button() self.edit_cabinet(room, cabinet_name, cabinet_type, remark, mode=None)
def test_click_original_selected_title(self, add_cookie_to_be_in_login_state): home = HomePage(add_cookie_to_be_in_login_state) dict_home = home.get_original_selected_title_authors_picture_time() #点击标题 home.click_original_selected_video_title() video_details = VideoDetailPage(add_cookie_to_be_in_login_state) dict_video = video_details.get_video_title_authors_picture() # video_time=video_details.click_video_get_video_time() assert dict_home['title'] == dict_video['title'] assert dict_home['authors'] == dict_video['authors']
def modify_room_archive(self, modify_room, room_name=None, area=None, room_address=None, map_pic_path=None, control_pic_path=None, primary_diagram_path=None, remark=None): # 进入配电房档案管理界面 HomePage(self.driver).enter_room_archive_management() # 从配电房列表中--需要修改的配电房--对应的操作栏中,点击修改按钮 # 如果配电房信息比较多,有多页--而需要修改的配电房不在第一页,则需要翻页 modify_button_replace = str(loc.modify_button).replace('replace', modify_room) HomePage(self.driver).whether_need_click_next_page_button(eval(modify_button_replace)) # 在对应配电房操作栏中点击修改按钮 self.click_element(eval(modify_button_replace)) # 在配电房编辑界面进行输入 self.edit_room_archive(room_name, area, room_address, map_pic_path, control_pic_path, primary_diagram_path, remark, mode='修改')
def delete_monitoring(self, room_location, delete_monitoring): # 进入监控设备管理界面 HomePage(self.driver).enter_monitoring_equipment_manage() # 当前页面是否存在目标元素,如果下一页按钮可点击,则点击下一页按钮,在其他页面进行查找 delete_button_replace = str(loc.delete_button).replace('pdf_replace', room_location).replace('jksb_replace', delete_monitoring) HomePage(self.driver).whether_need_click_next_page_button(eval(delete_button_replace)) # 点击删除按钮 self.click_element(eval(delete_button_replace)) # 切换到默认iframe self.back_to_default_content() time.sleep(0.5) # 在弹出的提示框中点击确定按钮 self.click_element(loc_home.confirm_button)
def modify_monitoring(self, room_location, modify_monitoring, room=None, monitoring_name=None, monitoring_type=None, mailing_address=None, network_connection_mode=None, network_ip=None, network_port=None, domain_name=None, login_username=None, login_password=None, remark=None): # 进入监控设备管理界面 HomePage(self.driver).enter_monitoring_equipment_manage() # 当前页面是否存在目标元素,如果下一页按钮可点击,则点击下一页按钮,在其他页面进行查找 modify_button_replace = str(loc.modify_button).replace('pdf_replace', room_location).replace('jksb_replace', modify_monitoring) HomePage(self.driver).whether_need_click_next_page_button(eval(modify_button_replace)) # 点击修改按钮 self.click_element(eval(modify_button_replace)) # 在监控设备编辑界面进行输入 self.edit_monitoring(room, monitoring_name, monitoring_type, mailing_address, network_connection_mode, network_ip, network_port, domain_name, login_username, login_password, remark, mode='修改')
def init_ad_manage(): driver = webdriver.Chrome() driver.get(cd.login_boss_url) driver.maximize_window() lp = LoginPage(driver) lp.boss_login(cd.boss_user["user"], cd.boss_user["pwd"]) hp = HomePage(driver) hp.click_element(hl.ad_menu, "点击广告管理菜单") ad = AdPage(driver) yield ad driver.quit()
def delete_area(self, area_code_location): # 进入区域管理节点 HomePage(self.driver).enter_area_manage() delete_button_replace = str(loc.delete_button).replace( 'replace', area_code_location) HomePage(self.driver).whether_need_click_next_page_button( eval(delete_button_replace)) # 点击删除按钮 self.click_element(eval(delete_button_replace)) # 切换到默认iframe self.back_to_default_content() time.sleep(0.5) # 在弹出的提示框中点击确定按钮 self.click_element(loc_home.confirm_button)
def modify_area(self, area_code_location, area_name=None, area_code=None, remark=None): # 进入区域管理节点 HomePage(self.driver).enter_area_manage() modify_button_replace = str(loc.modify_button).replace( 'replace', area_code_location) HomePage(self.driver).whether_need_click_next_page_button( eval(modify_button_replace)) # 点击修改按钮 self.click_element(eval(modify_button_replace)) # 在区域编辑界面进行输入 self.edit_area(area_name, area_code, remark, mode='修改')
def delete_user(self, user_name_location): # 进入用户管理界面 HomePage(self.driver).enter_user_manage() delete_button_replace = str(loc.delete_button).replace( 'replace', user_name_location) # 当前页面是否存在目标元素,不存在则点击下一页按钮,在其他的页面继续查找 HomePage(self.driver).whether_need_click_next_page_button( eval(delete_button_replace)) # 点击删除按钮 self.click_element(eval(delete_button_replace)) # 切换到默认iframe self.back_to_default_content() time.sleep(0.5) # 在弹出的提示框中点击确定按钮 self.click_element(loc_home.confirm_button)
def test_add_monitor(self, data, enter_the_homepage): MonitoringEquipmentManagePage(enter_the_homepage).add_monitoring( room=data['room_name'], monitoring_name=data['monitoring_name'], monitoring_type=data['monitoring_type'], mailing_address=data['mailing_address'], network_connection_mode=data['network_connection_mode'], network_ip=data['network_ip'], network_port=data['network_port'], domain_name=data['domainName'], login_username=data['login_username'], login_password=data['login_password'], remark=data['remark']) HomePage(enter_the_homepage).switch_iframe_to_new_tab() assert "成功" in HomePage(enter_the_homepage).get_success_save_tip()
def delete_transformer(self, room_location, transformer_location): # 进入变压器档案管理界面 HomePage(self.driver).enter_transformer_archive_management() delete_button_replace = str(loc.delete_button).replace( 'pdf_replace', room_location).replace('byq_replace', transformer_location) HomePage(self.driver).whether_need_click_next_page_button( eval(delete_button_replace)) # 点击删除按钮 self.click_element(eval(delete_button_replace)) # 切换到默认iframe self.back_to_default_content() time.sleep(0.5) # 在弹出的提示框中点击确定按钮 self.click_element(loc_home.confirm_button)
def add_area(self, area_name=None, area_code=None, remark=None): # 进入区域管理节点 HomePage(self.driver).enter_area_manage() # 点击新增按钮 self.click_element(loc.add_button) # 在区域编辑界面进行输入 self.edit_area(area_name, area_code, remark, mode=None)
def test_invest_success(self, back_home): logger.info(" **** 正向用例:登陆成功 检验:用户余额是否变化,标的可余额是否变化 ***** ") # 前置 - 步骤 - 断言 # 1、首页 - 选择第1个标,点击抢投标按钮 HomePage(back_home).click_first_invest_button() # 2、标页面 - 获取用户的 投资前的余额 bp = BidPage(back_home) user_money_before_invest = bp.get_user_left_money() # 2、标页面 - 获取标的 投资前的标余额 bid_money_before_invest = bp.get_bid_left_money() # 2、标页面 - 输入投资金额2000,点击投资按钮。 bp.invest(2000) # 3、标页面 - 点击查看并激活 bp.click_activation_button_on_success_popup() # 1、用户的钱少了没有 # 投资之前 - 投资之后 = 2000 # 用户页面 - 得到用户当前余额 user_money_after_invest = UserPage(back_home).get_user_left_money() # 2、标的可投余额少了没有 # 标前 - 标后 = 2000 # 用户页面 - 回退一次 UserPage(back_home).back_last_page().refresh_page() # 刷新页面, # 标页面 - 获取投资后的标余额 bid_money_after_invest = bp.get_bid_left_money() # 1、用户的钱少了没有 assert float(user_money_before_invest) - float( user_money_after_invest) == 2000 assert float(bid_money_before_invest) * 10000 - float( bid_money_after_invest) * 10000 == 2000
def test_add_cabinet(self, data, enter_the_homepage): CabinetArchiveMmanagementPage(enter_the_homepage).add_cabinet( room=data['room_name'], cabinet_name=data['cabinet_name'], cabinet_type=data['cabinet_type'], remark=data['remark']) assert "成功" in HomePage(enter_the_homepage).get_success_save_tip()
def test_invest_success(self,init_driver): """ 正向场景 - 投资成功:投资金额固定为1000 """ # 步骤 logging.info("投资功能 - 正常场景用例:投资1000元成功。用户可用余额减少1000,标余额减少1000 ") # 1、首页 - 第一标 - 抢投标 HomePage(init_driver[0]).click_first_bid() # 2、标页面 - 获取输入框当中,投资前的用户余额 user_money_before_invest = init_driver[1].get_user_money() # 3、标页面 - 获取标的余额,投资前。 bid_money_before_invest = init_driver[1].get_bid_left_money() # 4、标页面 - 输入金额20000,点击投标 init_driver[1].invest(ID.success["money"]) # 5 、标页面 - 成功弹出框当中,点击查看并激活 init_driver[1].click_active_button_in_success_popup() # 6 、个人页面获取用户的余额 user_money_after_invest = UserPage(init_driver[0]).get_user_left_money() # 7 、 回退到表页面刷新后再次获取表的余额 init_driver[0].back() time.sleep(2) init_driver[0].refresh() #成功投资后标的余额 bid_money_after_invest = init_driver[1].get_bid_left_money() # 断言 # 1、用户余额少了1000 assert ID.success["money"] == int(float(user_money_before_invest)-float(user_money_after_invest))
def edit_sucai(self, sucai_name, dirpath, sucai_type, remarks, mode): if sucai_name: if mode == '修改': self.clear_input(loc.sucai_name) self.input_text(loc.sucai_name, sucai_name) if dirpath: # 获取当前窗口的句柄 current_window_handle = self.get_current_window_handle() time.sleep(1) self.click_element(loc.choice_button) # 切换到新打开的窗口 self.switch_to_new_window(current_window_handle) time.sleep(1.5) # 上传文件时,不修改文件的名字,因为欢迎词模板zip文件名必须与zip包内的html文件名一致 HomePage().to_upload_file_without_modify_filename(dirpath) time.sleep(1) # 切回到默认窗口 self.back_to_default_window(current_window_handle) time.sleep(1) # 返回默认iframe self.switch_iframe(self.get_element(home_loc.iframe)) if sucai_type: sucai_type_replace = str(loc.sucai_type).replace( 'replace', sucai_type) self.click_element(eval(sucai_type_replace)) if remarks: if mode == '修改': self.clear_input(loc.remarks) self.input_text(loc.remarks, remarks) self.click_element(home_loc.submit)
def edit_cabinet(self, room, cabinet_name, cabinet_type, remark, mode): if room: room_choice_replace = str(loc.room_choice).replace('replace', room) # 点击所属配电房输入框,展开所属配电房下拉框 self.click_element(loc.room_select) # 选择配电房 self.click_element(eval(room_choice_replace)) if cabinet_name: if mode == "修改": self.clear_input(loc.cabinet_name) # 输入开关柜名称 self.clear_input(loc.cabinet_name) self.input_text(loc.cabinet_name, cabinet_name) # 选择开关类型,cabinet_type为进线柜时,便点击进线柜。cabinet_type为计量柜时,便点击计量柜。 if cabinet_type: cabinet_type_replace = str(loc.cabinet_type).replace( 'replace', cabinet_type) self.click_element(eval(cabinet_type_replace)) # 输入备注信息,可为空 if remark: if mode == "修改": self.clear_input(loc.remark) self.input_text(loc.remark, remark) # 点击保存按钮 HomePage(self.driver).click_submit_button()