class sseSearchPage(object): def __init__(self, driver): self.driver = driver self.parseCF = ParseConfigFile() self.searchOptions = self.parseCF.getItemsSection('sse_searchPage') def inputBoxObj(self): try: locateType, locatorExpression = self.searchOptions[ 'searchPage.inputBox'.lower()].split('>') elementObj = getElement(locateType, locatorExpression) return elementObj except Exception as e: raise e def searchButtonObj(self): try: locateType, locatorExpression = self.searchOptions[ 'searchPage.submitButton'.lower()].split('>') elementObj = getElement(locateType, locatorExpression) return elementObj except Exception as e: raise e def companyCodeLinkObj(self): try: locateType, locatorExpression = self.searchOptions[ 'searchPage.companyCodeLink'.lower()].split('>') elementObj = getElement(locateType, locatorExpression) return elementObj except Exception as e: raise e
class AddmanagementAction(object): def __init__(self, driver): self.driver = driver self.Addmanagement = AddmanagementPage(self.driver) self.parseCF = ParseConfigFile() self.AddmanagementOptions = self.parseCF.getItemsSection( 'AddmanagementPage') logger.info("Addmanagement..") def AddmanagementAction(self, title, time1, time2, reachedAmount, discountAmount): ''' 读取传参数据操作 :param :return: ''' #若参数为文本框选择这个,否则删除 self.Addmanagement.titleInput().send_keys(title) #参数为单下拉框 选择这个,否则删除 # # self.driver.find_element_by_xpath('//*[@id="scene"]/div/div/div').click() # self.Addmanagement.userIdsInput().send_keys('/html/body/div[3]/div/div/div/ul[1]') sceneSelector = self.AddmanagementOptions[ 'AddmanagementPage.sceneSelector'.lower()].split('>')[1] sceneOptions = self.AddmanagementOptions[ 'AddmanagementPage.sceneOptions'.lower()].split('>')[1] SelectorUtils().selector_choose(self.driver, sceneSelector, sceneOptions) #参数为单下拉框 选择这个,否则删除 typeSelector = self.AddmanagementOptions[ 'AddmanagementPage.typeSelector'.lower()].split('>')[1] typeOptions = self.AddmanagementOptions[ 'AddmanagementPage.typeOptions'.lower()].split('>')[1] SelectorUtils().selector_choose(self.driver, typeSelector, typeOptions) #若参数为文本框选择这个,否则删除 self.Addmanagement.timeInput1().send_keys(time1) self.Addmanagement.timeInput2().send_keys(time2) # #参数为单下拉框 选择这个,否则删除 # timeSelector = self.AddmanagementOptions['AddmanagementPage.timeSelector'.lower()].split('>')[1] # timeOptions = self.AddmanagementOptions['AddmanagementPage.timeOptions'.lower()].split('>')[1] #若参数为文本框选择这个,否则删除 self.Addmanagement.reachedAmountInput().send_keys(reachedAmount) #若参数为文本框选择这个,否则删除 self.Addmanagement.discountAmountInput().send_keys(discountAmount) userIdsSelector = self.AddmanagementOptions[ 'AddmanagementPage.userIdsSelector'.lower()].split('>')[1] userIdsOptions = self.AddmanagementOptions[ 'AddmanagementPage.userIdsOptions'.lower()].split('>')[1] SelectorUtils().selector_choose(self.driver, userIdsSelector, userIdsOptions)
class DiscountPage: def __init__(self,driver): self.driver = driver self.parseCF = ParseConfigFile() self.mineOptions = self.parseCF.getItemsSection('discount') def title(self): try: locateType,locateExpression = self.mineOptions['discountPage.title'.lower()].split('>') element = getElement(self.driver,locateType,locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element def first_book(self): try: locateType,locateExpression = self.mineOptions['discountPage.first_book'.lower()].split('>') element = getElement(self.driver,locateType,locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element
class loginPage(object): def __init__(self, driver): self.driver = driver self.parseCf = ParseConfigFile() self.loginOptions = self.parseCf.getItemsSection("163mail_login") print(self.loginOptions) # 进入frame框 def switchToFrame(self): try: locatorExpression = self.loginOptions[ "loginPage.frame".lower()].split(">")[1] self.driver.switch_to.frame( self.driver.find_element_by_xpath(locatorExpression)) # self.driver.switch_to.frame(self.driver.find_element_by_xpath("//iframe[starts-with(@id, 'x-URS-iframe')]")) except Exception as e: raise e # 回到默认界面 def switchToDefaultFrame(self): self.driver.switch_to.default_content() def userNameObj(self): try: # 获取登录页面的用户名输入框页面对象,并返回给调用者 locateType, locatorExpression = self.loginOptions[ "loginPage.usrename".lower()].split(">") elementObj = getElement(self.driver, locateType, locatorExpression) # elementObj = getElement(self.driver,"name","email") return elementObj except Exception as e: raise e def passwordObj(self): try: # 获取登录页面的密码输入框页面对象,并返回给调用者 locateType, locatorExpression = self.loginOptions[ "loginPage.password".lower()].split(">") elementObj = getElement(self.driver, locateType, locatorExpression) # elementObj = getElement(self.driver,"name","password") return elementObj except Exception as e: raise e def loginButton(self): try: # 获取登录页面的登录按钮页面对象,并返回给调用者 locateType, locatorExpression = self.loginOptions[ "loginPage.loginbutton".lower()].split(">") elementObj = getElement(self.driver, locateType, locatorExpression) # elementObj = getElement(self.driver,"id","dologin") return elementObj except Exception as e: raise e
class LoginPage(object): def __init__(self, driver): self.driver = driver self.parseCF = ParseConfigFile() self.loginOptions = self.parseCF.getItemsSection("126mail_login") print(self.loginOptions) def switchToFrame(self): '''try: locatorExpression = self.loginOptions\ ["loginPage.frame".lower()].split(">")[1] self.driver.switch_to.frame(locatorExpression) except Exception as e: raise e''' self.driver.switch_to.frame(self.driver.find_element_by_xpath("//*[starts-with(@id,'x-URS-iframe')]")) def switchToDefaultFrame(self): try: self.driver.switch_to.default_content() except Exception as e: raise e #self.driver.switch_to.default_content() def userNameObj(self): try: locateType, locatorExpression = self.loginOptions\ ["loginPage.username".lower()].split(">") elementObj = getElement(self.driver, locateType, locatorExpression) return elementObj except Exception as e: raise e def passwordObj(self): try: locateType, locatorExpression = self.loginOptions\ ["loginPage.password".lower()].split(">") elementObj = getElement(self.driver, locateType, locatorExpression) return elementObj except Exception as e: raise e def loginButton(self): try: locateType, locatorExpression = self.loginOptions\ ["loginPage.loginbutton".lower()].split(">") elementObj = getElement(self.driver, locateType, locatorExpression) return elementObj except Exception as e: raise e '''def quit(self):
class listingPage(object): '''发行上市公告页面''' def __init__(self, driver): self.driver = driver self.parseCF = ParseConfigFile() # self.commonOptions = self.parseCF.getItemsSection('commonPage') self.regularOptions = self.parseCF.getItemsSection('listingPage') # def companyCodeObj(self): # try: # locateType,locatorExpression = self.commonOptions['commonPage.inputCode'.lower()].split('>') # elementObj = getElement(locateType,locatorExpression) # return elementObj # except Exception as e: # raise e # # def announcementStartDateObj(self): # try: # javascript = 'document.getElementById("start_date").removeAttribute("readonly");' # js(javascript) # locateType,locatorExpression = self.commonOptions['commonPage.startDate'.lower()].split('>') # elementObj = getElement(locateType,locatorExpression) # return elementObj # except Exception as e: # raise e # # def announcementEndDateObj(self): # try: # javascript = 'document.getElementById("end_date").removeAttribute("readonly");' # js(javascript) # locateType,locatorExpression = self.commonOptions['commonPage.endDate'.lower()].split('>') # elementObj = getElement(locateType,locatorExpression) # return elementObj # except Exception as e: # raise e # def searchButtonObj(self): # try: # locateType,locatorExpression = self.commonOptions['commonPage.btnQuery'.lower()].split('>') # elementObj = getElement(locateType,locatorExpression) # return elementObj # except Exception as e: # raise e def announcementLinkObj(self): try: locateType, locatorExpression = self.regularOptions[ 'listingPage.announcementLink'.lower()].split('>') elementObj = getElement(locateType, locatorExpression) return elementObj except Exception as e: raise e
class bannerAddPage: #获取bannerAddPage页的所有元素 def __init__(self, driver): self.driver = driver self.parseCF = ParseConfigFile() self.bannerAddOptions = self.parseCF.getItemsSection('bannerAddPage') def picInput(self): try: locateType, locateExpression = self.bannerAddOptions[ 'BannerAddPage.picInput'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element def titleInput(self): try: locateType, locateExpression = self.bannerAddOptions[ 'BannerAddPage.titleInput'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element def actionInput(self): try: locateType, locateExpression = self.bannerAddOptions[ 'BannerAddPage.actionInput'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element def urlInput(self): try: locateType, locateExpression = self.bannerAddOptions[ 'BannerAddPage.urlInput'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element
class QueryDoctorAction(object): def __init__(self, driver): self.driver = driver self.QueryDoctor = DoctorManagePage(self.driver) self.parseCF = ParseConfigFile() self.QueryDoctorOptions = self.parseCF.getItemsSection( 'DoctorManagePage') logger.info("QueryDoctor..") def QueryDoctorAutoAction(self): ''' 添加随机数据查询医生 ''' AddDoctorAction(self.driver).addDoctorAutoAction() doctor_Number = AddDoctorAction(self.driver).get_doctorNumberAuto() try: time.sleep(2) if self.driver.current_url != AddDoctorPageUrl: logger.info('添加医师成功') self.driver.get(eval('doctorControlListPageUrl')) self.QueryDoctor.doctorNumberInput().send_keys(doctor_Number) self.QueryDoctor.doctorQueryButton().click() else: logger.info("添加医师失败") os.system('pause') except Exception as e: logger.error(e) raise e def QueryDoctorAction(self, doctor_name, doctor_IdNumber, doctor_Number, doctor_phoneNumber, doctor_email, doctor_remarks): ''' :param doctor_name: 医生名字 :param doctor_IdNumber: 医生身份证号 :param doctor_Number: 医生编号 :param doctor_phoneNumber: 医生手机号 :param doctor_email: 医生邮箱 :param doctor_remarks: 备注 :return: ''' AddDoctorAction(self.driver).addDoctorAction( doctor_name, doctor_IdNumber, doctor_Number, doctor_phoneNumber, doctor_email, doctor_remarks) # try: # time.sleep(2) # if self.driver.current_url != AddDoctorPageUrl: # logger.info('添加医师成功') self.driver.get(eval('doctorControlListPageUrl')) self.QueryDoctor.doctorNumberInput().send_keys(doctor_Number) self.QueryDoctor.doctorQueryButton().click()
class BannerAddAction(object): def __init__(self, driver): self.driver = driver self.BannerAdd = BannerAddPage(self.driver) self.parseCF = ParseConfigFile() self.BannerAddOptions = self.parseCF.getItemsSection('BannerAddPage') logger.info("BannerAdd..") def BannerAddAction(self, pic, title, action, url): ''' 读取传参数据操作 :param :return: ''' #若参数为文本框选择这个,否则删除 self.bannerAdd.picInput().send_keys(pic) #参数为单下拉框 选择这个,否则删除 picSelector = self.BannerAddOptions[ 'BannerAddPage.picSelector'.lower()].split('>')[1] picOptions = self.BannerAddOptions[ 'BannerAddPage.picOptions'.lower()].split('>')[1] #若参数为文本框选择这个,否则删除 self.bannerAdd.titleInput().send_keys(title) #参数为单下拉框 选择这个,否则删除 titleSelector = self.BannerAddOptions[ 'BannerAddPage.titleSelector'.lower()].split('>')[1] titleOptions = self.BannerAddOptions[ 'BannerAddPage.titleOptions'.lower()].split('>')[1] #若参数为文本框选择这个,否则删除 self.bannerAdd.actionInput().send_keys(action) #参数为单下拉框 选择这个,否则删除 actionSelector = self.BannerAddOptions[ 'BannerAddPage.actionSelector'.lower()].split('>')[1] actionOptions = self.BannerAddOptions[ 'BannerAddPage.actionOptions'.lower()].split('>')[1] #若参数为文本框选择这个,否则删除 self.bannerAdd.urlInput().send_keys(url) #参数为单下拉框 选择这个,否则删除 urlSelector = self.BannerAddOptions[ 'BannerAddPage.urlSelector'.lower()].split('>')[1] urlOptions = self.BannerAddOptions[ 'BannerAddPage.urlOptions'.lower()].split('>')[1]
class secretariesPage(object): def __init__(self, driver): self.driver = driver self.parseCF = ParseConfigFile() self.searchOptions = self.parseCF.getItemsSection('secretariesPage') def codeLinkObj(self): try: locateType, locatorExpression = self.searchOptions[ 'secretariesPage.codeLink'.lower()].split('>') elementObj = getElement(locateType, locatorExpression) return elementObj except Exception as e: raise e
class LoginPage(object): def __init__(self, driver): self.driver = driver self.parseCF = ParseConfigFile() self.loginOptions = self.parseCF.getItemsSection("163mail_login") def switchToFrame(self): try: locatorExpression = self.loginOptions[ "loginPage.frame".lower()].split(">")[1] self.driver.switch_to.frame(locatorExpression) except Exception as e: raise e def switchToDefaultFrame(self): try: self.driver.switch_to.default_content() except Exception as e: raise e def userNameObj(self): try: #获取登录页面的用户名输入框页面对象,并返回给调用者 locateType, locatorExpression = self.loginOptions[ "loginPage.username".lower()].split(">") elementObj = getElement(self.driver, locateType, locatorExpression) return elementObj except Exception as e: raise e def passwordObj(self): try: #获取登录页面的密码输入框页面对象,并返回给调用者 locateType, locatorExpression = self.loginOptions[ "loginPage.password".lower()].split(">") elementObj = getElement(self.driver, locateType, locatorExpression) return elementObj except Exception as e: raise e def loginButton(self): try: #获取登录页面的登录按钮页面对象,并返回给调用者 locateType, locatorExpression = self.loginOptions[ "loginPage.loginbutton".lower()].split(">") elementObj = getElement(self.driver, locateType, locatorExpression) return elementObj except Exception as e: raise e
class LoginPage(): def __init__(self,driver): self.driver = driver self.parseCF = ParseConfigFile() self.loginOption = self.parseCF.getItemsSection("126mail_login") def clickLbNormal(self): try: locatetype, locatorExpression = self.loginOption["loginPage.clickLbNormal".lower()].split(">") elementObj = getElement(self.driver,locatetype,locatorExpression) return elementObj except Exception as e: raise e def switchToFrame(self): try: locatetype, locatorExpression = self.loginOption["loginPage.frame".lower()].split(">") elementObj = getElement(self.driver,locatetype,locatorExpression) self.driver.switch_to.frame(elementObj.get_attribute("id")) except Exception as e: raise e def swithToDefaultFrame(self): self.driver.switch_to.default_content() def userNameObj(self): try: locatetype,locatorExpression = self.loginOption["loginPage.username".lower()].split(">") elementObj = getElement(self.driver,locatetype,locatorExpression) return elementObj except Exception as e: raise e def passwoedObj(self): try: locatetype,locatorExpression = self.loginOption["loginPage.password".lower()].split(">") elementObj = getElement(self.driver,locatetype,locatorExpression) return elementObj except Exception as e: raise e def loginButton(self): try: locatetype,locatorExpression = self.loginOption["loginPage.loginbutton".lower()].split(">") elementObj = getElement(self.driver,locatetype,locatorExpression) return elementObj except Exception as e: raise e
class generalPage(object): '''一般公告页面''' def __init__(self, driver): self.driver = driver self.parseCF = ParseConfigFile() self.regularOptions = self.parseCF.getItemsSection('generalPage') def announcementLinkObj(self): try: locateType, locatorExpression = self.regularOptions[ 'generalPage.announcementLink'.lower()].split('>') elementObj = getElement(locateType, locatorExpression) return elementObj except Exception as e: raise e
class MyBooksPage: def __init__(self, driver): self.driver = driver self.parseCF = ParseConfigFile() self.mybooksOptions = self.parseCF.getItemsSection('mybooks') def mybooksTitle(self): try: locateType, locateExpression = self.mybooksOptions[ 'mybooksPage.mybooksTitle'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element
class PayFinishedPage: def __init__(self, driver): self.driver = driver self.parseCF = ParseConfigFile() self.shoppingCartOptions = self.parseCF.getItemsSection('payfinished') def Title(self): try: locateType, locateExpression = self.shoppingCartOptions[ 'payFinishedPage.title'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element
class AddressBookPage(object): def __init__(self, driver): self.driver = driver self.parseCF = ParseConfigFile() self.addContactsOptions = self.parseCF.getItemsSection( "126mail_addContactsPage") print self.addContactsOptions def createContactPersonButton(self): try: locateType, locatorExpression = self.addContactsOptions[ "addContactsPage.createContactsBtn".lower()].split(">") elementObj = getElement(self.driver, locateType, locatorExpression) return elementObj except Exception, e: raise e
class AddDoctorPage: #获取AddDoctorPage页的所有元素 def __init__(self, driver): self.driver = driver self.parseCF = ParseConfigFile() self.AddDoctorOptions = self.parseCF.getItemsSection('AddDoctorPage') def doctorNameInput(self): try: locateType, locateExpression = self.AddDoctorOptions['AddDoctorPage.doctorNameInput'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素"+locateExpression) return element
class sumPage(object): def __init__(self, driver): self.driver = driver self.parseCF = ParseConfigFile() self.searchOptions = self.parseCF.getItemsSection('sumPage') def companyCodeObj(self): try: locateType, locatorExpression = self.searchOptions[ 'sumPage.inputCode'.lower()].split('>') elementObj = getElement(locateType, locatorExpression) return elementObj except Exception as e: raise e def startDateObj(self): try: javascript = 'document.getElementById("start_date").removeAttribute("readonly");' js(javascript) locateType, locatorExpression = self.searchOptions[ 'sumPage.startDate'.lower()].split('>') elementObj = getElement(locateType, locatorExpression) return elementObj except Exception as e: raise e def endDateObj(self): try: javascript = 'document.getElementById("end_date").removeAttribute("readonly");' js(javascript) locateType, locatorExpression = self.searchOptions[ 'sumPage.endDate'.lower()].split('>') elementObj = getElement(locateType, locatorExpression) return elementObj except Exception as e: raise e def searchButtonObj(self): try: locateType, locatorExpression = self.searchOptions[ 'sumPage.btnQuery'.lower()].split('>') elementObj = getElement(locateType, locatorExpression) return elementObj except Exception as e: raise e
class MinePage: def __init__(self, driver): self.driver = driver self.parseCF = ParseConfigFile() self.mineOptions = self.parseCF.getItemsSection('mine') #登陆状态 # minePage.exitButton = xpath > // *[text() = "退出登录"] # minePage.loginEntryButton = xpath > // label[contains(text(), "点击登录")] def ExitButtonObj(self): try: locateType, locateExpression = self.mineOptions[ 'minePage.exitButton'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element #未登陆状态 def LoginEntryButton(self): try: locateType, locateExpression = self.mineOptions[ 'minePage.loginEntryButton'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element def title(self): try: locateType, locateExpression = self.mineOptions[ 'minePage.title'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element
class AddlistAction(object): def __init__(self, driver): self.driver = driver self.Addlist = AddlistPage(self.driver) self.parseCF = ParseConfigFile() self.AddlistOptions = self.parseCF.getItemsSection('AddlistPage') logger.info("Addlist..") def AddlistAction(self, account, name, roleId): ''' 读取传参数据操作 :param :return: ''' #若参数为文本框选择这个,否则删除 self.Addlist.accountInput().send_keys(account) #参数为单下拉框 选择这个,否则删除 AccountSelectorSelector = self.AddlistOptions[ 'AddlistPage.AccountSelectorSelector'.lower()].split('>')[1] AccountOptionsOptions = self.AddlistOptions[ 'AddlistPage.AccountOptionsOptions'.lower()].split('>')[1] #若参数为文本框选择这个,否则删除 self.Addlist.nameInput().send_keys(name) #参数为单下拉框 选择这个,否则删除 NameSelectorSelector = self.AddlistOptions[ 'AddlistPage.NameSelectorSelector'.lower()].split('>')[1] NameOptionsOptions = self.AddlistOptions[ 'AddlistPage.NameOptionsOptions'.lower()].split('>')[1] #若参数为文本框选择这个,否则删除 self.Addlist.roleIdInput().send_keys(roleId) #参数为单下拉框 选择这个,否则删除 RoleIdSelectorSelector = self.AddlistOptions[ 'AddlistPage.RoleIdSelectorSelector'.lower()].split('>')[1] RoleIdOptionsOptions = self.AddlistOptions[ 'AddlistPage.RoleIdOptionsOptions'.lower()].split('>')[1]
class AddDoctorAction(object): def __init__(self, driver): self.driver = driver self.AddDoctor = AddDoctorPage(self.driver) self.parseCF = ParseConfigFile() self.AddDoctorOptions = self.parseCF.getItemsSection('AddDoctorPage') def addDoctorAction(self,doctor_name,doctor_IdNumber,doctor_Number,doctor_phoneNumber,doctor_email,doctor_remarks): self.AddDoctor.doctorNameInput().send_keys(doctor_name) self.loginOptions['AddDoctorPage.usernameInput'.lower()].split('>')[1] SelectorUtils().selector_choose(self.driver,) def addDoctorAutoAction(self): i = 0 while(i): self.AddDoctor.doctorNameInput().send_keys('Doctor'+i) SelectorUtils().selector_choose(self.driver,)
class LoginPage: #获取loginPage页的所有元素 def __init__(self, driver): self.driver = driver self.parseCF = ParseConfigFile() self.loginOptions = self.parseCF.getItemsSection('LoginPage') def usernameInput(self): try: locateType, locateExpression = self.loginOptions['LoginPage.usernameInput'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素"+locateExpression) return element def passwordInput(self): try: locateType, locateExpression = self.loginOptions['LoginPage.passwordInput'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element def loginButton(self): try: locateType, locateExpression = self.loginOptions['LoginPage.loginButton'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element
class SearchBookPage: def __init__(self, driver): self.driver = driver self.parseCF = ParseConfigFile() self.readBookOptions = self.parseCF.getItemsSection('searchbook') def SearchInputBoxObj(self): try: locateType, locateExpression = self.readBookOptions[ 'searchBookPage.searchInputBox'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element def SearchResultFirstBookName(self): try: locateType, locateExpression = self.readBookOptions[ 'searchBookPage.searchResultFirstBookName'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element def SearchResultFirstBookAuthor(self): try: locateType, locateExpression = self.readBookOptions[ 'searchBookPage.searchResultFirstBookAuthor'.lower()].split( '>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element
class LoginPage(object): def __init__(self, driver): self.driver = driver self.parseCF = ParseConfigFile() self.loginOptions = self.parseCF.getItemsSection("126mail_login") print self.loginOptions def switchToFrame(self): locateType, locatorExpression = self.loginOptions[ "loginPage.frame".lower()].split(">") self.driver.switch_to_frame( getElement(self.driver, locateType, locatorExpression)) def switchToDefaultFrame(self): self.driver.switch_to_default_content() def switchAccountLogin(self): try: elementObj = getElement(self.driver, "id", "switchAccountLogin") return elementObj except Exception, e: raise e
class LoginPage(object): def __init__(self, driver): self.driver = driver self.parseCF = ParseConfigFile() self.loginOptions = self.parseCF.getItemsSection("erp_login") print(self.loginOptions) def userNameObj(self): try: # 从定位表达式配置文件中读取fram的定位表达式 locateType, locatorExpression = self.loginOptions[ "loginPage.username".lower()].split(">") # 获取登录页面的用户名输入框页面对象,并返回给调用者 elementObj = getElement(self.driver, locateType, locatorExpression) return elementObj except Exception as e: raise e def passwordObj(self): try: locateType, locatorExpression = self.loginOptions[ "loginPage.password".lower()].split(">") # 获取登录页面的用户名输入框页面对象,并返回给调用者 elementObj = getElement(self.driver, locateType, locatorExpression) return elementObj except Exception as e: raise e def loginButton(self): try: locateType, locatorExpression = self.loginOptions[ "loginPage.loginbutton".lower()].split(">") # 获取登录页面的用户名输入框页面对象,并返回给调用者 elementObj = getElement(self.driver, locateType, locatorExpression) return elementObj except Exception as e: raise e
class AddDoctorAction(object): def __init__(self, driver): self.driver = driver self.AddDoctor = AddDoctorPage(self.driver) self.parseCF = ParseConfigFile() self.AddDoctorOptions = self.parseCF.getItemsSection('AddDoctorPage') logger.info("AddDoctor..") def addDoctorAction(self): ''' 读取传参数据操作 :param :return: ''' #若参数为文本框选择这个,否则删除 self.AddDoctor.doctorNameInput().send_keys(doctor_name) #参数为单下拉框 选择这个,否则删除 doctorNameSelector = self.AddDoctorOptions[ 'AddDoctorPage.doctorNameSelector'.lower()].split('>')[1] doctorNameOptions = self.AddDoctorOptions[ 'AddDoctorPage.doctorNameOptions'.lower()].split('>')[1]
class periodicPage(object): '''定期报告预约情况页面''' def __init__(self, driver): self.driver = driver self.parseCF = ParseConfigFile() self.regularOptions = self.parseCF.getItemsSection('periodicPage') def companyCodeLinkObj(self): try: locateType, locatorExpression = self.regularOptions[ 'periodicPage.companyCodeLink'.lower()].split('>') elementObj = getElement(locateType, locatorExpression) return elementObj except Exception as e: raise e def actualDateLinkObj(self): try: locateType, locatorExpression = self.regularOptions[ 'periodicPage.actualDateLink'.lower()].split('>') elementObj = getElement(locateType, locatorExpression) return elementObj except Exception as e: raise e
class AddressBookPage(object): def __init__(self, driver): self.driver = driver self.parseCF = ParseConfigFile() self.addContactsOptions = self.parseCF.getItemsSection( "126mail_addContactsPage") print(self.addContactsOptions) def createContactPersonButton(self): # 获取新建联系人按钮 try: locateType, locatorExpression = self.addContactsOptions[ "addContactsPage.createContactsBtn".lower()].split(">") elementObj = getElement(self.driver, locateType, locatorExpression) return elementObj except Exception as e: raise e def contactPersonName(self): # 获取新建联系人按钮 try: locateType, locatorExpression = self.addContactsOptions[ "addContactsPage.contactPersonName".lower()].split(">") elementObj = getElement(self.driver, locateType, locatorExpression) return elementObj except Exception as e: raise e def contactPersonEmail(self): try: locateType, locatorExpression = self.addContactsOptions[ "addContactsPage.contactPersonEmail".lower()].split(">") elementObj = getElement(self.driver, locateType, locatorExpression) return elementObj except Exception as e: raise e def starContacts(self): try: locateType, locatorExpression = self.addContactsOptions[ "addContactsPage.starContacts".lower()].split(">") elementObj = getElement(self.driver, locateType, locatorExpression) return elementObj except Exception as e: raise e def contactPersonMobile(self): try: locateType, locatorExpression = self.addContactsOptions[ "addContactsPage.contactPersonMobile".lower()].split(">") elementObj = getElement(self.driver, locateType, locatorExpression) return elementObj except Exception as e: raise e def contactPersonComment(self): try: locateType, locatorExpression = self.addContactsOptions[ "addContactsPage.contactPersonComment".lower()].split(">") elementObj = getElement(self.driver, locateType, locatorExpression) return elementObj except Exception as e: raise e def saveContactPerson(self): try: locateType, locatorExpression = self.addContactsOptions[ "addContactsPage.savecontacePerson".lower()].split(">") elementObj = getElement(self.driver, locateType, locatorExpression) return elementObj except Exception as e: raise e
class DoctorManagePage: #获取DoctorManagePage页的所有元素 def __init__(self, driver): self.driver = driver self.parseCF = ParseConfigFile() self.QueryDoctorOptions = self.parseCF.getItemsSection( 'DoctorManagePage') def doctorNumberInput(self): try: locateType, locateExpression = self.QueryDoctorOptions[ 'DoctorManagePage.doctorNumberInput'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element def doctorNameInput(self): try: locateType, locateExpression = self.QueryDoctorOptions[ 'DoctorManagePage.doctorNameInput'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element def doctorDepartmentInput(self): try: locateType, locateExpression = self.QueryDoctorOptions[ 'DoctorManagePage.doctorDepartmentInput'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element def doctorTitleSelector(self): try: locateType, locateExpression = self.QueryDoctorOptions[ 'DoctorManagePage.doctorTitleSelector'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element def doctorTitleOptions(self): try: locateType, locateExpression = self.QueryDoctorOptions[ 'DoctorManagePage.doctorTitleOptions'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element def doctorPhoneNumberInput(self): try: locateType, locateExpression = self.QueryDoctorOptions[ 'DoctorManagePage.doctorPhoneNumberInput'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element def doctorQueryButton(self): try: locateType, locateExpression = self.QueryDoctorOptions[ 'DoctorManagePage.doctorQueryButton'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element def doctorQueryInfoTd(self): try: locateType, locateExpression = self.QueryDoctorOptions[ 'DoctorManagePage.doctorQueryInfoTd'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element
class AddDoctorPage: #获取AddDoctorPage页的所有元素 def __init__(self, driver): self.driver = driver self.parseCF = ParseConfigFile() self.AddDoctorOptions = self.parseCF.getItemsSection('AddDoctorPage') def doctorNameInput(self): try: locateType, locateExpression = self.AddDoctorOptions[ 'AddDoctorPage.doctorNameInput'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element def doctorGenderSelector(self): try: locateType, locateExpression = self.AddDoctorOptions[ 'AddDoctorPage.doctorGenderSelector'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element def doctorGenderOptions(self): try: locateType, locateExpression = self.AddDoctorOptions[ 'AddDoctorPage.doctorGenderOptions'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element def doctorIDNumberInput(self): try: locateType, locateExpression = self.AddDoctorOptions[ 'AddDoctorPage.doctorIDNumberInput'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element def doctorNumberInput(self): try: locateType, locateExpression = self.AddDoctorOptions[ 'AddDoctorPage.doctorNumberInput'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element def doctorTitleSelector(self): try: locateType, locateExpression = self.AddDoctorOptions[ 'AddDoctorPage.doctorTitleSelector'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element def doctorTitleOptions(self): try: locateType, locateExpression = self.AddDoctorOptions[ 'AddDoctorPage.doctorTitleOptions'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element def doctorDepartmentSelector(self): try: locateType, locateExpression = self.AddDoctorOptions[ 'AddDoctorPage.doctorDepartmentSelector'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element def doctorDepartmentOptions(self): try: locateType, locateExpression = self.AddDoctorOptions[ 'AddDoctorPage.doctorDepartmentOptions'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element def doctorPhoneNumberInput(self): try: locateType, locateExpression = self.AddDoctorOptions[ 'AddDoctorPage.doctorPhoneNumberInput'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element def doctorEmailInput(self): try: locateType, locateExpression = self.AddDoctorOptions[ 'AddDoctorPage.doctorEmailInput'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element def doctorRemarksTextArea(self): try: locateType, locateExpression = self.AddDoctorOptions[ 'AddDoctorPage.doctorRemarksTextArea'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element def doctorSubmitButton(self): try: locateType, locateExpression = self.AddDoctorOptions[ 'AddDoctorPage.doctorSubmitButton'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element def doctorCancelButton(self): try: locateType, locateExpression = self.AddDoctorOptions[ 'AddDoctorPage.doctorCancelButton'.lower()].split('>') element = getElement(self.driver, locateType, locateExpression) except Exception as e: logger.error(e) else: logger.info("找到元素" + locateExpression) return element