def pubMethod_init(self): self.base = Base(self.driver) self.home = HomePage(self.driver) self.pubmethod = PubMethod(self.driver) logging.info("") logging.info("****开始执行用例****") self.pubmethod.clearApp(BROWSER_PACKAGE_NAME) self.pubmethod.startApp(BROWSER_PACKAGE_NAME) yield logging.info("****用例执行结束****") logging.info("")
def home_init(self): self.base = Base(self.driver) self.home = HomePage(self.driver) self.pubmethod = PubMethod(self.driver) self.share = SharePage(self.driver) self.more = MorePage(self.driver) logging.info("") logging.info("****开始执行用例****") self.pubmethod.stopApp(BROWSER_PACKAGE_NAME) self.pubmethod.startApp(BROWSER_PACKAGE_NAME) self.home.clickHome() self.home.clickHomeOnPage(HOME_PAGE) yield logging.info("****用例执行结束****") logging.info("")
class PersonalCenterPage(Base): def __init__(self, driver): self.base = Base(driver) # 点击个人中心页--我的账号图标 ---wmw def clickFlymemeB(self): # 判断页面是否存在未登录 if self.base.elementIsExit(PERSONAL_CENTER_NOT_LOGGED_IN): self.base.clickByElement(PERSONAL_CENTER_FLYME_ME_A, '我的账号图标') else: self.assertFalse(PERSONAL_CENTER_NOT_LOGGED_IN) # 点击我的消息 ---wmw def clickMyMessages(self): # 判断页面是否存在我的账号图标 if self.base.elementIsExit(PERSONAL_CENTER_FLYME_ME_A): self.base.clickByElement(PERSONAL_CENTER_MY_MESSAGES, '我的消息') else: self.assertFalse(PERSONAL_CENTER_FLYME_ME_A) # 点击我的评论 ---wmw def clickMyComment(self): # 判断页面是否存在我的账号图标 if self.base.elementIsExit(PERSONAL_CENTER_FLYME_ME_A): self.base.clickByElement(PERSONAL_CENTER_MY_COMMENT, '我的评论') else: self.assertFalse(PERSONAL_CENTER_FLYME_ME_A) # 判断账号是否登陆,未登录则登录账号 ---wmw def elementIsLandFlymeme(self): # 判断页面是否存在未登录 if self.base.elementIsExit(PERSONAL_CENTER_NOT_LOGGED_IN): self.base.clickByElement(PERSONAL_CENTER_FLYME_ME_A, '我的账号图标') # 输入密码 self.inputPassWord() # 点击登录 self.clickLoggenIn() sleep(4) # 此处有bug,为了确保当前页面账号更新已登陆成功,故多点几次我的消息 self.clickMyMessages() self.clickMyMessages() else: return # 点击赞了我的消息 ---wmw def clickPraisedMyMessages(self): if self.base.elementIsExit(PERSONAL_CENTER_MY_MESSAGES_A): self.base.clickByElement(PERSONAL_CENTER_MY_MESSAGES_A, '赞了我的消息') else: self.assertFalse(PERSONAL_CENTER_MY_MESSAGES_A) # 点击我的评论页,第一条评论 ---wmw def clickPraisedMyComment(self): if self.base.elementIsExit(PERSONAL_CENTER_MY_COMMENT_A): self.base.clickByElement(PERSONAL_CENTER_COMMENT_ONE, '点击我的评论页,第一条评论') else: self.assertFalse(PERSONAL_CENTER_MY_COMMENT_A) # 输入密码 ---wmw def inputPassWord(self): if self.base.elementIsExit(PERSONAL_CENTER_PASSWORD): # 备注:账号必须是测试账号,账号输入框处必须有账号名在里面,否则登录不成功 self.base.elementSetText(PERSONAL_CENTER_PASSWORD, "appadmin111", "输入密码") else: self.assertFalse(PERSONAL_CENTER_PASSWORD) # 登录 ---wmw def clickLoggenIn(self): if self.base.elementIsExit(PERSONAL_CENTER_REGISTER): self.base.clickByElement(PERSONAL_CENTER_LOGGED_IN, "登录") else: self.assertFalse(PERSONAL_CENTER_REGISTER) # 点击评论文章 ---wmw def clickCommentary(self): if self.base.elementIsExit(PERSONAL_CENTER_COMMENT_DETAILS): self.base.clickByElement(PERSONAL_CENTER_COMMENTARY, "点击评论文章") else: self.assertFalse(PERSONAL_CENTER_COMMENT_DETAILS) # 点击小游戏——LYX def clickMiniGame(self): if self.base.elementIsExit(MINI_GAME): self.base.clickByElement(MINI_GAME, "小游戏") else: self.assertFalse(MINI_GAME) # 点击删除评论——wmw def clickDelete(self): if self.base.elementIsExit(NEWS_INPUT_COMMENTS): self.base.clickByElement(PERSONAL_CENTER_DELETE, "点击删除") else: self.assertFalse(NEWS_INPUT_COMMENTS) # 点击删除评论弹框--确定按钮——wmw def clickDeleteBox(self): if self.base.elementIsExit(PERSONAL_CENTER_DELETE_BOX): self.base.clickByElement(PERSONAL_CENTER_DETERMINE, "点击确定") else: self.assertFalse(PERSONAL_CENTER_DELETE_BOX) # 在个人中心页,点击退出账号 ---wmw def clickOutAccount(self): # 判断页面是否存在我的账号图标 if self.base.elementIsExit(PERSONAL_CENTER_NOT_LOGGED_IN): return else: self.base.clickByElement(PERSONAL_CENTER_FLYME_ME_A, '我的账号图标') if self.base.elementIsExit(PERSONAL_CENTER_ACCOUNT): self.base.clickByElement(PERSONAL_CENTER_ACCOUNT, "点击账号管理") if self.base.elementIsExit(PERSONAL_CENTER_OUT_ACCOUNT): self.base.clickByElement(PERSONAL_CENTER_OUT_ACCOUNT, "点击退出账号") if self.base.elementIsExit(PERSONAL_CENTER_PASSWORD_B): # 备注:账号必须是测试账号,账号输入框处必须有账号名在里面,否则登录不成功 self.base.elementSetText(PERSONAL_CENTER_PASSWORD_B, "appadmin111", "输入退出密码") if self.base.elementIsExit(PERSONAL_CENTER_DETERMINE): self.base.clickByElement(PERSONAL_CENTER_DETERMINE, "点击确定") else: self.assertFalse(PERSONAL_CENTER_DETERMINE) else: self.assertFalse(PERSONAL_CENTER_PASSWORD_B) else: self.assertFalse(PERSONAL_CENTER_OUT_ACCOUNT) else: if self.base.elementIsExit(PERSONAL_CENTER_COMPLETE_BUTTON): self.base.clickByElementIdAndInstance( PERSONAL_CENTER_BUTTON, "点击同步数据按钮", 0) self.base.clickByElementIdAndInstance( PERSONAL_CENTER_BUTTON, "点击查找手机按钮", 1) self.base.clickByElement(PERSONAL_CENTER_COMPLETE_BUTTON, "点击完成按钮") if self.base.elementIsExit(PERSONAL_CENTER_ACCOUNT): self.base.clickByElement(PERSONAL_CENTER_ACCOUNT, "点击账号管理") if self.base.elementIsExit( PERSONAL_CENTER_OUT_ACCOUNT): self.base.clickByElement( PERSONAL_CENTER_OUT_ACCOUNT, "点击退出账号") if self.base.elementIsExit( PERSONAL_CENTER_PASSWORD_B): # 备注:账号必须是测试账号,账号输入框处必须有账号名在里面,否则登录不成功 self.base.elementSetText( PERSONAL_CENTER_PASSWORD_B, "appadmin111", "输入退出密码") if self.base.elementIsExit( PERSONAL_CENTER_DETERMINE): self.base.clickByElement( PERSONAL_CENTER_DETERMINE, "点击确定") else: self.assertFalse(PERSONAL_CENTER_DETERMINE) else: self.assertFalse(PERSONAL_CENTER_PASSWORD_B) else: self.assertFalse(PERSONAL_CENTER_OUT_ACCOUNT) else: self.assertFalse(PERSONAL_CENTER_COMPLETE_BUTTON) # 点击语言和时间——wmw def clickLanguageAndTime(self): if self.base.elementIsExit(SETTINGS): self.base.clickByElement(LANGUAGE_AND_TIME, "语言和时间") else: self.assertFalse(SETTINGS) # 点击系统输入法——wmw def clickInputMethod(self): if self.base.elementIsExit(LANGUAGE_AND_TIME): self.base.clickByElement(INPUT_METHOD, "系统输入法") else: self.assertFalse(LANGUAGE_AND_TIME) # 点击设置按钮——wmw def clickSettingButton(self): if self.base.elementIsExit(SETTINGS_BUTTON): self.base.clickByElement(SETTINGS_BUTTON, "设置按钮") else: self.assertFalse(SETTINGS_BUTTON) # 点击搜狗输入法魅族版——wmw def clickSouGou(self): if self.base.elementIsExit(SOUGOU): self.base.clickByElement(SOUGOU, "搜狗输入法魅族版") else: self.assertFalse(SOUGOU)
class ReadPage(Base): def __init__(self, driver): self.base = Base(driver) # 阅读模式-点击小说三寸人间 --wmw def clickBook(self): if self.base.elementIsExit(READ_BOOK): self.base.clickByElement(READ_BOOK, "点击小说封面") else: self.assertFalse(READ_BOOK) # 阅读模式-点击开始阅读 --wmw def clickRead(self): if self.base.elementIsExit(READ): self.base.clickByElement(READ, "点击开始阅读") else: self.assertFalse(READ) # 阅读模式-点击章节 --wmw def clickChapter(self): if self.base.elementIsExit(READ_CATALOG): self.base.clickByElement(READ_CHAPTER, "点击章节") else: self.assertFalse(READ_CATALOG) # 阅读模式-立即开启 --wmw def clickOpen(self): if self.base.elementIsExit(READ_OPEN): self.base.clickByElement(READ_OPEN, "我知道了") else: self.assertFalse(READ_OPEN) # 阅读模式地址栏按钮 --wmw def clickReadButton(self): if self.base.elementIsExit(READ_BUTTON): self.base.clickByElement(READ_BUTTON, "地址栏阅读模式按钮") sleep(4) else: self.assertFalse(READ_BUTTON) # 点击工具面板电脑版 --wmw def clickComputerButton(self): if self.base.elementIsExit(COMPUTER): self.base.clickByElement(COMPUTER, "点击工具面板电脑版") else: self.assertFalse(COMPUTER)
class PubMethod(Base): def __init__(self, driver): self.base = Base(driver) self # 启动应用 def startApp(self, packagename): self.base.useApp(packagename, 'start') sleep(2) # 退出应用 def stopApp(self, packagename): self.base.useApp(packagename, 'stop') sleep(2) # 清除应用数据 def clearApp(self, packagename): self.base.useApp(packagename, 'clear') sleep(2) # 点击手机home键 def clickHome(self): sleep(1) self.base.usePhone('home') # 点击手机back def clickBack(self): sleep(1) self.base.usePhone('back') # 点击隐私弹窗同意按钮——LYX def clickPrivacyAgree(self): if self.base.elementIsExit(PRIVACY_AGREE_BUTTUN): self.base.clickByElement(PRIVACY_AGREE_BUTTUN, '隐私弹窗同意按钮') else: self.assertFalse(PRIVACY_AGREE_BUTTUN) # 点击隐私弹窗不同意按钮——LYX def clickPrivacyDisagree(self): if self.base.elementIsExit(PRIVACY_DISAGREE_BUTTUN): self.base.clickByElement(PRIVACY_DISAGREE_BUTTUN, '隐私弹窗不同意按钮') else: self.assertFalse(PRIVACY_DISAGREE_BUTTUN) # 点击权限弹窗拒绝按钮——LYX def clickPermissionDisagree(self): if self.base.elementIsExit(PERMISSION_DISAGREE_BUTTUN): self.base.clickByElement(PERMISSION_DISAGREE_BUTTUN, '权限弹窗拒绝按钮') else: self.assertFalse(PERMISSION_DISAGREE_BUTTUN) # 点击权限弹窗允许按钮——LYX def clickPermissionAgree(self): if self.base.elementIsExit(PERMISSION_AGREE_BUTTON): self.base.clickByElement(PERMISSION_AGREE_BUTTON, '权限弹窗允许按钮') else: self.assertFalse(PERMISSION_AGREE_BUTTON) # 获取百度文字识别 API 识别并提取图片中文字————LCM def getBaiduApiText(self, element): ''' :param element: 判断当前页面存在的元素 :return: 返回去掉符号的文字 ''' if self.base.elementIsExit(element): sleep(2) text = self.base.baiduOcr() textTitle = ' '.join(text) strText = re.sub('\W+', '', textTitle) return strText else: self.assertFalse(element) # 删除桌面的书签 —— LJX def deleteBookmark(self, element, position): if self.base.scrollToElement(element): # todo:缺少左右滑动 self.base.dragByElement(element, position) else: pass # 返回到首页或负一屏 —— LJX def mbackToHomeOrNegative(self): # 如果不在首页也不在负一屏,返回上一层,直到返回到首页或负一屏 if self.base.elementIsExit(PRIVACY_AGREE_BUTTUN): self.base.clickByElement(PRIVACY_AGREE_BUTTUN, '隐私弹窗同意按钮') self.base.browserWatcher() self.base.browserWatcher() elif self.base.elementIsExit(PERMISSION_AGREE_BUTTON): self.base.clickByElement(PERMISSION_AGREE_BUTTON, '权限弹窗允许按钮') self.base.browserWatcher() else: while not self.base.elementIsExit( BACKGROUND_ID) and not self.base.elementIsExit(SAVED_PAGE): if self.base.elementIsExit(WEBSITE_BACKWARD): self.base.clickByElement(WEBSITE_BACKWARD, '不在首页,返回上一层') elif self.base.elementIsExit(NEWS_PAGE_BACK): self.base.clickByElement(NEWS_PAGE_BACK, '不在首页,返回上一层') else: self.clickBack()
class SearchPanelPage(Base): def __init__(self, driver): self.base = Base(driver) # 点击搜索历史热词(默认点击第一个) ---wmw def clickSearchHistory(self): if self.base.elementIsExit(SEARCHPANEL_SEARCHHISTORY): self.base.clickByElement(SEARCHPANEL_SEARCHHISTORY, "搜索历史热词") sleep(2) else: self.assertFalse(SEARCHPANEL_SEARCHHISTORY) # 点击换一换 ---wmw def clickAnotherChange(self): if self.base.elementIsExit(SEARCHPANEL_ANOTHERCHANGE): self.base.clickByElement(SEARCHPANEL_ANOTHERCHANGE, "换一换") else: self.assertFalse(SEARCHPANEL_ANOTHERCHANGE) # 点击输入框工具条前缀词“www.”——LYX def clickInputPanelPrefixes(self): if self.base.elementIsExit(INPUTPANEL_PROMPT): self.base.clickByElement(INPUTPANEL_PROMPT, "输入框前缀词www.") else: self.assertFalse(INPUTPANEL_PROMPT) # 长按地址栏中的“www.”——LYX def long_clickSearchPanel(self): if self.base.elementIsExit(SEARCHPANEL_WEBSITE): self.base.long_clickByElement(SEARCHPANEL_WEBSITE, "地址栏文字www") else: self.assertFalse(SEARCHPANEL_WEBSITE) # 拖动输入框中的工具条——LYX def swipe_InputPanel(self): if self.base.elementIsExit(INPUTPANEL_SWIPE): self.base.swipeByElement(INPUTPANEL_SWIPE, "向左拖动工具条", "left", 200) else: self.assertFalse(INPUTPANEL_SWIPE) # 获取第一个搜索热词 ---wmw def clickHotWords(self): if self.base.elementIsExit(SEARCHPANEL_SEARCH): return self.base.elementText(SEARCHPANEL_HOTWORDS, "第一个搜索热词") else: self.assertFalse(SEARCHPANEL_SEARCH) # 点击清空 ---wmw def clickEmpty(self): if self.base.elementIsExit(SEARCHPANEL_EMPTY): self.base.clickByElement(SEARCHPANEL_EMPTY, "清空") else: self.assertFalse(SEARCHPANEL_EMPTY) # 点击搜索框——LYX def clickSearchPanel(self): if self.base.elementIsExit(SEARCHPANEL_WEBSITE): self.base.clickByElement(SEARCHPANEL_WEBSITE, "搜索框") else: self.assertFalse(SEARCHPANEL_WEBSITE) # 点击搜索框联想词——LYX def clickAutomatedWord(self): if self.base.elementIsExit(AUTOMATED_WORD): self.base.clickByElement(AUTOMATED_WORD, "搜索框联想词") else: self.assertFalse(AUTOMATED_WORD) # 点击地址栏清空按钮——LYX def clearSearchPanel(self): if self.base.elementIsExit(SEARCHPANEL_CLEAR): self.base.clickByElement(SEARCHPANEL_CLEAR, "地址栏清空按钮") else: self.assertFalse(SEARCHPANEL_CLEAR) # 点击清空搜索历史——LYX def clearSearchHistory(self): if self.base.elementIsExit(CLEARSEARCHHISTORY): self.base.clickByElement(CLEARSEARCHHISTORY, "地址栏清空按钮") else: self.assertFalse(CLEARSEARCHHISTORY) # 地址栏输入百度——LYX def inputBaidu(self): if self.base.elementIsExit(SEARCHPANEL_WEBSITE): self.base.elementSetText(SEARCHPANEL_WEBSITE, "m.baidu.com", "百度网址") else: self.assertFalse(SEARCHPANEL_WEBSITE) # 点击搜索框右侧的搜索/进入按钮——LYX def clickSearchInto(self): if self.base.elementIsExit(SEARCHPANEL_OPEN): self.base.clickByElement(SEARCHPANEL_OPEN, "搜索框右侧进入按钮") else: self.assertFalse(SEARCHPANEL_OPEN) # 搜索框输入m.80txt.com --wmw def inputNumber(self): if self.base.elementIsExit(SEARCHPANEL_TEXT): self.base.elementSetText(SEARCHPANEL_TEXT, "m.80txt.la", "搜索框输入m.80txt.com") else: self.assertFalse(SEARCHPANEL_TEXT) # 滑动百度页面——LYX def swipeBaidu(self): if self.base.elementIsExit(BAIDU_LOGO): self.base.swipeByElement(BAIDU_LOGO, '滑动百度页面', 'up') else: self.assertFalse(BAIDU_LOGO) # 点击百度页面收起的地址栏——LYX def clickwebsite(self): if self.base.elementIsExit(WEBSITE_PACKUP): self.base.clickByElement(WEBSITE_PACKUP, "百度页面收起的地址栏") else: self.assertFalse(WEBSITE_PACKUP) # 长按搜索历史中的百度网址——LYX def long_clickSearchHistory(self): if self.base.elementIsExit(BAIDU_WEBSITE): self.base.long_clickByElement(BAIDU_WEBSITE, "搜索历史中的百度网址") else: self.assertFalse(BAIDU_WEBSITE) # 点击搜索历史中的删除按钮——LYX def delete_SearchHistory(self): if self.base.elementIsExit(DELETESEARCHHISTORY): self.base.clickByElement(DELETESEARCHHISTORY, "搜索历史中的删除按钮") else: self.base.assertFalse(DELETESEARCHHISTORY) # 地址栏输入主题美化跳转地址——LYX def inputCustomize(self): if self.base.elementIsExit(SEARCHPANEL_WEBSITE): self.base.elementSetText(SEARCHPANEL_WEBSITE, CUSTOMIZE_ADDRESS, "百度网址") else: self.assertFalse(SEARCHPANEL_WEBSITE) # 点击主题美化跳转提示,允许按钮——LYX def skipCustomize(self): if self.base.elementIsExit(CUSTOMIZE_SKIP, 2): self.base.clickByElement(CUSTOMIZE_SKIP, "允许跳转至主题美化") else: self.base.assertFalse(CUSTOMIZE_SKIP) # 获取搜索框文本 ---wmw def clickSearchText(self): if self.base.elementIsExit(SEARCHPANEL_OPEN): return self.base.elementText(SEARCHPANEL_TEXT, "获取搜索框文本") else: self.base.assertFalse(CUSTOMIZE_SKIP) # 点击某个元素多次 —— LJX def clickMoreRefresh(self, element, times): if self.base.elementIsExit(element): for i in range(1, times): self.base.clickByElement(element, '第{}次点击{}按钮'.format(i, element)) else: self.base.assertFalse(element)
def __init__(self, driver): self.base = Base(driver) self.home = HomePage(driver)
class ToolBarPanelPage(Base): def __init__(self, driver): self.base = Base(driver) self.home = HomePage(driver) # 点击底部工具栏的位置 def clickToolsPanel(self, element): ''' :param element: 元素名称 :return: ''' if self.base.elementIsExit(element): self.base.clickByElement(element, "工具面板-》{}".format(element)) else: self.base.assertFalse(element) # 点击我的图标 ---wmw def clickFlymeme(self): if self.base.elementIsExit(SET_UP): self.base.clickByElement(FLYME_ME, '我的图标') else: self.assertFalse(SET_UP) # 点击设置 --wmw def clickSetUp(self): if self.base.elementIsExit(SET_UP): self.base.clickByElement(SET_UP, "设置") else: self.assertFalse(SET_UP) # 清空历史 —— LJX def cleanHistory(self): self.home.clickMore() self.clickToolsPanel(CLEAN_UP_HISTORY) self.clickToolsPanel(CLEAN_UP)
class TestReadPage(): @pytest.fixture(scope="function") def readPage_init(self): self.base = Base(self.driver) self.home = HomePage(self.driver) self.pubmethod = PubMethod(self.driver) self.read = ReadPage(self.driver) self.searchpanel = SearchPanelPage(self.driver) logging.info("") logging.info("****开始执行用例****") self.pubmethod.clearApp(BROWSER_PACKAGE_NAME) self.pubmethod.startApp(BROWSER_PACKAGE_NAME) yield logging.info("****用例执行结束****") logging.info("") @allure.story('测试阅读模式') def test001ReadPage(self, readPage_init): ''' 1、清空浏览器数据,点击电脑版进入小说网页 2、点击小说封面,开始阅读,进入章节,判断是否首次弹出阅读模式弹框 3、点击地址栏的阅读模式按钮,判断是否正常进入/退出阅读模式 ''' self.pubmethod.clearApp(BROWSER_PACKAGE_NAME) self.pubmethod.startApp(BROWSER_PACKAGE_NAME) self.pubmethod.clickPrivacyAgree() # self.pubmethod.clickPermissionAgree() sleep(4) self.base.browserWatcher() # 点击主页工具菜单 self.home.clickMore() # 点击电脑版 self.read.clickComputerButton() # 点击首页搜索框 self.home.clickHomeSearch() # 搜索框输入m.80txt.la self.searchpanel.inputNumber() # 点击搜索 self.searchpanel.clickSearchInto() # 点击小说封面 self.read.clickBook() # 点击开始阅读 self.read.clickRead() # 点击章节 self.read.clickChapter() # 断言是否会弹出阅读模式提示框 self.base.assertTrue(READ_IMG) # 点击允许 self.read.clickOpen() sleep(2) self.read.clickReadButton() # 断言是否进入阅读模式 self.base.assertTrue(READ_IMG,False) # 点击地址栏阅读模式按钮,退出阅读模式 self.read.clickReadButton() # 断言点击地址栏阅读模式按钮,是否正常退出阅读模式 self.base.assertTrue(READ_NEXT) # 点击地址栏阅读模式按钮,进入阅读模式 self.read.clickReadButton() # 断言点击地址栏阅读模式按钮,是否正常进入阅读模式 self.base.assertTrue(READ_NEXT,False)
class AddToHomePage(Base): def __init__(self, driver): self.base = Base(driver) # 点击添加到主页的记录 —— LJX def clickAddToHomeWebsite(self, element_text): if self.base.elementIsExit(element_text): self.base.clickByElementIdAndText( BOOKMARK_ID, element_text, '添加到主页"{}"网站'.format(element_text)) sleep(1) else: self.assertFalse(element_text) # 点击进入添加到主页-》元素进入页面 —— LJX def clickAddToHomeTab(self, element): if self.base.elementIsExit(element): self.base.clickByElement(element, '添加到主页"{}"页面'.format(element)) else: self.assertFalse(element) # 点击“添加到主页”的添加按钮 —— LJX def clickAddToHome(self, instance): if self.base.elementIsExit(ADD_TO_TEXT): self.base.clickByElementClassNameAndText(ADD_TO_CLASSNAME, ADD_TO_TEXT, '负一屏精选页面添加按钮', instance) else: self.assertFalse(ADD_TO_TEXT) # 点击“添加到主页”的添加按钮 —— LJX def clickToBookmark(self, instance): if self.base.elementIsExit(ADD_TO_CLASSNAME): self.base.clickByElementIdAndInstance(ADD_ID, '负一屏-》添加到主页的添加按钮', instance) else: self.assertFalse(ADD_TO_CLASSNAME) # 在“添加到主页”点击指定网站的添加按钮 —— LJX def addBookmark(self, element): if self.base.elementIsExit(element): self.base.clickByElementRight(element, ADD_ID, direction='right') else: self.assertFalse(element)
class TestHomePage(): @pytest.fixture(scope="function") def home_init(self): self.base = Base(self.driver) self.home = HomePage(self.driver) self.pubmethod = PubMethod(self.driver) self.share = SharePage(self.driver) self.more = MorePage(self.driver) logging.info("") logging.info("****开始执行用例****") self.pubmethod.stopApp(BROWSER_PACKAGE_NAME) self.pubmethod.startApp(BROWSER_PACKAGE_NAME) self.home.clickHome() self.home.clickHomeOnPage(HOME_PAGE) yield logging.info("****用例执行结束****") logging.info("") @allure.story('测试资讯流页面存在相应text') def test001HomePage(self, home_init): ''' 1、点击地址栏more按钮 2、点击back 3、向下滑动页面进入到资讯流列表页 4、向下滑动查找text ''' self.home.clickMore() # sleep(2) self.pubmethod.clickBack() self.pubmethod.scrollPage(2) # self.pubmethod.clickHome() # self.pubmethod.scrollPageToElement('火爆动作片,话没说几句就开打,下手凶狠,血战到底') self.base.assertTrue('火爆动作片,话没说几句就开打,下手凶狠,血战到底', timeout = 5) # @allure.story('测试正常进入到我的收藏页面') # def test002MyCollection(self, home_init): # self.home.clickMore() # self.base.assertTrue("dkjkdsjfksdkfslkfsfs") @allure.story('测试资讯流广告') def test002HomePage(self, home_init): #点击资讯 self.home.clickInformation() self.home.clickInformation() sleep(5) self.base.scrollToElement('广告') #self.base.clickByElement('广告') self.home.clickAdvertisement() @allure.story('测试前进后退') def test003HomePage(self, home_init): ''' 1、打开首页导航栏的安居客网址 2、点击安居客首页的“新房” 3、手势后退至安居客首页,再手势前进至“新房”页面 ''' self.share.clickAnjuke() self.home.clickNewHouse() self.home.right_swipe() self.base.assertTrue(ANJUKE_SEARCH) self.home.left_swipe() self.base.assertTrue(NEWHOUSE_SEARCH) @allure.story('测试爱淘宝能否正常打开') def test004HomePage(self, home_init): ''' 1、点击"爱淘宝" 2、断言是否跳转到"爱淘宝"页面 ''' # 点击网址导航-》爱淘宝 self.more.clickDaoHang(AITAOBAO) self.base.assertTrue(AITAOBAO_PAGE) @allure.story('测试搜索能否正常打开') def test005HomePage(self, home_init): ''' 1、点击"搜索" 2、断言是否跳转到"搜索"页面 ''' # 点击网址导航-》搜索 self.more.clickDaoHang(WEB_SEARCH) self.base.browserWatcher() self.base.assertTrue(WEB_SEARCH_PAGE) @allure.story('测试聚划算能否正常打开') def test006HomePage(self, home_init): ''' 1、点击"聚划算" 2、断言是否跳转到"聚划算"页面 ''' # 点击网址导航-》聚划算 self.more.clickDaoHang(JHS) self.base.assertTrue(JHS_PAGE) @allure.story('测试天猫能否正常打开') def test007HomePage(self, home_init): ''' 1、点击"天猫" 2、断言是否跳转到"天猫"页面 ''' # 点击网址导航-》天猫 self.more.clickDaoHang(TIANMAO) self.base.assertTrue(TIANMAO_PAGE) @allure.story('测试同城能否正常打开') def test008HomePage(self, home_init): ''' 1、点击"同城" 2、断言是否跳转到"同城"页面 ''' # 点击网址导航-》同城 self.more.clickDaoHang(TONGCHEN) self.base.assertTrue(TONGCHEN_PAGE) @allure.story('测试京东能否正常打开') def test009HomePage(self, home_init): ''' 1、点击"京东" 2、断言是否跳转到"京东"页面 ''' # 点击网址导航-》京东 self.more.clickDaoHang(JD) self.base.assertTrue(JD_PAGE) @allure.story('测试招聘能否正常打开') def test010HomePage(self, home_init): ''' 1、点击"招聘" 2、断言是否跳转到"招聘"页面 ''' # 点击网址导航-》招聘 self.more.clickDaoHang(ZHAOPIN) self.base.assertTrue(ZHAOPIN_PAGE) @allure.story('测试拼多多能否正常打开') def test011HomePage(self, home_init): ''' 1、点击"拼多多" 2、断言是否跳转到"拼多多"页面 ''' # 点击网址导航-》拼多多 self.more.clickDaoHang(PINDUODUO) self.base.assertTrue(PINDUODUO_PAGE) @allure.story('测试安居客能否正常打开') def test012HomePage(self, home_init): ''' 1、点击"安居客" 2、断言是否跳转到"安居客"页面 ''' # 点击网址导航-》安居客 self.more.clickDaoHang(ANJUKE) self.base.assertTrue(ANJUKE_PAGE) @allure.story('测试今日头条能否正常打开') def test013HomePage(self, home_init): ''' 1、点击"今日头条" 2、断言是否跳转到"今日头条"页面 ''' # 点击网址导航-》今日头条 self.more.clickDaoHang(TOUTIAO) self.base.assertTrue(TOUTIAO_PAGE) @allure.story('测试小说能否正常打开') def test014HomePage(self, home_init): ''' 1、点击"热门小说" 2、断言是否跳转到"小说"页面 ''' # 点击导航栏-》更多 self.more.clickDaoHang(HOT_NOVEL) self.base.browserWatcher() self.base.assertTrue(NOVEL_BOOKSHELF)
class TestPubMethod(): @pytest.fixture(scope="function") def pubMethod_init(self): self.base = Base(self.driver) self.home = HomePage(self.driver) self.pubmethod = PubMethod(self.driver) logging.info("") logging.info("****开始执行用例****") self.pubmethod.clearApp(BROWSER_PACKAGE_NAME) self.pubmethod.startApp(BROWSER_PACKAGE_NAME) yield logging.info("****用例执行结束****") logging.info("") #可以在每一个测试用例加一个marker,比如pytest运行的时就只运行带有该marker的测试用例,比如@pytest.mark.P0 @allure.story('测试隐私弹窗同意按钮') def test001PrivacyAgree(self, pubMethod_init): ''' 1、清除数据后首次打开浏览器,弹出隐私政策窗口 2、点击“同意”,弹出权限窗口 ''' # 清除数据后首次进入浏览器,点击隐私弹窗同意按钮 self.pubmethod.clickPrivacyAgree() self.base.assertTrue(PERMISSION_TITLE, timeout=5) @allure.story('测试隐私弹窗不同意按钮') def test002PrivacyDisagree(self, pubMethod_init): ''' 1、清除数据后首次打开浏览器,弹出隐私政策窗口 2、点击“不同意”,退出 ''' # 清除数据后首次进入浏览器,点击隐私弹窗不同意按钮 self.pubmethod.clickPrivacyDisagree() self.base.assertTrue(LAUNCHER_ID, timeout=5) @allure.story('测试权限弹窗拒绝按钮') def test003PermissionDisagree(self, pubMethod_init): ''' 1、清除数据后首次打开浏览器,弹出隐私政策窗口 2、点击“同意”,弹出权限窗口 3、点击权限弹窗“拒绝”按钮 ''' # 清除数据后首次进入浏览器,点击隐私弹窗同意按钮 self.pubmethod.clickPrivacyAgree() # 点击权限弹窗“拒绝”按钮,进入浏览器 self.pubmethod.clickPermissionDisagree() self.base.assertTrue(HOME_PAGE, timeout=5) @allure.story('测试权限弹窗允许按钮') def test004PermissionAgree(self, pubMethod_init): ''' 1、清除数据后首次打开浏览器,弹出隐私政策窗口 2、点击“同意”,弹出权限窗口 3、点击权限弹窗“始终允许”按钮 ''' # 清除数据后首次进入浏览器,点击隐私弹窗同意按钮 self.pubmethod.clickPrivacyAgree() # 点击权限弹窗“始终允许”按钮,进入浏览器 self.pubmethod.clickPermissionAgree() self.base.assertTrue(HOME_PAGE, timeout=5)
class TestMorePage(): @pytest.fixture() def more_init(self, scope="function"): self.base = Base(self.driver) self.home = HomePage(self.driver) self.pubmethod = PubMethod(self.driver) self.more = MorePage(self.driver) logging.info("") logging.info("****开始执行用例****") self.base.unlock() self.pubmethod.stopApp(BROWSER_PACKAGE_NAME) self.pubmethod.startApp(BROWSER_PACKAGE_NAME) self.home.clickHome() self.home.clickHomeOnPage(HOME_PAGE) yield logging.info("****用例执行结束****") logging.info("") @allure.story('测试网址导航页面1-头条跳转') @pytest.mark.P3 def test001MorePage(self, more_init): ''' 1、在浏览器首页点击导航栏中"更多"按钮,进入到浏览器网址导航页面 2、点击"头条" 3、断言是否跳转到"头条"页面 ''' # 点击导航栏-》更多 self.home.clickBusinessMore() # 点击网址导航-》头条 self.more.clickDaoHang(TOUTIAO) self.base.assertTrue(TOUTIAO_PAGE) @allure.story('测试网址导航页面搜狐跳转') @pytest.mark.P1 def test002MorePage(self, more_init): ''' 1、在浏览器首页点击导航栏中"更多"按钮,进入到浏览器网址导航页面 2、点击"搜狐" 3、断言是否跳转到"搜狐"页面 ''' # 点击导航栏-》更多 self.home.clickBusinessMore() # 点击网址导航-》搜狐 self.more.clickDaoHang(SOUHU) self.base.assertTrue(SOUHU_PAGE, timeout=15) @allure.story('测试网址导航页面8-京东跳转') @pytest.mark.P1 def test003MorePage(self, more_init): ''' 1、在浏览器首页点击导航栏中"更多"按钮,进入到浏览器网址导航页面 2、点击"京东" 3、断言是否跳转到"京东"页面 ''' # 点击导航栏-》更多 self.home.clickBusinessMore() # 点击网址导航-》京东 self.more.clickDaoHang(JD) self.base.assertTrue(JD_PAGE, timeout=15) @allure.story('测试网址导航页面11-聚划算跳转') @pytest.mark.P1 def test004MorePage(self, more_init): ''' 1、在浏览器首页点击导航栏中"更多"按钮,进入到浏览器网址导航页面 2、点击"聚划算" 3、断言是否跳转到"聚划算"页面 ''' # 点击导航栏-》更多 self.home.clickBusinessMore() # 点击网址导航-》聚划算 self.more.clickDaoHang(JHS) self.base.assertTrue(JHS_PAGE, timeout=15) @allure.story('测试网址导航页面4-同城跳转') @pytest.mark.P1 def test005MorePage(self, more_init): ''' 1、在浏览器首页点击导航栏中"更多"按钮,进入到浏览器网址导航页面 2、点击"同城" 3、断言是否跳转到"同城"页面 ''' # 点击导航栏-》更多 self.home.clickBusinessMore() # 点击网址导航-》同城 self.more.clickDaoHang(TONGCHEN) self.base.assertTrue(TONGCHEN_PAGE, timeout=15) @allure.story('测试网址导航页面6-找房子跳转') @pytest.mark.P1 def test006MorePage(self, more_init): ''' 1、在浏览器首页点击导航栏中"更多"按钮,进入到浏览器网址导航页面 2、点击"找房子" 3、断言是否跳转到"找房子"页面 ''' # 点击导航栏-》更多 self.home.clickBusinessMore() # 点击网址导航-》找房子 self.more.clickDaoHang(FINDHOUSE) self.base.assertTrue(FINDHOUSE_PAGE, timeout=15) @allure.story('测试网址导航页面2-在线商城跳转') def test007MorePage(self, more_init): ''' 1、在浏览器首页点击导航栏中"在线商城"按钮,进入到浏览器网址导航页面 2、点击"在线商城" 3、断言是否跳转到"在线商城"页面 ''' # 点击导航栏-》更多 self.home.clickBusinessMore() # 点击网址导航-》在线商城 self.more.clickDaoHang(MALL) self.base.assertTrue(MALL_PAGE) @allure.story('测试网址导航页面3-二手市场跳转') def test008MorePage(self, more_init): ''' 1、在浏览器首页点击导航栏中"二手市场"按钮,进入到浏览器网址导航页面 2、点击"二手市场" 3、断言是否跳转到"二手市场"页面 ''' # 点击导航栏-》更多 self.home.clickBusinessMore() # 点击网址导航-》二手市场 self.more.clickDaoHang(FLEA_MARKET) self.base.assertTrue(FLEA_MARKET_PAGE) @allure.story('测试网址导航页面5-安居客跳转') def test009MorePage(self, more_init): ''' 1、在浏览器首页点击导航栏中"安居客"按钮,进入到浏览器网址导航页面 2、点击"安居客" 3、断言是否跳转到"安居客"页面 ''' # 点击导航栏-》更多 self.home.clickBusinessMore() # 点击网址导航-》安居客 self.more.clickDaoHang(ANJUKE) self.base.assertTrue(ANJUKE_PAGE) @allure.story('测试网址导航页面7-爱淘宝跳转') def test010MorePage(self, more_init): ''' 1、在浏览器首页点击导航栏中"爱淘宝"按钮,进入到浏览器网址导航页面 2、点击"爱淘宝" 3、断言是否跳转到"爱淘宝"页面 ''' # 点击导航栏-》更多 self.home.clickBusinessMore() # 点击网址导航-》爱淘宝 self.more.clickDaoHang(AITAOBAO) self.base.assertTrue(AITAOBAO_PAGE) @allure.story('测试网址导航页面9-天猫跳转') def test011MorePage(self, more_init): ''' 1、在浏览器首页点击导航栏中"天猫"按钮,进入到浏览器网址导航页面 2、点击"天猫" 3、断言是否跳转到"天猫"页面 ''' # 点击导航栏-》更多 self.home.clickBusinessMore() # 点击网址导航-》天猫 self.more.clickDaoHang(TIANMAO) self.base.assertTrue(TIANMAO_PAGE) @allure.story('测试网址导航页面10-拼多多跳转') def test012MorePage(self, more_init): ''' 1、在浏览器首页点击导航栏中"拼多多"按钮,进入到浏览器网址导航页面 2、点击"拼多多" 3、断言是否跳转到"拼多多"页面 ''' # 点击导航栏-》更多 self.home.clickBusinessMore() # 点击网址导航-》拼多多 self.more.clickDaoHang(PINDUODUO) self.base.assertTrue(PINDUODUO_PAGE) @allure.story('测试网址导航页面12-招聘跳转') def test013MorePage(self, more_init): ''' 1、在浏览器首页点击导航栏中"招聘"按钮,进入到浏览器网址导航页面 2、点击"招聘" 3、断言是否跳转到"招聘"页面 ''' # 点击导航栏-》更多 self.home.clickBusinessMore() # 点击网址导航-》招聘 self.more.clickDaoHang(ZHAOPIN) self.base.assertTrue(ZHAOPIN_PAGE)
class SetUpPage(Base): def __init__(self, driver): self.base = Base(driver) # 点击魅族头条设置 ---wmw def clickMeizuHeadlinesSettings(self): if self.base.elementIsExit(SETUP_ID): self.base.clickByElement(MEIZU_HEAD, "魅族头条设置") else: self.assertFalse(SETUP_ID) # 点击简版显示 ---wmw def clickSimple(self): if self.base.elementIsExit(SETUP_SIMPLE): self.base.clickByElement(SETUP_SIMPLE, "简版显示") else: self.assertFalse(SETUP_SIMPLE) # 点击简版显示--更多 ---wmw def clickSetUpMore(self): if self.base.elementIsExit(SETUP_MORE): self.base.clickByElement(SETUP_MORE, "简版显示--更多") else: self.assertFalse(SETUP_MORE) # 点击清除浏览数据 ---wmw def clickClearCoolkies(self): if self.base.elementIsExit(CLEAR_DATA): self.base.clickByElement(CLEAR_DATA, "清除浏览数据") else: self.assertFalse(CLEAR_DATA) # 点击清除浏览数据--Cookies ---wmw def clickCookies(self): if self.base.elementIsExit(SETUP_COOKIES): self.base.clickByElement(SETUP_COOKIES, "Cookies") else: self.assertFalse(SETUP_COOKIES) # 点击清除浏览数据--账号密码 ---wmw def clickAccountsAndPasswords(self): if self.base.elementIsExit(SETUP_ACCOUNTS_AND_PASSWORDS): self.base.clickByElement(SETUP_ACCOUNTS_AND_PASSWORDS, "账号密码") else: self.assertFalse(SETUP_ACCOUNTS_AND_PASSWORDS) # 点击清除浏览数据--地理位置授权 ---wmw def clickLocationAccess(self): if self.base.elementIsExit(SETUP_LOCATION_ACCESS): self.base.clickByElement(SETUP_LOCATION_ACCESS, "地理位置授权") else: self.assertFalse(SETUP_LOCATION_ACCESS) # 点击清除浏览数据按钮 ---wmw def clickClearData(self): if self.base.elementIsExit(SETUP_CLEAR_DATA): self.base.clickByElement(SETUP_CLEAR_DATA, "清除数据按钮") else: self.assertFalse(SETUP_CLEAR_DATA) # 点击完成按钮 ---wmw def clickDone(self): if self.base.elementIsExit(SETUP_DONE): self.base.clickByElement(SETUP_DONE, "完成按钮") else: self.assertFalse(SETUP_DONE) # 点击搜索引擎 ---wmw def clickSearchEngine(self): if self.base.elementIsExit(SEARCH_ENGINE): self.base.clickByElement(SEARCH_ENGINE, "搜索引擎") else: self.assertFalse(SEARCH_ENGINE) # 点击百度 --wmw def clickBaidu(self): if self.base.elementIsExit(SETUP_BAIDU): self.base.clickByElement(SETUP_BAIDU, "百度") else: self.assertFalse(SETUP_BAIDU) #搜索框输入123 --wmw def inputNumber(self): if self.base.elementIsExit(SEARCHPANEL_TEXT): self.base.elementSetText(SEARCHPANEL_TEXT, "123", "搜索框输入123") else: self.assertFalse(SEARCHPANEL_TEXT) # 搜索框输入百度 --wmw def inputbaidu(self): if self.base.elementIsExit(SEARCHPANEL_TEXT): self.base.elementSetText(SEARCHPANEL_TEXT, 'www.baidu.com', "搜索框输入百度") else: self.assertFalse(SEARCHPANEL_TEXT) # 点击广告屏蔽 ---wmw def clickBlockAds(self, element): if self.base.elementIsExit(element): if self.obtainBlockAdsSwitch(element) == "关闭": return else: self.base.clickByElementRight(element, SETUP_SWITCH, direction='right') else: self.assertFalse(element) # 点击恢复默认设置 ---wmw def clickResetToDefault(self): if self.base.elementIsExit(SETUP_RESET_TEXT): self.base.clickByElement(SETUP_RESET_TEXT, "恢复默认设置") else: self.assertFalse(SETUP_RESET_TEXT) # 点击恢复默认设置---恢复 --wmw def clickReset(self): if self.base.elementIsExit(SETUP_RESET): self.base.clickByElement(SETUP_RESET, "恢复") else: self.assertFalse(SETUP_RESET) # # 获取广告屏蔽开关状态 ---wmw # def obtainBlockAdsSwitch(self): # if self.base.elementIsExit(SETUP_ID): # return self.base.elementText(SETUP_SWITCH, "开关状态",0) # else: # self.assertFalse(SETUP_ID) # 获取广告屏蔽开关状态 ---wmw def obtainBlockAdsSwitch(self, element): if self.base.elementIsExit(SETUP_ID): return self.base.ObtianRightelementText(element, SETUP_SWITCH, direction='right') else: self.assertFalse(SETUP_ID) # 获取精选内容推送开关状态 ---wmw def obtainSwipeLeftRightSwitch(self, element): if self.base.elementIsExit(SETUP_ID): return self.base.ObtianRightelementText(element, SETUP_SWITCH, direction='right') else: self.assertFalse(SETUP_ID) # # 获取精选内容推送开关状态 ---wmw # def obtainSwipeLeftRightSwitch(self): # if self.base.elementIsExit(SETUP_ID): # return self.base.elementText(SETUP_SWITCH, "开关状态",3) # else: # self.assertFalse(SETUP_ID) # 点击精选内容推送 ---wmw def clickSwipeLeftRight(self, element): if self.base.elementIsExit(element): if self.obtainSwipeLeftRightSwitch(element) == "关闭": return else: self.base.clickByElementRight(element, SETUP_SWITCH, direction='right') else: self.assertFalse(element) # 点击允许 ---wmw def clickAllow(self): if self.base.elementIsExit(SETUP_ALLOW): self.base.clickByElement(SETUP_ALLOW, "允许") else: self.assertFalse(SETUP_ALLOW) # 点击360 ————LCM def click360(self): if self.base.elementIsExit(SETUP_360): self.base.clickByElement(SETUP_360, "360") else: self.assertFalse(SETUP_360)
class SharePage(Base): def __init__(self, driver): self.base = Base(driver) # 点击导航网站中的”安居客“,进入网站—————LCM def clickAnjuke(self): if self.base.elementIsExit(HOME_ANJUKE): self.base.clickByElement(HOME_ANJUKE, '点击浏览器首页安居客网站') else: self.assertFalse(HOME_ANJUKE) # 在网页中点击分享按钮————LCM def clickWebPageShare(self): # 点击分享按钮,调起分享面板 if self.base.elementIsExit(SHARE_ID): self.base.clickByElement(SHARE_ID, '点击工具面板中的分享按钮') else: self.assertFalse(SHARE_ID) # 在分享面板中点击便签————LCM def clickNotes(self): # 判断分享面板中的便签是否存在 if self.base.elementIsExit(SHARE_PAGE): # 点击分享到便签应用 self.base.clickByElement(SHARE_PAGE, '点击分享到便签') else: self.assertFalse(SHARE_PAGE) # 在资讯文章中点击分享按钮————LCM def clickNewsArticleShare(self): if self.base.elementIsExit(NEWS_PAGE_BACK): sleep(4) self.base.clickByElement(NEWS_SHARE_PAGR, '点击资讯文章详情页总的分享按钮') else: self.assertFalse(NEWS_PAGE_BACK)
class DownPage(Base): def __init__(self, driver): self.base = Base(driver) # 长按下载网页 def longLink(self): if self.base.elementIsExit(SEARCH_PAGE_REFRASH): self.base.long_clickByElement(LONG_SEARCH_PAGR_LINK, '长按搜索结果页网页链接') else: self.assertFalse(SEARCH_PAGE_REFRASH) # 点击长按弹框中的“下载链接”按钮 def clickDownLink(self): if self.base.elementIsExit(LONG_PRESS_BOX): self.base.clickByElement(DOWNLINK, '点击长按菜单弹框中的“下载链接”按钮') else: self.assertFalse(LONG_PRESS_BOX) # 点击下载弹框中的“下载”按钮 def clickDownButton(self): if self.base.elementIsExit(DOWNLOAD_NAME): self.base.clickByElement(DOWN_LOAD, '点击下载弹框中的“下载”按钮') else: self.assertFalse(DOWNLOAD_NAME) # 点击下载弹框中的“取消”按钮 def clickCancelButton(self): if self.base.elementIsExit(DOWNLOAD_NAME): self.base.clickByElement(DOWN_CANCEL, '点击下载弹框中的“取消”按钮') else: self.assertFalse(DOWNLOAD_NAME) # 地址栏输入“QQ应用” def inputApp(self): if self.base.elementIsExit(SEARCHPANEL_ANOTHERCHANGE): self.base.elementSetText(SEARCHPANEL_WEBSITE, APPNAME, "输入“QQ”") else: self.assertFalse(SEARCHPANEL_ANOTHERCHANGE) # 地址栏输入“QQ应用” def clickAppDown(self): if self.base.elementIsExit(QQDOWN): self.base.clickByElement(QQDOWN, "点击“高速下载”") else: self.assertFalse(QQDOWN) # 获取下载弹框中的标题内容————LCM def getDownTitle(self, element): if self.base.elementIsExit(element): return self.base.elementText(element, '获取下载弹框中的标题内容') else: self.assertFalse(element) # 长按下载管理页面中的文件————LCM def longPressElement(self): if self.base.elementIsExit(DOWN_LOAD_MANAGE_TITLE): if self.base.elementIsExit(DOWN_LOAD_MANAGE_TITLE): self.base.long_clickByElement(DOWN_LOAD_MANAGE_TITLE, '长按下载管理页面中的文件') else: self.assertFalse(DOWN_LOAD_MANAGE_TITLE) else: self.base.usePhone('back') # 点击操作下载管理页面中的文件————LCM def clickChoose(self): # 判断“全选”按钮存在,则点击全选 if self.base.elementIsExit(DOWN_LOAD_MANAGE_CHOOSE): self.base.clickByElement(DOWN_LOAD_MANAGE_CHOOSE, '选择下载管理页面中的文件') self.clickDeleteAllFile() # 判断“全不选”按钮存在,则点击“删除” elif self.base.elementIsExit(DOWN_LOAD_MANAGE_CHOOSEONE): self.clickDeleteAllFile() else: self.assertFalse(DOWN_LOAD_MANAGE_CHOOSE) # 下载管理页面中点击删除按钮————LCM def clickDeleteAllFile(self): if self.base.elementIsExit(DOWN_LOAD_MANAGE_RENAME): # 点击删除按钮 self.base.clickByElement(DOWN_LOAD_MANAGE_DELETE_SELECTED, '点击删除按钮') self.clickDelete() else: self.assertFalse(DOWN_LOAD_MANAGE_RENAME) # 下载管理页面中点击删除所有的文件————LCM def clickDelete(self): if self.base.elementIsExit(DOWN_LOAD_MANAGE_DELETE): # 点击删除全部文件 self.base.clickByElement(DOWN_LOAD_MANAGE_DELETE, '点击删除下载管理页面中的文件') else: self.assertFalse(DOWN_LOAD_MANAGE_DELETE_SELECTED)
def __init__(self, driver): self.base = Base(driver)
class HomePage(Base): def __init__(self, driver): self.base = Base(driver) # 点击导航栏中“更多”按钮 def clickBusinessMore(self): if self.base.elementIsExit(HOME_BUSINESS_MORE_TEXT): self.base.clickByElementIdAndText(HOME_BUSINESS_ID, HOME_BUSINESS_MORE_TEXT, "导航栏-》更多") else: self.assertFalse(HOME_BUSINESS_MORE_TEXT) # 点击工具栏中more菜单 def clickMore(self): if self.base.elementIsExit(HOME_MORE): self.base.clickByElement(HOME_MORE, '浏览器首页more菜单') else: self.assertFalse(HOME_MORE) # 点击工具栏中home菜单 def clickHome(self): if self.base.elementIsExit(HOME_HOME): self.base.clickByElement(HOME_HOME, '浏览器首页home菜单') else: self.assertFalse(HOME_HOME) # 根据传参确认是否需要点击home按钮 def clickHomeOnPage(self, page): if page == HOME_PAGE and self.base.elementIsExit(SAVED_PAGE): self.clickHome() elif page == MYCOLLECTION and self.base.elementIsExit(ARTICLE_ID): self.clickHome() else: pass # 点击首页搜索框——LYX def clickHomeSearch(self): if self.base.elementIsExit(HOME_SEARCH): self.base.clickByElement(HOME_SEARCH,'首页搜索框') else: self.assertFalse(HOME_SEARCH) # 点击资讯information ----wmw def clickInformation(self): if self.base.elementIsExit(HOME_INFORMATION): self.base.clickByElement(HOME_INFORMATION,'资讯') else: self.assertFalse(HOME_INFORMATION) # 点击资讯广告 ----wmw def clickAdvertisement(self): if self.base.elementIsExit(HOME_ADVERTISEMENT): self.base.clickByElement(HOME_ADVERTISEMENT,'资讯流广告') else: self.assertFalse(HOME_ADVERTISEMENT) # 点击安居客首页新房入口——LYX def clickNewHouse(self): if self.base.elementIsExit(NEWHOUSE): self.base.clickByElement(NEWHOUSE,'安居客首页新房入口') else: self.assertFalse(NEWHOUSE) # 从屏幕边缘右滑手势后退——LYX def right_swipe(self): sleep(1) self.base.swipeByElement(RIGHTSWIPE_COORDINATE,"屏幕边缘右滑") # 从屏幕边缘左滑手势前进——LYX def left_swipe(self): sleep(1) self.base.swipeByElement(LEFTSWIPE_COORDINATE,"屏幕边缘左滑") # 提取首页12个导航位的名称——LYX def get_HomeBusiness(self): HOME_BUSINESS_NAME = [] for i in range(12): text = self.base.elementText(HOME_BUSINESS_ID,"首页导航栏",i) HOME_BUSINESS_NAME.append(text) return HOME_BUSINESS_NAME # 点击安居客首页新房入口——LYX def clickNewHouse(self): if self.base.elementIsExit(NEWHOUSE): self.base.clickByElement(NEWHOUSE,'安居客首页新房入口') else: self.assertFalse(NEWHOUSE) # 点击小说精选页的推荐小说——LYX def clickTv_Novel(self): if self.base.elementIsExit(TV_NOVEL): self.base.clickByElement(TV_NOVEL,'小说详情页的推荐小说') else: self.assertFalse(TV_NOVEL) # 点击小说详情页的免费阅读——LYX def clickFreeRead(self): if self.base.elementIsExit(FREE_READ): self.base.clickByElement(FREE_READ,'小说详情页的免费阅读') else: self.assertFalse(FREE_READ)