class DeleteProduct: def __init__(self): #初始化测试数据 pass def deleteProduct(self, driver): try: #创建工具类 self.tools = Tools(driver) #tools工具 #创建_OrgSpaceProduct公有定位控件对象 self.spaceP = _OrgSpaceProductHandle(driver) #创建读取配置信息对象 self.cf = GlobalParam('config', 'path_file.conf') #获取截图路径、日志路径、日志名 self.screen_path = self.cf.getParam('space', "path_002") #通过配置文件获取截图的路径 sleep(2) #-----------------删除产品----------------- #1.点击菜单栏 self.spaceP.Kjlb_browseorgspace_menu_product_unlock_list_menu_click( ) #点击菜单栏 #2.点击删除 self.spaceP.Kjlb_browseorgspace_menu_product_unlock_list_menu_delete_click( ) #删除产品 self.tools.getScreenShot(self.screen_path, "删除产品后列表") finally: self.tools.getScreenShot(self.screen_path, 'finally') #截图 logging.info("FinishDeleteProduct@@!!!!!!!") #打印错误的日志
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()
def loginHomePage(self, driver, section = "login"): #创建工具类 tools = Tools(driver)#tools工具 #创建读取配置信息对象 cf = GlobalParam('config','path_file.conf') #获取截图路径、日志路径、日志名 screen_path = cf.getParam(section,"path_001")#通过配置文件获取截图的路径 try: #创建_Login公有定位控件对象 loginHandle = _Login(driver) sleep(2) tools.getScreenShot(screen_path, "app欢迎界面") #点击登录按钮,进入到登录界面 loginHandle.Login().click() #------------------------进行登录操作------------------------------- #手机号13667618021 #密码free930923 #输入登录手机号 loginHandle.Login_telp().send_keys(self.telp) sleep(1) #输入登录密码 loginHandle.Login_pwd().send_keys(self.pwd) sleep(1) tools.getScreenShot(screen_path, "登录信息") loginHandle.Login_login().click() tools.getScreenShot(screen_path, "点击登录") sleep(2) finally: tools.getScreenShot(screen_path,'finallyloginHomePage')#截图 logging.info("finallyloginHomePage@@!!!!!!!")#打印错误的日志
def logoutHomePage(self, driver): #创建工具类 tools = Tools(driver) #tools工具 #创建读取配置信息对象 cf = GlobalParam('config', 'path_file.conf') #获取截图路径、日志路径、日志名 screen_path = cf.getParam("login", "path_001") #通过配置文件获取截图的路径 try: #创建_Logout公有定位控件对象 logouthandle = _Logout(driver) sleep(2) tools.getScreenShot(screen_path, "退出登录前界面") #点击设置界面,调出设置页 logouthandle.Entersetting().click() #------------------------进行登出操作------------------------------- #点击系统设置 logouthandle.Syssetting().click() sleep(1) #点击退出按钮 logouthandle.Syssetting_logout().click() sleep(1) tools.getScreenShot(screen_path, "点击登出") logouthandle.Syssetting_logout_confirm().click() sleep(1) tools.getScreenShot(screen_path, "登出成功") finally: tools.getScreenShot(screen_path, 'finallylogoutHomePage') #截图 logging.info("finallylogoutHomePage@@!!!!!!!") #打印错误的日志
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()
def loginapp(self, driver, section = "login"):#最开始执行 #创建工具类 tools = Tools(driver)#tools工具 #创建读取配置信息对象 cf = GlobalParam('config','path_file.conf') #获取截图路径、日志路径、日志名 screen_path = cf.getParam(section,"path_001")#通过配置文件获取截图的路径 #创建LoginHomePage和LogoutHomePage对象 cr = LoginHomePage() cl = LogoutHomePage() sleep(2) try: #-------------判断进入应用时是否处于登录状态------------ #先进行判断,是否处于登录状态,如果处于登录状态,则登出 #对于已登录的用户,在左上方会有一个设置按钮,对于未登录用户,没有这个按钮,通过查找这个元素来判断用户是否登录 if driver.find_elements_by_id("com.yunlu6.stone:id/iv_left") == []: #-------------若用户未登录,进行登录操作------------ LoginHomePage().loginHomePage(driver, section) logging.info("success@@!!!!!!!")#宣布成功 except Exception as err: tools.getScreenShot(screen_path,'finally')#截图 logging.info("finally@@!!!!!!!")#打印错误的日志
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()
def closeSpace(self, driver): """ 菜单栏用坐标定位:34行,实属无奈之举 """ #创建工具类 tools = Tools(driver) #tools工具 #创建_OrgSpaceBCard公有定位控件对象 spaceB = _OrgSpaceBCardHandle(driver) #创建读取配置信息对象 cf = GlobalParam('config', 'path_file.conf') #获取截图路径、日志路径、日志名 screen_path = cf.getParam('space', "path_001") #通过配置文件获取截图的路径 #测试数据 d = DataInfo() #创建DataInfo()对象 # self.easyname = d.cell("test1",2,2,) self.menu_x = int(d.cell("test1", 2, 11)) #fullname self.menu_y = int(d.cell( "test1", 2, 12, )) #easyname sleep(2) try: #为了保证不中途退出,需要第一次进入的时候检查是否存在该机构,如果存在,先关闭 spaceB.Kjlb_browseorgspaceByID_click(0) #点击进入 sleep(2) # driver.tap([(self.menu_x,self.menu_y)], 500)#菜单栏 spaceB.Kjlb_browseorgspace_menu_click() #菜单栏 spaceB.Kjlb_browseorgspace_menu_bcard_click() #企业名片 spaceB.Kjlb_browseorgspace_menu_bcard_menu_click() #菜单栏 spaceB.Kjlb_browseorgspace_menu_bcard_menu_close_click() #关闭 tools.getScreenShot(screen_path, "关闭空间确认") spaceB.Kjlb_browseorgspace_menu_bcard_menu_close_confirm_click( ) #确认关闭 tools.getScreenShot(screen_path, "存在该机构将其关闭了") finally: tools.getScreenShot(screen_path, 'finallyclosespace') #截图 logging.info("FinishCloseSpace@@!!!!!!!") #打印错误的日志
def createProduct(self, driver): """ 菜单栏用坐标定位:68行,实属无奈之举 """ try: #创建工具类 tools = Tools(driver) #tools工具 #创建_OrgSpaceProduct公有定位控件对象 spaceP = _OrgSpaceProductHandle(driver) #创建读取配置信息对象 cf = GlobalParam('config', 'path_file.conf') #获取截图路径、日志路径、日志名 screen_path = cf.getParam('space', "path_002") #通过配置文件获取截图的路径 sleep(2) #-----------------新建产品----------------- spaceP.Kjlb_browseorgspace_menu_product_new_click() #点击新建按钮 tools.getScreenShot(screen_path, "添加产品") #1.添加照片 spaceP.Kjlb_browseorgspace_menu_product_new_addphoto_click( ) #点击添加照片按钮 spaceP.Kjlb_browseorgspace_menu_product_new_addphoto_album_click( ) #选择相册添加 spaceP.Kjlb_browseorgspace_menu_product_new_addphoto_album_list_click( self.photo) #选择第一张照片 spaceP.Kjlb_browseorgspace_menu_product_new_addphoto_album_confirm_click( ) #点击完成 sleep(5) tools.getScreenShot(screen_path, "图片上传后") #2.商品名称 spaceP.Kjlb_browseorgspace_menu_product_new_proname_click( ) #点击商品名称 spaceP.Kjlb_browseorgspace_menu_product_new_proname_name_sendkeys( self.proname) #输入商品名称 spaceP.Kjlb_browseorgspace_menu_product_new_proname_name_title_click( ) #点击顶部标题 spaceP.Kjlb_browseorgspace_menu_product_new_proname_bclassify_click( ) #点击分类 spaceP.Kjlb_browseorgspace_menu_product_new_proname_bonetag_click( self.tag1) #1级标签 spaceP.Kjlb_browseorgspace_menu_product_new_proname_btwotag_click( self.tag2) #2级标签 spaceP.Kjlb_browseorgspace_menu_product_new_proname_confirm_click( ) #点击确定按钮 tools.getScreenShot(screen_path, "商品分类后") spaceP.Kjlb_browseorgspace_menu_product_new_proname_choose_click( ) #点击勾选按钮 #3.石种属性 spaceP.Kjlb_browseorgspace_menu_product_new_attribute_click( ) #点击石种属性 spaceP.Kjlb_browseorgspace_menu_product_new_attribute_species_sendkeys( self.species) #种类名 spaceP.Kjlb_browseorgspace_menu_product_new_attribute_species_match_click( 0) #点击匹配出的石种名 tools.getScreenShot(screen_path, "选择石种后") spaceP.Kjlb_browseorgspace_menu_product_new_attribute_confirm_click( ) #点击勾选 #4.制品和表面 spaceP.Kjlb_browseorgspace_menu_product_new_attrstone_click( ) #点击制品和表面 spaceP.Kjlb_browseorgspace_menu_product_new_attrstone_type_click( ) #点击制品 spaceP.Kjlb_browseorgspace_menu_product_new_attrstone_type_list_click( self.type) #平板 spaceP.Kjlb_browseorgspace_menu_product_new_attrstone_surface_click( ) #点击表面 spaceP.Kjlb_browseorgspace_menu_product_new_attrstone_surface_list_click( self.surface) #光面 tools.getScreenShot(screen_path, "制品和表面") spaceP.Kjlb_browseorgspace_menu_product_new_attrstone_confirm_click( ) #勾选 #5.产品参数 spaceP.Kjlb_browseorgspace_menu_product_new_parameter_click( ) #点击产品参数 spaceP.Kjlb_browseorgspace_menu_product_new_parameter_key_clear( 0) #先清空参数名 spaceP.Kjlb_browseorgspace_menu_product_new_parameter_key_sendkeys( 0, self.key) #输入参数名 spaceP.Kjlb_browseorgspace_menu_product_new_parameter_value_sendkeys( 0, self.value) #输入参数值 tools.getScreenShot(screen_path, "产品参数") spaceP.Kjlb_browseorgspace_menu_product_new_parameter_confirm_click( ) #点击勾选 #6.价格 spaceP.Kjlb_browseorgspace_menu_product_new_price_click() #点击价格 #6.1 价格:0 库存:0 spaceP.Kjlb_browseorgspace_menu_product_new_price_unitprice_sendkeys( -2, self.price1) #单价0元 spaceP.Kjlb_browseorgspace_menu_product_new_price_stock_sendkeys( -1, self.stock1) #库存0 spaceP.Kjlb_browseorgspace_menu_product_new_price_save().click( ) #点击保存 #6.2 价格:123 库存:空 spaceP.Kjlb_browseorgspace_menu_product_new_price_add_click() #+新价 spaceP.Kjlb_browseorgspace_menu_product_new_price_unitprice_sendkeys( -2, self.price2) #单价123元 spaceP.Kjlb_browseorgspace_menu_product_new_price_stock_sendkeys( -1, self.stock2) #库存空 spaceP.Kjlb_browseorgspace_menu_product_new_price_save_click( ) #点击保存 #6.3 价格:空 库存:123 spaceP.Kjlb_browseorgspace_menu_product_new_price_add_click() #+新价 spaceP.Kjlb_browseorgspace_menu_product_new_price_unitprice_sendkeys( -2, self.price3) #单价空 spaceP.Kjlb_browseorgspace_menu_product_new_price_stock_sendkeys( -1, self.stock3) #库存123 spaceP.Kjlb_browseorgspace_menu_product_new_price_save_click( ) #点击保存 #6.4 价格:999 库存:999 spaceP.Kjlb_browseorgspace_menu_product_new_price_add_click() #+新价 spaceP.Kjlb_browseorgspace_menu_product_new_price_unitprice_sendkeys( -2, self.price4) #单价999元 spaceP.Kjlb_browseorgspace_menu_product_new_price_stock_sendkeys( -1, self.stock4) #库存999 spaceP.Kjlb_browseorgspace_menu_product_new_price_save_click( ) #点击保存 spaceP.Kjlb_browseorgspace_menu_product_new_price_back_click( ) #点击返回 tools.getScreenShot(screen_path, "价格参数") #7.保存 spaceP.Kjlb_browseorgspace_menu_product_new_save_click() #点击保存 finally: tools.getScreenShot(screen_path, 'finally') #截图 logging.info("FinishCreateProduct@@!!!!!!!") #打印错误的日志
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()
def createSpace(self, driver, fullname, easyname): #创建工具类 tools = Tools(driver) #tools工具 #创建_CreateOrgSpace公有定位控件对象 space = _CreateOrgSpaceHandle(driver) #创建读取配置信息对象 cf = GlobalParam('config', 'path_file.conf') #获取截图路径、日志路径、日志名 screen_path = cf.getParam('space', "path_001") #通过配置文件获取截图的路径 sleep(2) try: #1.空间首页 space.Kjlb_click() tools.getScreenShot(screen_path, "空间首页") #2.右上角主菜单 space.Kjlb_mainmenu_click() #3.+机构空间 space.Kjlb_mainmenu_newspace_click() tools.getScreenShot(screen_path, "新建机构空间") #--------------------------新建机构空间------------------------- # 机构名称:(fullname):appium测试空间 # 机构简称:(easyname):appium测试空间 # 机构类型:企业 # 产业角色:工厂 # 客户类型:石材 # 所在地区:北京-东城 # 详细地址:不填 space.Kjlb_mainmenu_newspace_orgname_sendkeys(fullname) #全称 space.Kjlb_mainmenu_newspace_orgintro_sendkeys(easyname) #简称 space.Kjlb_mainmenu_newspace_orgtitle_click() #点击标题 space.Kjlb_mainmenu_newspace_orgtype_click() #机构类型 space.Kjlb_mainmenu_newspace_orgtype_company_click() #机构类型:企业 sleep(1) space.Kjlb_mainmenu_newspace_industry_click() #产业角色 space.Kjlb_mainmenu_newspace_industry_tag_click( self.industry) #选择工厂 space.Kjlb_mainmenu_newspace_customertype_click() #客户类型 space.Kjlb_mainmenu_newspace_customertype_tag_click( self.customertype) #客户类型标签 space.Kjlb_mainmenu_newspace_customertype_confirm_click() #点击确定 space.Kjlb_mainmenu_newspace_area_click() #所在地区 driver.find_element_by_name(self.province).click() driver.find_element_by_name(self.city).click() # space.Kjlb_mainmenu_newspace_area_address_click(self.province)#北京 # space.Kjlb_mainmenu_newspace_area_address_click(self.city)#东城 tools.getScreenShot(screen_path, "提交前截图") space.Kjlb_mainmenu_newspace_affirm_click() #点击提交 #------------------------验证对公账号------------------------------- space.Kjlb_mainmenu_newspace_verifynow_click() #点击去验证 tools.getScreenShot(screen_path, "收款账户验证") #开户银行:AAA #所在地区:北京-东城 #支行:BBB #银行账号:123456 space.Kjlb_mainmenu_newspace_verifynow_soverbank_sendkeys( self.soverbank) #开户银行 space.Kjlb_mainmenu_newspace_verifynow_soveraddress_click() #所在地区 # space.Kjlb_mainmenu_newspace_verifynow_soveraddress_list_click(self.province)#北京 # space.Kjlb_mainmenu_newspace_verifynow_soveraddress_list_click(self.city)#东城 driver.find_element_by_name(self.province).click() #北京 driver.find_element_by_name(self.city).click() #东城 space.Kjlb_mainmenu_newspace_verifynow_sovermybank_sendkeys( self.sovermybank) #支行 space.Kjlb_mainmenu_newspace_verifynow_soverbanknub_sendkeys( self.soverbanknub) #银行账户 tools.getScreenShot(screen_path, "收款账户验证信息填写") space.Kjlb_mainmenu_newspace_verifynow_soversave_click() #确定提交 tools.getScreenShot(screen_path, "订单详情页") sleep(1) space.Kjlb_mainmenu_newspace_verifynow_soversave_back_click( ) #点击返回 sleep(1) finally: tools.getScreenShot(screen_path, 'finallycreatespace') #截图 logging.info("FinishCreateSpace@@!!!!!!!") #打印错误的日志
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()