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 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 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 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)