Ejemplo n.º 1
0
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@@!!!!!!!")  #打印错误的日志
Ejemplo n.º 2
0
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()
Ejemplo n.º 3
0
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()
Ejemplo n.º 4
0
    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@@!!!!!!!")#打印错误的日志
Ejemplo n.º 5
0
    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()
Ejemplo n.º 7
0
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()
Ejemplo n.º 8
0
 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@@!!!!!!!")#打印错误的日志
Ejemplo n.º 9
0
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()
Ejemplo n.º 10
0
 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@@!!!!!!!")  #打印错误的日志
Ejemplo n.º 11
0
    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@@!!!!!!!")  #打印错误的日志
Ejemplo n.º 12
0
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()
Ejemplo n.º 13
0
    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@@!!!!!!!")  #打印错误的日志
Ejemplo n.º 14
0
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()