class space_Create(unittest.TestCase): @classmethod #装饰器,类方法 def setUpClass(self): #最开始执行 #建立连接信息 cnn = Connect() self.driver = cnn.connect() #创建工具类 self.tools = Tools(self.driver) #tools工具 #创建_BrowseOrgSpace公有定位控件对象 self.spaceB = _BrowseOrgSpaceHandle(self.driver) self.spaceC = _CreateOrgSpaceHandle(self.driver) #创建读取配置信息对象 cf = GlobalParam('config', 'path_file.conf') #获取截图路径、日志路径、日志名 self.screen_path = cf.getParam('space', "path_001") #通过配置文件获取截图的路径 self.log_path = cf.getParam('space', "log") #通过配置文件获取日志的路径 self.logfile = cf.getParam('space', "logfile") #日志文件名 #创建Createspace和Closespace对象 self.cr = CreateSpace() self.cl = CloseSpace() sleep(2) #测试数据 d = DataInfo() #创建DataInfo()对象 self.fullname = d.cell("test1", 2, 1) #fullname self.easyname = d.cell( "test1", 2, 2, ) #easyname def test_spacecreate(self): try: # self.tools.coverUpdate(self.log_path,self.screen_path)#覆盖更新日志,覆盖更新截图 self.tools.getLog(self.logfile) #打印日志 #-------------创建机构空间------------ #先进行判断,空间是否存在,如果不存在,创建;如果存在,先删除后创建 sleep(2) self.spaceC.Kjlb_click() #进入空间列表 # name = self.driver.find_elements_by_id("com.yunlu6.stone:id/zone_company_title")[0].text name = self.spaceB.Kjlb_browseorgspaceByID_text(0) #获取第一家空间 if name == self.easyname: #检查当前的机构简称,如果已经有了,就关闭 self.cl.closeSpace(self.driver) #关闭 self.cr.createSpace(self.driver, self.fullname, self.easyname) #关闭之后,重新创建机构空间 self.cl.closeSpace(self.driver) else: self.cr.createSpace(self.driver, self.fullname, self.easyname) #创建机构空间 self.cl.closeSpace(self.driver) logging.info("success@@!!!!!!!") #宣布成功 finally: self.tools.getScreenShot(self.screen_path, 'finally') #截图 logging.info("FinishAll@@!!!!!!!") #打印错误的日志 self.driver.quit()
class space_Create(unittest.TestCase): @classmethod #装饰器,类方法 def setUpClass(self): #最开始执行 #建立连接信息 cnn = Connect() self.driver = cnn.connect() #创建工具类 self.tools = Tools(self.driver) #tools工具 #创建_BrowseOrgSpace公有定位控件对象 self.handle = _SPACEHANDLE5(self.driver) #创建读取配置信息对象 cf = GlobalParam('config', 'path_file.conf') #获取截图路径、日志路径、日志名 self.screen_path = cf.getParam('space', "path_001") #通过配置文件获取截图的路径 self.log_path = cf.getParam('space', "log") #通过配置文件获取日志的路径 self.logfile = cf.getParam('space', "logfile") #日志文件名 #创建Createspace和Closespace对象 self.cr = CreateSpace() self.cl = CloseSpace() sleep(1) #测试数据 d = DataInfo() #创建DataInfo()对象 self.fullname = d.cell("test001", 2, 1) #fullname self.easyname = d.cell( "test001", 2, 2, ) #easyname def test_spacecreate(self): try: # self.tools.coverUpdate(self.log_path,self.screen_path)#覆盖更新日志,覆盖更新截图 self.tools.getLog(self.logfile) #打印日志 #-------------创建机构空间------------ #先进行判断,空间是否存在,如果不存在,创建;如果存在,先删除后创建 sleep(1) self.handle.Kjlb_click() #进入空间列表 name = self.handle.Kjlb_browseorgspaceByID_text(0) #获取第一家空间 if name == self.easyname: #检查当前的机构简称,如果已经有了,就关闭 self.cl.closeSpace(self.driver) #关闭 self.cr.createSpace(self.driver, self.fullname, self.easyname) #关闭之后,重新创建机构空间 self.cl.closeSpace(self.driver) else: self.cr.createSpace(self.driver, self.fullname, self.easyname) #创建机构空间 self.cl.closeSpace(self.driver) logging.info("success@@!!!!!!!") #宣布成功 except Exception as err: self.tools.getScreenShot(self.screen_path, "ExceptionShot") logging.error("Error Information outside : %s" % err) raise err finally: self.driver.quit()
class perspace_Create(unittest.TestCase): @classmethod#装饰器,类方法 def setUpClass(self):#最开始执行 #1.建立连接信息 cnn = Connect() self.driver = cnn.connect() #2.创建工具类 self.tools = Tools(self.driver)#tools工具 #3.创建_CreatePersonalSpaceHandle公有定位控件对象 self.handle = _SPACEHANDLE5(self.driver) #4.创建读取配置信息对象 cf = GlobalParam('config','path_file.conf') #5.获取截图路径、日志路径、日志名 self.screen_path = cf.getParam('space',"path_006")#通过配置文件获取截图的路径 self.log_path = cf.getParam('space',"log")#通过配置文件获取日志的路径 self.logfile = cf.getParam('space',"logfile")#日志文件名 #6.创建Createspace和Closespace对象 self.cr = CreatePersonSpace() self.cl = ClosePersonSpace() sleep(2) #7.准备测试数据 d = DataInfo()#创建DataInfo()对象 self.spacename = d.cell("test006",2,13)#空间名:appium私人空间 # self.foldername1 = d.cell("test006",2,14)#文件夹1名:appium文件夹 def test_perspacecreate(self): try: self.tools.getLog(self.logfile)#打印日志 #1.进入空间列表 sleep(1) self.handle.Kjlb_click() # #2.点击主菜单 # self.handle.Kjlb_mainmenu_click() # #3.点击+私人空间 # self.handle.Kjlb_mainmenu_newpersonspace_click() #4.创建私人空间 if self.driver.find_elements_by_name(self.spacename) != []:#检查当前的私人空间是否已经存在,如果存在就关闭 self.cl.closePersonSpace(self.driver,self.spacename)#先关闭 self.cr.createPersonSpace(self.driver,self.spacename)#再创建 self.cl.closePersonSpace(self.driver,self.spacename)#再关闭 else: self.cr.createPersonSpace(self.driver,self.spacename)#创建 self.cl.closePersonSpace(self.driver,self.spacename)#关闭 logging.info("success@@!!!!!!!")#宣布成功 except Exception as err: self.tools.getScreenShot(self.screen_path,"ExceptionShot") logging.error("Error Information outside : %s"%err) raise err finally: self.driver.quit()
class space_Archivies(unittest.TestCase): @classmethod #装饰器,类方法 def setUpClass(self): #最开始执行 #建立连接信息 cnn = Connect() self.driver = cnn.connect() #创建工具类 self.tools = Tools(self.driver) #tools工具 #创建 _SPACEHANDLE5公有定位控件对象 self.handle = _SPACEHANDLE5(self.driver) #创建读取配置信息对象 cf = GlobalParam('config', 'path_file.conf') #获取截图路径、日志路径、日志名 self.screen_path = cf.getParam('space', "path_004") #通过配置文件获取截图的路径 self.log_path = cf.getParam('space', "log") #通过配置文件获取日志的路径 self.logfile = cf.getParam('space', "logfile") #日志文件名 #创建Archiviese对象 self.spaceAr = Archivies() sleep(1) #测试数据 d = DataInfo() #创建DataInfo()对象 self.spacename = d.cell("test004", 2, 3) #测试空间123 def test_archivies(self): """资讯发布""" try: # self.tools.coverUpdate(self.log_path,self.screen_path)#覆盖更新日志,覆盖更新截图 self.tools.getLog(self.logfile) #打印日志 #1.空间首页 self.handle.Kjlb_click() self.tools.getScreenShot(self.screen_path, "空间首页") #2.选择空间:测试空间123 self.handle.Kjlb_browseorgspaceByName_click(self.spacename) #3.资讯发布 self.spaceAr.archivies(self.driver) logging.info("success@@!!!!!!!") #宣布成功 except Exception as err: self.tools.getScreenShot(self.screen_path, "ExceptionShot") logging.error("Error Information Archivies Outside : %s" % err) raise err finally: self.driver.quit()
class space_Create(unittest.TestCase): @classmethod #装饰器,类方法 def setUpClass(self): #最开始执行 #建立连接信息 cnn = Connect() self.driver = cnn.connect() #创建工具类 self.tools = Tools(self.driver) #tools工具 #创建读取配置信息对象 cf = GlobalParam('config', 'path_file.conf') #获取截图路径、日志路径、日志名 self.screen_path = cf.getParam('login', "path_001") #通过配置文件获取截图的路径 self.log_path = cf.getParam('login', "log_001") #通过配置文件获取日志的路径 self.filename = cf.getParam('login', "filename_001") #日志文件名 #创建LoginHomePage和LogoutHomePage对象 self.login = LoginHomePage() self.logout = LogoutHomePage() sleep(2) def test_login(self): try: self.tools.coverUpdate(self.log_path, self.screen_path) #覆盖更新日志,覆盖更新截图 self.tools.getLog(self.filename) #打印日志 #-------------判断进入应用时是否处于登录状态------------ #先进行判断,是否处于登录状态,如果处于登录状态,则登出 #对于已登录的用户,在左上方会有一个设置按钮,对于未登录用户,没有这个按钮,通过查找这个元素来判断用户是否登录 if self.driver.find_elements_by_id( "com.yunlu6.stone:id/iv_left") != []: self.logout.logoutHomePage(self.driver) #-------------进行登录操作------------ self.login.loginHomePage(self.driver) logging.info("success@@!!!!!!!") #宣布成功 finally: self.tools.getScreenShot(self.screen_path, 'finally') #截图 logging.info("finally@@!!!!!!!") #打印错误的日志 self.driver.quit()
class perspace_NewFloder(unittest.TestCase): @classmethod #装饰器,类方法 def setUpClass(self): #最开始执行 #1.建立连接信息 cnn = Connect() self.driver = cnn.connect() #2.创建工具类 self.tools = Tools(self.driver) #tools工具 #3.创建_SPACEHANDLE5公有定位控件对象 self.handle = _SPACEHANDLE5(self.driver) #4.创建读取配置信息对象 cf = GlobalParam('config', 'path_file.conf') #5.获取截图路径、日志路径、日志名 self.screen_path = cf.getParam('space', "path_006") #通过配置文件获取截图的路径 self.log_path = cf.getParam('space', "log") #通过配置文件获取日志的路径 self.logfile = cf.getParam('space', "logfile") #日志文件名 #6.创建Createspace、Closespace、CreatePerSFolder对象 self.cr = CreatePersonSpace() self.cl = ClosePersonSpace() self.cpf = CreatePerSFolder() self.cpl = DeletePerSFloder() sleep(2) #7.准备测试数据 d = DataInfo() #创建DataInfo()对象 self.spacename = d.cell("test006", 2, 13) #空间名:appium私人空间 self.foldername1 = d.cell("test006", 2, 14) #文件夹1:appium文件夹 # self.foldername1 = d.cell("test006",2,14)#文件夹1名:appium文件夹 def test_pernewfolder(self): try: self.tools.getLog(self.logfile) #打印日志 #1.进入空间列表 self.handle.Kjlb_click() # #2.点击主菜单 # self.handle.Kjlb_mainmenu_click() # #3.点击+私人空间 # self.handle.Kjlb_mainmenu_newpersonspace_click() #4.创建私人空间 if self.driver.find_elements_by_name( self.spacename) != []: #检查当前的私人空间是否已经存在,如果存在就关闭 #4.1进入空间-菜单栏-编辑 self.handle.Kjlb_browseorgspaceByName_click(self.spacename) self.handle.Kjlb_browseperspace_menu_click() self.handle.Kjlb_browseperspace_menu_edit_click() #4.2检查是否存在文件夹 if self.driver.find_elements_by_id( "com.yunlu6.stone:id/editlayout_folder_dele") != []: #4.2.0返回-返回空间列表 self.handle.Kjlb_browseperspace_menu_edit_back_click() self.handle.Kjlb_browseperspace_back_click() # 4.2.1删除文件夹 self.cpl.deletePerSFloder(self.driver, self.spacename) #4.2.2先关闭空间 self.cl.closePersonSpace(self.driver, self.spacename) #4.2.3再创建空间 self.cr.createPersonSpace(self.driver, self.spacename) #4.2.4创建文件夹 self.cpf.createPerSFolder(self.driver, self.spacename, self.foldername1) #4.2.5#删除文件夹 self.cpl.deletePerSFloder(self.driver, self.spacename) #4.2.6再关闭空间 self.cl.closePersonSpace(self.driver, self.spacename) else: #4.2.7先关闭空间 self.cl.closePersonSpace(self.driver, self.spacename) #4.2.8再创建空间 self.cr.createPersonSpace(self.driver, self.spacename) #4.2.9创建文件夹 self.cpf.createPerSFolder(self.driver, self.spacename, self.foldername1) #4.2.10#删除文件夹 self.cpl.deletePerSFloder(self.driver, self.spacename) #4.2.11再关闭空间 self.cl.closePersonSpace(self.driver, self.spacename) else: #4.3先创建空间 self.cr.createPersonSpace(self.driver, self.spacename) #创建 #4.4创建文件夹 self.cpf.createPerSFolder(self.driver, self.spacename, self.foldername1) #4.5删除文件夹 self.cpl.deletePerSFloder(self.driver, self.spacename) #4.6再关闭空间 self.cl.closePersonSpace(self.driver, self.spacename) logging.info("success@@!!!!!!!") #宣布成功 except Exception as err: self.tools.getScreenShot(self.screen_path, "ExceptionShot") logging.error("Error Information outside : %s" % err) raise err finally: self.driver.quit()
class space_Product(unittest.TestCase): @classmethod#装饰器,类方法 def setUpClass(self):#最开始执行 #建立连接信息 cnn = Connect() self.driver = cnn.connect() #创建工具类 self.tools = Tools(self.driver)#tools工具 #创建_BrowseOrgSpace公有定位控件对象 self.spaceB = _BrowseOrgSpaceHandle(self.driver) #创建_OrgSpaceProduct公有定位控件对象 self.spaceP = _OrgSpaceProductHandle(self.driver) #创建读取配置信息对象 cf = GlobalParam('config','path_file.conf') #获取截图路径、日志路径、日志名 self.screen_path = cf.getParam('space',"path_002")#通过配置文件获取截图的路径 self.log_path = cf.getParam('space',"log")#通过配置文件获取日志的路径 self.logfile = cf.getParam('space',"logfile")#日志文件名 sleep(2) #创建CreateProduct和DeleteProduct对象 self.cr = CreateProduct() self.dl = DeleteProduct() #测试数据 d = DataInfo()#创建DataInfo()对象 self.spacename = d.cell("test2",2,1)#空间名 self.proname = d.cell("test2",2,3) def test_spaceproduct(self): """ 菜单栏用坐标定位:56行,实属无奈之举 """ try: # self.tools.coverUpdate(self.log_path,self.screen_path)#覆盖更新日志,覆盖更新截图 self.tools.getLog(self.logfile)#打印日志 #1.点击进入空间界面 self.spaceP.Kjlb().click()#点击进入空间列表 sleep(1) self.spaceP.Kjlb_browseorgspaceByName_click(self.spacename)#点击进入测试空间123 sleep(2) self.spaceP.Kjlb_browseorgspace_menu_click()#点击菜单栏 # self.driver.tap([(self.menu_x,self.menu_y)], 500)#菜单栏 self.spaceP.Kjlb_browseorgspace_menu_product_click()#点击产品 self.tools.getScreenShot(self.screen_path,"产品新建界面") #2.新建产品 self.cr.createProduct(self.driver) #3.未发布列表:发布 self.spaceP.Kjlb_browseorgspace_menu_product_unlock_click()#点击未发布列表 self.tools.getScreenShot(self.screen_path,"未发布列表") self.spaceP.Kjlb_browseorgspace_menu_product_unlock_list_byname_click(self.proname)#点击新建的那个产品 self.spaceP.Kjlb_browseorgspace_menu_product_unlock_list_menu_click()#点击菜单栏 self.spaceP.Kjlb_browseorgspace_menu_product_unlock_list_menu_release_click()#点击发布 self.spaceP.Kjlb_browseorgspace_menu_product_unlock_list_menu_release_confirm_click()#点击确定 #4.进入已发布列表 self.spaceP.Kjlb_browseorgspace_menu_product_lock_click()#点击进入已发布列表 self.tools.getScreenShot(self.screen_path,"已发布列表") self.spaceP.Kjlb_browseorgspace_menu_product_lock_list_byname_click(self.proname)#点击新建的那个产品 #5.下架产品 self.spaceP.Kjlb_browseorgspace_menu_product_lock_list_offshelf_click()#点击下架 self.spaceP.Kjlb_browseorgspace_menu_product_lock_list_offshelf_sure_click()#确定下架 #6.删除产品,还原测试场景 self.spaceP.Kjlb_browseorgspace_menu_product_unlock_click()#点击未发布列表 self.spaceP.Kjlb_browseorgspace_menu_product_unlock_list_byname_click(self.proname)#点击新建的那个产品 self.dl.deleteProduct(self.driver)#删除产品,回归 finally: self.tools.getScreenShot(self.screen_path,'finally')#截图 logging.info("FinishAll@@!!!!!!!")#打印错误的日志 self.driver.quit()