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 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@@!!!!!!!") #打印错误的日志
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 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)
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@@!!!!!!!") #打印错误的日志
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_005") #通过配置文件获取截图的路径 self.log_path = cf.getParam('space', "log") #通过配置文件获取日志的路径 self.logfile = cf.getParam('space', "logfile") #日志文件名 #创建BusinessCard对象 self.spaceBu = BusinessCard() sleep(2) #测试数据 d = DataInfo() #创建DataInfo()对象 self.spacename = d.cell("test005", 2, 7) #测试空间123
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私人空间
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 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 DeleteProduct: def __init__(self):#初始化测试数据 pass def deleteProduct(self,driver): try: #创建工具类 self.tools = Tools(driver)#tools工具 #创建_SPACEHANDLE5公有定位控件对象 self.handle = _SPACEHANDLE5(driver) #创建读取配置信息对象 self.cf = GlobalParam('config','path_file.conf') #获取截图路径、日志路径、日志名 self.screen_path = self.cf.getParam('space',"path_002")#通过配置文件获取截图的路径 sleep(1) #-----------------删除产品----------------- #1.点击菜单栏 self.handle.Kjlb_browseorgspace_menu_product_unlock_list_menu_click()#点击菜单栏 #2.点击删除 self.handle.Kjlb_browseorgspace_menu_product_unlock_list_menu_delete_click()#删除产品 except Exception as err: logging.error("Error Information DeleteProduct Inside : %s"%err) raise err
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工具 #创建_SPACEHANDLE5公有定位控件对象 handle = _SPACEHANDLE5(driver) #创建读取配置信息对象 cf = GlobalParam('config', 'path_file.conf') #获取截图路径、日志路径、日志名 screen_path = cf.getParam('space', "path_002") #通过配置文件获取截图的路径 sleep(1) #-----------------新建产品----------------- handle.Kjlb_browseorgspace_menu_product_new_click() #点击新建按钮 #1.添加照片 handle.Kjlb_browseorgspace_menu_product_new_addphoto_click( ) #点击添加照片按钮 handle.Kjlb_browseorgspace_menu_product_new_addphoto_album_click( ) #选择相册添加 handle.Kjlb_browseorgspace_menu_product_new_addphoto_album_list_click( self.photo) #选择第一张照片 handle.Kjlb_browseorgspace_menu_product_new_addphoto_album_confirm_click( ) #点击完成 sleep(4) #2.商品名称 handle.Kjlb_browseorgspace_menu_product_new_proname_click( ) #点击商品名称 handle.Kjlb_browseorgspace_menu_product_new_proname_name_sendkeys( self.proname) #输入商品名称 handle.Kjlb_browseorgspace_menu_product_new_proname_name_title_click( ) #点击顶部标题 handle.Kjlb_browseorgspace_menu_product_new_proname_bclassify_click( ) #点击分类 handle.Kjlb_browseorgspace_menu_product_new_proname_bonetag_click( self.tag1) #1级标签 handle.Kjlb_browseorgspace_menu_product_new_proname_btwotag_click( self.tag2) #2级标签 handle.Kjlb_browseorgspace_menu_product_new_proname_confirm_click( ) #点击确定按钮 handle.Kjlb_browseorgspace_menu_product_new_proname_choose_click( ) #点击勾选按钮 #3.石种属性 handle.Kjlb_browseorgspace_menu_product_new_attribute_click( ) #点击石种属性 handle.Kjlb_browseorgspace_menu_product_new_attribute_species_sendkeys( self.species) #种类名 handle.Kjlb_browseorgspace_menu_product_new_attribute_species_match_click( 0) #点击匹配出的石种名 handle.Kjlb_browseorgspace_menu_product_new_attribute_confirm_click( ) #点击勾选 #4.制品和表面 handle.Kjlb_browseorgspace_menu_product_new_attrstone_click( ) #点击制品和表面 handle.Kjlb_browseorgspace_menu_product_new_attrstone_type_click( ) #点击制品 handle.Kjlb_browseorgspace_menu_product_new_attrstone_type_list_click( self.type) #平板 handle.Kjlb_browseorgspace_menu_product_new_attrstone_surface_click( ) #点击表面 handle.Kjlb_browseorgspace_menu_product_new_attrstone_surface_list_click( self.surface) #光面 handle.Kjlb_browseorgspace_menu_product_new_attrstone_confirm_click( ) #勾选 #5.产品参数 handle.Kjlb_browseorgspace_menu_product_new_parameter_click( ) #点击产品参数 handle.Kjlb_browseorgspace_menu_product_new_parameter_key_clear( 0) #先清空参数名 handle.Kjlb_browseorgspace_menu_product_new_parameter_key_sendkeys( 0, self.key) #输入参数名 handle.Kjlb_browseorgspace_menu_product_new_parameter_value_sendkeys( 0, self.value) #输入参数值 handle.Kjlb_browseorgspace_menu_product_new_parameter_confirm_click( ) #点击勾选 #6.价格 handle.Kjlb_browseorgspace_menu_product_new_price_click() #点击价格 #6.1 价格:0 库存:0 handle.Kjlb_browseorgspace_menu_product_new_price_unitprice_sendkeys( -2, self.price1) #单价0元 handle.Kjlb_browseorgspace_menu_product_new_price_stock_sendkeys( -1, self.stock1) #库存0 handle.Kjlb_browseorgspace_menu_product_new_price_save().click( ) #点击保存 #6.2 价格:123 库存:空 handle.Kjlb_browseorgspace_menu_product_new_price_add_click() #+新价 handle.Kjlb_browseorgspace_menu_product_new_price_unitprice_sendkeys( -2, self.price2) #单价123元 handle.Kjlb_browseorgspace_menu_product_new_price_stock_sendkeys( -1, self.stock2) #库存空 handle.Kjlb_browseorgspace_menu_product_new_price_save_click( ) #点击保存 #6.3 价格:空 库存:123 handle.Kjlb_browseorgspace_menu_product_new_price_add_click() #+新价 handle.Kjlb_browseorgspace_menu_product_new_price_stock_sendkeys( -1, self.stock3) #库存123 handle.Kjlb_browseorgspace_menu_product_new_price_unitprice_sendkeys( -2, self.price3) #单价空 handle.Kjlb_browseorgspace_menu_product_new_price_save_click( ) #点击保存 #6.4 价格:999 库存:999 handle.Kjlb_browseorgspace_menu_product_new_price_add_click() #+新价 handle.Kjlb_browseorgspace_menu_product_new_price_unitprice_sendkeys( -2, self.price4) #单价999元 handle.Kjlb_browseorgspace_menu_product_new_price_stock_sendkeys( -1, self.stock4) #库存999 handle.Kjlb_browseorgspace_menu_product_new_price_save_click( ) #点击保存 handle.Kjlb_browseorgspace_menu_product_new_price_back_click( ) #点击返回 #7.保存->发布 handle.Kjlb_browseorgspace_menu_product_new_save_click() #点击保存 except Exception as err: logging.error("Error Information CreateProduct Inside : %s" % err) raise err
import sys sys.path.append( "C:\Program Files (x86)\Jenkins\workspace\jenkins_github_test1\\") from StoneUIFramework.public.common.HTMLTestRunner import HTMLTestRunner from StoneUIFramework.config.globalparam import GlobalParam from StoneUIFramework.public.common.sendmail import SendMail from StoneUIFramework.public.common.choosesuite import SuiteController from StoneUIFramework.public.common.log import Log # 控制用例跑的次数,死循环,可人工干预退出 if __name__ == '__main__': # 1.配置日志模块 cf = GlobalParam('config', 'path_file.conf') logfile = cf.getParam('log', "logfile") # 日志文件名 logger = Log(logfile) # 2.创建控制器对象 SC = SuiteController() # 2.选择测试用例 suiteA = SC.chooseSuite(22, 22, 'ALL') # 所有用例 a = 1 while a != 5: # a = a + 1 # ------------------------------测试报告模块---------------------------------- logger.info( '{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{{START:RUNCASSE1}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}}' ) cf = GlobalParam("config", "report.conf") path = cf.getParam("report", "path") logger.info('报告存储路径:{0}'.format(path))
# coding=utf-8 import time from selenium.webdriver.common.action_chains import ActionChains from selenium.webdriver.support import expected_conditions as EC from selenium.webdriver.support.ui import WebDriverWait from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium.common.exceptions import TimeoutException import logging from StoneUIFramework.public.common.log import Log from StoneUIFramework.config.globalparam import GlobalParam # 配置日志模块 cf = GlobalParam('config', 'path_file.conf') logfile = cf.getParam('log', "logfile") # 日志文件名 logger = Log(logfile) success = "SUCCESS " fail = "FAIL " class PyAppium(): # 继承page类 """ pyappium framework for the main class, the original selenium provided by the method of the two packaging, making it easier to use. """ def __init__(self, driver): self.driver = driver
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@@!!!!!!!") #打印错误的日志
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@@!!!!!!!") #打印错误的日志
#coding:utf-8 import os import smtplib import time from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from StoneUIFramework.config.globalparam import GlobalParam from public.common.log import Log from config import globalparam # 测试报告的路径 cf = GlobalParam("config", "report.conf") reportPath = cf.getParam("report", "path") #报告存储路径 logger = Log() # 配置收发件人 recvaddress = ['*****@*****.**', '*****@*****.**'] # 163的用户名和密码 sendaddr_name = '*****@*****.**' sendaddr_pswd = 'xxxxx' class SendMail: def __init__(self, recver=None): """接收邮件的人:list or tuple""" if recver is None: self.sendTo = recvaddress else: self.sendTo = recver