def getLocateMethodAndData(self, browser, objname, phoneNumber, firstPassword, secondPassword, pictureCheckCode, smsCheckCode, alertmessage): """根据需要定位的元素的名称得到需要定位的元素的定位方式以及定位数据""" register_excel_path = r"G:\HuaYing\HuaYingData\registerByPhoneNumber_data.xls" register_object_sheet = ReadExcel.ReadExcel().getTableBySheetName( register_excel_path, "objname_locatemethod_locatedata") row_col_list = get_number_by_data.GetRowAndColNumber( ).getRowAndColNumber(register_excel_path, "objname_locatemethod_locatedata", objname) old_how = register_object_sheet.cell_value(row_col_list[0], row_col_list[1] + 1) what = register_object_sheet.cell_value(row_col_list[0], row_col_list[1] + 2) #在这里增加一个字典是因为如果直接把By.ID写在excel里的话,取出来不能用 locate_method_dict = { 'id': By.ID, 'css': By.CSS_SELECTOR, 'xpath': By.XPATH, 'linktext': By.LINK_TEXT } new_how = locate_method_dict[old_how] # print new_how self.locateElement(browser, new_how, what, objname, phoneNumber, firstPassword, secondPassword, pictureCheckCode, smsCheckCode, alertmessage)
def getUsernameAndPasswordByCaseId(self,case_id): username_password_excel_path=r"G:\HuaYing\HuaYingData\login_data.xls" caseid_index=get_number_by_data.GetRowAndColNumber().getRowAndColNumber(username_password_excel_path,"username_password_data",case_id) # print caseid_index username_password_data=[] username=ReadExcel.ReadExcel().getDataByRowColIndex(username_password_excel_path,"username_password_data",caseid_index[0],caseid_index[1]+2) password=ReadExcel.ReadExcel().getDataByRowColIndex(username_password_excel_path,"username_password_data",caseid_index[0],caseid_index[1]+3) alertmessage=ReadExcel.ReadExcel().getDataByRowColIndex(username_password_excel_path,"username_password_data",caseid_index[0],caseid_index[1]+4) if type(username)==float: # print u"用户名为小数" username_password_data.append(str(int(username))) else: username_password_data.append(username) username_password_data.append(password) username_password_data.append(alertmessage) # print username_password_data return username_password_data
def getLocateMethodAndData(self,browser,objname,username,password,errorMessage): """根据需要定位的元素的名称得到需要定位的元素的定位方式以及定位数据""" login_excel_path=r"G:\HuaYing\HuaYingData\login_data.xls" login_object_sheet=ReadExcel.ReadExcel().getTableBySheetName(login_excel_path,"objname_locatemethod_locatedata") row_col_list=get_number_by_data.GetRowAndColNumber().getRowAndColNumber(login_excel_path,"objname_locatemethod_locatedata",objname) old_how=login_object_sheet.cell_value(row_col_list[0],row_col_list[1]+1) what=login_object_sheet.cell_value(row_col_list[0],row_col_list[1]+2) #在这里增加一个字典是因为如果直接把By.ID写在excel里的话,取出来不能用 locate_method_dict={'id':By.ID,'css':By.CSS_SELECTOR,'xpath':By.XPATH,'linktext':By.LINK_TEXT} new_how=locate_method_dict[old_how] self.locateElement(browser,new_how,what,objname,username,password,errorMessage)
def getLocateObject(self,browser,username,password,errorMessage): """循环需要定位的元素,拿到一个元素之后去调用getLocatMethodAndData方法,取得元素的定位方式以及定位所需数据""" login_excel_path=r"G:\HuaYing\HuaYingData\login_data.xls" login_object_sheet=ReadExcel.ReadExcel().getTableBySheetName(login_excel_path,"objname_locatemethod_locatedata") rows=login_object_sheet.nrows login_object_list=[] for i in range(rows): login_object_list.append(login_object_sheet.cell_value(i,0)) # print login_object_list login_object_list.pop(0) # print login_object_list for login_object in login_object_list: self.getLocateMethodAndData(browser,login_object,username,password,errorMessage)
def getReleaseGoodsObject(self, browser, send_data): """循环需要定位的元素,拿到一个元素之后去调用getLocatMethodAndData方法,取得元素的定位方式以及定位所需数据""" releaseGoods_excel_path = r"G:\HuaYing\HuaYingData\releaseGoods_data.xls" releaseGoods_object_sheet = ReadExcel.ReadExcel().getTableBySheetName( releaseGoods_excel_path, "objname_locatemethod_locatedata") rows = releaseGoods_object_sheet.nrows releaseGoods_object_list = [] for i in range(rows): releaseGoods_object_list.append( releaseGoods_object_sheet.cell_value(i, 0)) # print register_object_list releaseGoods_object_list.pop(0) # print register_object_list for login_object in releaseGoods_object_list: self.getLocateMethodAndData(browser, login_object, send_data)
def getRegisterObject(self, browser, phoneNumber, firstPassword, secondPassword, pictureCheckCode, smsCheckCode, alertmessage): """循环需要定位的元素,拿到一个元素之后去调用getLocatMethodAndData方法,取得元素的定位方式以及定位所需数据""" register_excel_path = r"G:\HuaYing\HuaYingData\registerByPhoneNumber_data.xls" register_object_sheet = ReadExcel.ReadExcel().getTableBySheetName( register_excel_path, "objname_locatemethod_locatedata") rows = register_object_sheet.nrows register_object_list = [] for i in range(rows): register_object_list.append(register_object_sheet.cell_value(i, 0)) # print register_object_list register_object_list.pop(0) # print register_object_list for login_object in register_object_list: self.getLocateMethodAndData(browser, login_object, phoneNumber, firstPassword, secondPassword, pictureCheckCode, smsCheckCode, alertmessage)
def operateElement(self, br, object_name, located_element, send_data): """该函数作用就是去操作已经定位到的元素,操作方式为sendkey或者click """ releaseGoods_excel_path = r"G:\HuaYing\HuaYingData\registerByPhoneNumber_data.xls" releaseGoods_operate_sheet = ReadExcel.ReadExcel().getTableBySheetName( releaseGoods_excel_path, "operate_method") row_col_index = get_number_by_data.GetRowAndColNumber( ).getRowAndColNumber(releaseGoods_excel_path, "operate_method", object_name) operate_method = releaseGoods_operate_sheet.cell_value( row_col_index[0], row_col_index[1] + 1) # print operate_method # print object_name if operate_method == "click": located_element.click() time.sleep(2) elif operate_method == "sendkey" and object_name == "phoneName": # print located_element # print username located_element.clear() located_element.send_keys(phoneNumber) time.sleep(2) elif operate_method == "sendkey" and object_name == "firstpassword": located_element.send_keys(firstPassword) # print password time.sleep(2) elif operate_method == "sendkey" and object_name == "secondpassword": located_element.send_keys(secondPassword) # print password time.sleep(2) elif operate_method == "sendkey" and object_name == "picturecheckcode": located_element.send_keys(pictureCheckCode) # print password time.sleep(2) elif operate_method == "sendkey" and object_name == "smscheckcode": located_element.send_keys(smsCheckCode) # print password time.sleep(2)
def operateElement(self,br,object_name,located_element,username,password,errorMessage): """该函数作用就是去操作已经定位到的元素,操作方式为sendkey或者click """ login_excel_path=r"G:\HuaYing\HuaYingData\login_data.xls" login_operate_sheet=ReadExcel.ReadExcel().getTableBySheetName(login_excel_path,"operate_method") row_col_index=get_number_by_data.GetRowAndColNumber().getRowAndColNumber(login_excel_path,"operate_method",object_name) operate_method=login_operate_sheet.cell_value(row_col_index[0],row_col_index[1]+1) # print operate_method # print object_name if operate_method=="click": located_element.click() time.sleep(2) elif operate_method=="sendkey" and object_name=="username": # print located_element # print username located_element.clear() located_element.send_keys(username) time.sleep(2) elif operate_method=="sendkey" and object_name=="password": located_element.send_keys(password) # print password time.sleep(2)
def getRegisterDataByCaseId(self, case_id): registerData_excel_path = r"G:\HuaYing\HuaYingData\registerByPhoneNumber_data.xls" caseid_index = get_number_by_data.GetRowAndColNumber( ).getRowAndColNumber(registerData_excel_path, "register_data", case_id) # print caseid_index register_data = [] phoneNumber = ReadExcel.ReadExcel().getDataByRowColIndex( registerData_excel_path, "register_data", caseid_index[0], caseid_index[1] + 2) firstPassword = ReadExcel.ReadExcel().getDataByRowColIndex( registerData_excel_path, "register_data", caseid_index[0], caseid_index[1] + 3) secondPassword = ReadExcel.ReadExcel().getDataByRowColIndex( registerData_excel_path, "register_data", caseid_index[0], caseid_index[1] + 4) pictureCheckCode = ReadExcel.ReadExcel().getDataByRowColIndex( registerData_excel_path, "register_data", caseid_index[0], caseid_index[1] + 5) smsCheckCode = ReadExcel.ReadExcel().getDataByRowColIndex( registerData_excel_path, "register_data", caseid_index[0], caseid_index[1] + 6) alertmessage = ReadExcel.ReadExcel().getDataByRowColIndex( registerData_excel_path, "register_data", caseid_index[0], caseid_index[1] + 7) if type(phoneNumber) == float: # print u"用户名为小数" register_data.append(str(int(phoneNumber))) else: register_data.append(phoneNumber) register_data.append(firstPassword) register_data.append(secondPassword) register_data.append(pictureCheckCode) register_data.append(smsCheckCode) register_data.append(alertmessage) return register_data
def getSendDataByCaseId(self,case_id): registerData_excel_path=r"G:\HuaYing\HuaYingData\releaseGoods_data.xls" caseid_index=get_number_by_data.GetRowAndColNumber().getRowAndColNumber(registerData_excel_path,"releaseGoods_data",case_id) # print caseid_index preSend_data=[] loginName=ReadExcel.ReadExcel().getDataByRowColIndex(registerData_excel_path,"releaseGoods_data",caseid_index[0],caseid_index[1]+2) loginPassword=ReadExcel.ReadExcel().getDataByRowColIndex(registerData_excel_path,"releaseGoods_data",caseid_index[0],caseid_index[1]+3) productName=ReadExcel.ReadExcel().getDataByRowColIndex(registerData_excel_path,"releaseGoods_data",caseid_index[0],caseid_index[1]+4) firstProductKeyWord=ReadExcel.ReadExcel().getDataByRowColIndex(registerData_excel_path,"releaseGoods_data",caseid_index[0],caseid_index[1]+5) secondProductKeyWord=ReadExcel.ReadExcel().getDataByRowColIndex(registerData_excel_path,"releaseGoods_data",caseid_index[0],caseid_index[1]+6) thirdProductKeyWord=ReadExcel.ReadExcel().getDataByRowColIndex(registerData_excel_path,"releaseGoods_data",caseid_index[0],caseid_index[1]+7) productSummarize=ReadExcel.ReadExcel().getDataByRowColIndex(registerData_excel_path,"releaseGoods_data",caseid_index[0],caseid_index[1]+8) productPicture=ReadExcel.ReadExcel().getDataByRowColIndex(registerData_excel_path,"releaseGoods_data",caseid_index[0],caseid_index[1]+9) beginGuidance=ReadExcel.ReadExcel().getDataByRowColIndex(registerData_excel_path,"releaseGoods_data",caseid_index[0],caseid_index[1]+10) endGuidance=ReadExcel.ReadExcel().getDataByRowColIndex(registerData_excel_path,"releaseGoods_data",caseid_index[0],caseid_index[1]+11) proBeginWeight=ReadExcel.ReadExcel().getDataByRowColIndex(registerData_excel_path,"releaseGoods_data",caseid_index[0],caseid_index[1]+12) proGW=ReadExcel.ReadExcel().getDataByRowColIndex(registerData_excel_path,"releaseGoods_data",caseid_index[0],caseid_index[1]+13) attrNameVal=ReadExcel.ReadExcel().getDataByRowColIndex(registerData_excel_path,"releaseGoods_data",caseid_index[0],caseid_index[1]+14) gAttrsC=ReadExcel.ReadExcel().getDataByRowColIndex(registerData_excel_path,"releaseGoods_data",caseid_index[0],caseid_index[1]+15) marketPrice1=ReadExcel.ReadExcel().getDataByRowColIndex(registerData_excel_path,"releaseGoods_data",caseid_index[0],caseid_index[1]+16) sellPrice=ReadExcel.ReadExcel().getDataByRowColIndex(registerData_excel_path,"releaseGoods_data",caseid_index[0],caseid_index[1]+17) marketPrice2=ReadExcel.ReadExcel().getDataByRowColIndex(registerData_excel_path,"releaseGoods_data",caseid_index[0],caseid_index[1]+18) reserve=ReadExcel.ReadExcel().getDataByRowColIndex(registerData_excel_path,"releaseGoods_data",caseid_index[0],caseid_index[1]+19) productDetail=ReadExcel.ReadExcel().getDataByRowColIndex(registerData_excel_path,"releaseGoods_data",caseid_index[0],caseid_index[1]+20) logisticsInformation=ReadExcel.ReadExcel().getDataByRowColIndex(registerData_excel_path,"releaseGoods_data",caseid_index[0],caseid_index[1]+21) if type(loginName)==float: # print u"用户名为小数" preSend_data.append(str(int(loginName))) else: preSend_data.append(loginName) preSend_data.append(loginPassword) preSend_data.append(productName) preSend_data.append(firstProductKeyWord) preSend_data.append(secondProductKeyWord) preSend_data.append(thirdProductKeyWord) preSend_data.append(productSummarize) preSend_data.append(productPicture) preSend_data.append(beginGuidance) preSend_data.append(endGuidance) preSend_data.append(proBeginWeight) preSend_data.append(proGW) preSend_data.append(attrNameVal) preSend_data.append(gAttrsC) preSend_data.append(marketPrice1) preSend_data.append(sellPrice) preSend_data.append(marketPrice2) if type(reserve)==float: # print u"用户名为小数" preSend_data.append(str(int(reserve))) else: preSend_data.append(reserve) preSend_data.append(productDetail) preSend_data.append(logisticsInformation) return preSend_data