def test_add_queue(self): #添加队列701-同时振铃## """添加队列701-同时振铃""" self.login_admin_with_cookie() queue_page = queuePage.queuePage(self.dr) datas = datainfo.get_xls_to_dict('data_info.xlsx', 'queue_data')[0] cnt = queue_page.add_queue(str(datas['queueno']).split('.')[0]) self.assertEqual(cnt, 1)
def test_create_vpool(self,login_domain): dr = login_domain vdc_a = vdcaction.VdcACction(dr) vdc_pg = vdcPage.VdcPage(dr) p_data = datainfo.get_xls_to_dict("vdc_vpool.xlsx", "vpool")["创建vpool"] time.sleep(globalparam.middle) vdc_a.create_vpool( p_data["vdcname"], p_data["vpoolname"], "虚拟资源", "数据中心", "DC1", p_data["vpooldesc"]) vdc_pg.open_vdc_page() time.sleep(globalparam.small) vdc_pg.search_vdc(p_data["vdcname"]) time.sleep(globalparam.small) vdc_pg.click_az_buttun() time.sleep(globalparam.small) vdc_pg.search_vpool(p_data["vpoolname"]) # 校验能查询到 add_image(dr,"创建VPOOL") text = dr.get_text("xpath->//td") assert p_data["vpoolname"] in text
def test_add_exten(self): #添加分机## """添加分机""" self.login_admin_with_cookie() exten_page = extenPage.ExtenPage(self.dr) datas = datainfo.get_xls_to_dict('data_info.xlsx', 'exten_data')[0] cnt = exten_page.add_exten( str(datas['extenname']).split('.')[0], str(datas['password']).split('.')[0]) self.assertEqual(cnt, 1)
def test_user_add(self):#添加用户## """添加用户""" self.login_with_cookie() user_page=userPage.UserPage(self.dr) datas = datainfo.get_xls_to_dict('data_info.xlsx','user_data') for data in datas: l=user_page.add_user(str(data['work_no']).split('.')[0],data['work_name'],data['username']) self.assertEqual(l[0]+1,l[1]) self.dr.wait(5) sleep(3)
def test_add_trunk(self): #添加中继-外部注册## """添加中继-外部注册""" self.login_admin_with_cookie() trunk_page = trunkPage.TrunkPage(self.dr) datas = datainfo.get_xls_to_dict('data_info.xlsx', 'trunk_data')[0] cnt = trunk_page.add_trunk(datas['name'], str(datas['trunkname']).split('.')[0], datas['zone'], str(datas['max_chans']).split('.')[0], datas["sip_ip"]) self.assertEqual(cnt, 1)
def test_create_lw_contract(self, login_admin): dr = login_admin t_data = datainfo.get_xls_to_dict("contract.xlsx", "Sheet1")["劳务采购合同"] ua = expendContractAction.CreateExpendContractAction(dr) ua.create_expend_lw_contract(str(t_data["purchase_type"]), str(t_data["project"]), str(t_data["contract_officer"]), str(t_data["supplier"]), str(t_data["main_content"]), str(t_data["contract_explain"]), str(t_data["payment_type"]), str(t_data["compress_zip"]))
def test_delete_project(self, login_domain): dr = login_domain p_data = datainfo.get_xls_to_dict("projectdata.xlsx", "Sheet1")["创建项目"] ppg = auth_project_page.AuthProjectPage(dr) pac = projectaction.PojectAction(dr) pac.delete_project(p_data["projectname"]) ppg.open_authproject() ppg.input_and_search_project(p_data["projectname"]) sleep(1) dr.wait(5) add_image(dr, "删除项目") flag = dr.element_exist("xpath->//td") assert flag is False
def test_delete_user(self,login_admin): dr = login_admin datas = datainfo.get_xls_to_dict("user.xlsx", "Sheet1")["创建域管理员"] upage = sysUorgMgrPage.SysUorgMgrPage(dr) ua = useraction.UserAction(dr) ua.delete_user(datas["username"]) upage.input_select_user(datas["username"]) dr.wait(5) add_image(dr,"移除域管理员") flag = dr.element_exist( "xpath->//span[contains(.,'%s')]" % datas["username"]) assert flag is flag, "用户删除成功,请查看日志"
def test_delete_tenant_user(self,login_domain): dr = login_domain data1s = datainfo.get_xls_to_dict("user.xlsx", "authuser")["创建运营部门用户"] aupg = authUserPage.AuthUsertPage(dr) ta = useraction.UserAction(dr) ta.delete_tenant_user(data1s["username"]) aupg.open_authuser() aupg.input_select_user(data1s["username"]) dr.wait(5) add_image(dr,"删除运营部门下的用户") flag = dr.element_exist("xpath->//td") assert flag is False
def test_delete_region(self,login_domain): dr = login_domain p_data = datainfo.get_xls_to_dict("res_node_data.xlsx", "region")["创建资源节点"] arn = resnodeaction.Add_Res_Node(dr) srmpg = sys_regionMgrPage.SysRegionMgrPage(dr) arn.delete_res_node(p_data["regionname"], p_data["nodename"]) # 搜索项目 add_image(dr,"删除资源节点") srmpg.open_sys_regionMgr_page() flag = dr.element_exist( "xpath->//a[contains(text(),'%s')]" % p_data["nodename"]) assert flag is False
def test_static_login(self): #静态登录-用户名密码正确## """静态登录-用户名密码正确""" self.login_page = loginPage.LoginPage(self.dr) datas = datainfo.get_xls_to_dict('data_info.xlsx', 'login_data') print(datas) self.login_page.static_login( str(datas[1]['username']).split('.')[0], str(datas[1]['password']).split('.')[0]) sleep(2) # self.cookies=self.dr.origin_driver.get_cookies() # with open(globalparam.cookie_path,'w') as f: # f.write(str(self.cookies)) self.assertIn('集时通讯智能版', self.login_page.return_title())
def test_delete_vdc(self, login_domain): dr = login_domain vdc_a = vdcaction.VdcACction(dr) vdc_pg = vdcPage.VdcPage(dr) p_data = datainfo.get_xls_to_dict("vdc_vpool.xlsx", "vdc")["创建vdc"] vdc_a.delete_vdc(p_data["vdcname"]) vdc_pg.open_vdc_page() time.sleep(globalparam.small) vdc_pg.search_vdc(p_data["vdcname"]) # # 校验能查询到 dr.wait(5) add_image(dr, "删除VDC") flag = dr.element_exist("xpath->//td") assert flag is False
def test_delete_service_openstack(self, login_domain): dr = login_domain self.arn = resnodeaction.Add_Res_Node(dr) self.srmpg = sys_regionMgrPage.SysRegionMgrPage(dr) p_data = datainfo.get_xls_to_dict("res_node_data.xlsx", "openstackapi")["创建service-keystone"] self.arn.delete_service(p_data["regionname"], p_data["nodename"], p_data["servicename"]) self.srmpg.open_sys_regionMgr_page() dr.wait(5) add_image(dr, "删除openstack服务") flag = dr.element_exist("xpath->(//a[contains(text(),'%s')])" % p_data["servicename"]) assert flag is False
def test_allocation_domain_admin(self,login_admin): dr = login_admin datas = datainfo.get_xls_to_dict("user.xlsx", "Sheet1")["创建域管理员"] upage = sysUorgMgrPage.SysUorgMgrPage(dr) ua = useraction.UserAction(dr) ua.allocation_domain_administrator(datas["mgrname"], datas["username"]) # 校验已分配域管理角色 upage.open_uorgmgrpage() upage.input_select_user(datas["username"]) sleep(2) character = dr.get_text( "css->.ng-scope:nth-child(4) > .wordBreak") add_image(dr,"域添加域管理员") assert character == "1"
def test_create_service_openstack(self, login_domain): dr = login_domain self.arn = resnodeaction.Add_Res_Node(dr) self.srmpg = sys_regionMgrPage.SysRegionMgrPage(dr) p_data = datainfo.get_xls_to_dict("res_node_data.xlsx", "openstackapi")["创建service-keystone"] self.arn.add_resource_service_node_vmware( p_data["regionname"], p_data["nodename"], p_data["servicename"], p_data["servicetype"], p_data["username"], p_data["passwrd"]) # 校验 self.srmpg.open_sys_regionMgr_page() add_image(dr, "创建opentack服务") flag = dr.element_exist("xpath->(//a[contains(text(),'%s')])" % p_data["servicename"]) assert flag
def test_vmware_endpoint(self, login_domain): """ 测试添加vmware,endpoint 依赖已添加vmware服务 :return: """ dr = login_domain self.arn = resnodeaction.Add_Res_Node(dr) self.srmpg = sys_regionMgrPage.SysRegionMgrPage(dr) p_data = datainfo.get_xls_to_dict("res_node_data.xlsx", "endpoint")["创建vmware-endpoint"] self.arn.add_endpoint(p_data["regionname"], p_data["nodename"], p_data["servicename"], p_data["url"]) time.sleep(globalparam.tiny) add_image(dr, "VMware创建endpoint") text = dr.get_text("xpath->//table[@id='accessPoint']/tbody/tr[2]") assert p_data["url"] in text
def test_create_project(self, login_admin): dr = login_admin p_data = datainfo.get_xls_to_dict("projectdata.xlsx", "Sheet1")["创建项目"] ppg = auth_project_page.AuthProjectPage(dr) pac = projectaction.PojectAction(dr) pac.create_project(p_data["tenantname"], p_data["projectname"], p_data["projectdesc"]) ppg.open_authproject() ppg.input_and_search_project(p_data["projectname"]) dr.wait(5) add_image(dr, "创建项目") text = dr.get_text( "xpath->//div[@class='box-body']/table-component/div/table/tbody") # 搜索项目 assert p_data["projectname"] in text, "%s不在预期结果%s中" % ( p_data["projectname"], text) assert p_data["tenantname"] in text, "%s不在预期结果%s中" % ( p_data["tenantname"], text)
def test_create_zc_apply(self, login_admin): dr = login_admin dj_data = { 'casename': '合同定价', 'applytype': '1.2', 'project': '21010004' } t_data = datainfo.get_xls_to_dict("planapply.xlsx", "Sheet1")["主材采购申请"] ua = planapplyaction.CreatePlanApplyAction(dr) ua.create_apply(str(t_data["applytype"]), str(t_data["project"]), str(t_data["goodnum1"]), str(t_data["goodnum2"])) dj = ContractPricingAction.ContractPricingAction(dr) dj.create_pricing(str(dj_data["applytype"]), str(dj_data["project"])) # flag = dr.element_exist('xpath-> //span[text()="已审核"]') # assert flag add_image(dr, "主材采购申请")
def test_delete_tenant(self, login_admin): dr = login_admin t_data = datainfo.get_xls_to_dict("tenantdata.xlsx", "Sheet1")["创建运营部门"] tpg = auth_tenant_page.AuthTenantPage(dr) ta = tenantaction.TenantAction(dr) try: ta.remove_post(t_data["tenantname"]) except BaseException: self.logger.error("移除用户失败,请确认是否该岗位未关联用户") ta.delete_tenant(t_data["tenantname"]) tpg.open_authtenant() # 搜索运营部门 tpg.input_secrch_tenant(t_data["tenantname"]) time.sleep(2) add_image(dr, "删除运营部门") flag = dr.element_exist("id->card") assert flag is False
def test_delete_openstack_endpoint(self, login_domain): """ 测试删除openstack,endpoint :return: """ dr = login_domain self.arn = resnodeaction.Add_Res_Node(dr) self.srmpg = sys_regionMgrPage.SysRegionMgrPage(dr) p_data = datainfo.get_xls_to_dict("res_node_data.xlsx", "endpoint")["创建os-l-endpoint"] self.arn.delete_endpoint(p_data["regionname"], p_data["nodename"], p_data["servicename"]) time.sleep(globalparam.small) dr.wait(5) add_image(dr, "openstack删除endpoint") flag = dr.element_exist( "xpath->//table[@id='accessPoint']/tbody/tr[2]") assert flag is False
def test_create_user(self,login_admin): dr = login_admin datas = datainfo.get_xls_to_dict("user.xlsx", "Sheet1")["创建域管理员"] upage = sysUorgMgrPage.SysUorgMgrPage(dr) ua = useraction.UserAction(dr) ua.create_user( datas["mgrname"], datas["username"], datas["firstname"], datas["password"], datas["repassword"], datas["email"]) # upage.input_select_user(datas["username"]) # 查看用户,进行校验 upage.input_select_user(datas["username"]) add_image(dr, "创建用户") assert dr.element_exist( "xpath->//span[contains(.,'%s')]" % datas["username"])
def test_create_region(self, login_domain): dr = login_domain p_data = datainfo.get_xls_to_dict("res_node_data.xlsx", "region")["创建资源节点"] arn = resnodeaction.Add_Res_Node(dr) srmpg = sys_regionMgrPage.SysRegionMgrPage(dr) arn.add_res_node(p_data["regionname"], p_data["nodename"], business_type=p_data["business_type"], platform=p_data["platform"], virtual_type=p_data["virtual_type"], regDesc=p_data["regDesc"]) srmpg.open_sys_regionMgr_page() time.sleep(globalparam.small) dr.wait(5) add_image(dr, "创建资源节点") flag = dr.element_exist("xpath->//a[contains(text(),'%s')]" % p_data["nodename"]) assert flag, "未查询到资源节点%s" % p_data["nodename"]
def test_create_authuser(self, login_domain): dr = login_domain data1s = datainfo.get_xls_to_dict("user.xlsx", "authuser")["创建运营部门用户"] aupg = authUserPage.AuthUsertPage(dr) ta = useraction.UserAction(dr) ta.create_tenant_user(data1s["tenantname"], data1s["username"], data1s["firstname"], data1s["password"], data1s["repassword"], data1s["email"]) aupg.open_authuser() aupg.input_select_user(data1s["username"]) dr.wait(5) add_image(dr, "创建运营部门下的用户") text = dr.get_text( "xpath->//div[@class='box-body']/table-component/div/table/tbody") assert data1s["username"] in text, "%s不在预期结果%s中" % (data1s["username"], text) assert data1s["firstname"] in text, "%s不在预期结果%s中" % ( data1s["firstname"], text) assert data1s["email"] in text, "%s不在预期结果%s中" % (data1s["email"], text)
def test_create(self, login_domain): dr = login_domain t_data = datainfo.get_xls_to_dict("tenantdata.xlsx", "Sheet1")["创建运营部门"] tpg = auth_tenant_page.AuthTenantPage(dr) ta = tenantaction.TenantAction(dr) ta.create_tenant(t_data["tenantname"], t_data["linkmanname"], t_data["linkmanphoneno"]) tpg.open_authtenant() # 搜索运营部门 time.sleep(2) tpg.input_secrch_tenant(t_data["tenantname"]) time.sleep(globalparam.small) a = dr.get_text("id->card") add_image(dr, "创建运营部门") assert t_data["tenantname"] in a, "%s不在预期结果%s中" % ( t_data["tenantname"], a) assert t_data["linkmanname"] in a, "%s不在预期结果%s中" % ( t_data["linkmanname"], a) assert t_data["linkmanphoneno"] in a, "%s不在预期结果%s中" % ( t_data["linkmanphoneno"], a)
def test_sync_phy_res(self,login_domain): dr = login_domain p_data = datainfo.get_xls_to_dict("phy_sync_data.xlsx", "Sheet1")["物理资源同步"] sync_a = ressyncaction.ResSync(dr) sync_pg = resSyncPage.ResSyncPage(dr) sync_a.phy_res_sync( p_data["regionname"], p_data["nodename"], "DC1", "DC2") time.sleep(20) sync_pg.click_refresh_button() status1 = dr.get_text( "xpath->//td[contains(.,'DC1')]/../td[3]").strip() count1 = 0 while status1 == "执行中": time.sleep(10) sync_pg.click_refresh_button() status1 = dr.get_text( "xpath->//td[contains(.,'DC1')]/../td[3]").strip() count1 += 1 if count1 == 10: break add_image(dr,"同步物理资源-DC1") assert status1 == "执行成功" status2 = dr.get_text( "xpath->//td[contains(.,'DC2')]/../td[3]").strip() count2 = 0 while status2 == "执行中": time.sleep(globalparam.long) sync_pg.click_refresh_button() status2 = dr.get_text( "xpath->//td[contains(.,'DC1')]/../td[3]").strip() count2 += 1 if count2 == 10: break add_image(dr,"同步物理资源-DC2") assert status2 == "执行成功"
def test_openstack_endpoint(self,login_domain): """ 测试添加openstack,endpoint 依赖已添加openstack服务 :return: """ dr = login_domain self.arn = resnodeaction.Add_Res_Node(dr) self.srmpg = sys_regionMgrPage.SysRegionMgrPage(dr) p_data = datainfo.get_xls_to_dict( "res_node_data.xlsx", "endpoint")["创建os-l-endpoint"] self.arn.add_endpoint( p_data["regionname"], p_data["nodename"], p_data["servicename"], p_data["url"]) time.sleep(0.5) dr.wait(5) add_image(dr,"openstack创建endpoint") text = dr.get_text( "xpath->//table[@id='accessPoint']/tbody/tr[2]") assert p_data["url"] in text
def test_create_zc_contract(self, login_admin): dr = login_admin # t_data = {'casename': '主材采购合同', # 'pricing_type': '1.0', # 'project': '21010004', # 'contract_officer': '测试甲方', # 'supplier': 'SUP-20201016-0001', # 'pricing_id': 'HTDJ-20210310-0004', # 'main_content': '010002', # 'contract_explain': '合同说明', # 'payment_type': '付款方式', # 'compress_zip': r'C:\Users\admin\Desktop\应收.txt' # } t_data = datainfo.get_xls_to_dict("contract.xlsx", "Sheet1")["主材采购合同"] ua = expendContractAction.CreateExpendContractAction(dr) ua.create_expend_contract(str(t_data["pricing_type"]), str(t_data["project"]), str(t_data["contract_officer"]), str(t_data["supplier"]), str(t_data["main_content"]), str(t_data["contract_explain"]), str(t_data["payment_type"]), str(t_data["compress_zip"]))
# @Time : 2020/2/25 16:25 # @Author : mrwuzs # @Email : [email protected] # @File : test_13_product_manage.py # @Software: PyCharm import pytest from public.common.publicfunction import * from public.common import datainfo from config import globalparam from public.appmodel import folderaction from config import globalparam CASE_DATA = datainfo.get_xls_to_dict("flolderdata.xlsx","产品管理") @allure.feature("产品分类") class TestProductMange(): @allure.story("创建产品-云主机") @pytest.mark.flaky(reruns=globalparam.RENUM) @pytest.mark.dependency(depends=["test_create_prodcate_cloudhost"]) def test_create_product_cloud_host(self,login_domain): self.dr = login_domain self.pra = folderaction.ProductManageAction(self.dr) data = CASE_DATA["创建产品-云主机"] time.sleep(globalparam.middle) self.pra.create_product(productclass=data["productclass"], platform=data["platform"], resourcetype=data["resourcetype"], productname=data["productname"],
# @Software: PyCharm """ conftest.py 全局变量,主要实现以下功能: 1、添加命令行参数broswer, 用于切换不用浏览器 2、全局参数driver调用 """ import time import pytest from public.common import pyselenium from public.common import datainfo from public.appmodel import loginaction from config import globalparam from public.common import log domain_data = datainfo.get_xls_to_dict("user.xlsx", "Sheet1")["创建域管理员"] user_data = datainfo.get_xls_to_dict("user.xlsx", "authuser")['创建运营部门用户'] log = log.Log() @pytest.fixture(scope="session") def driver(request): global driver '''只打开浏览器和关闭浏览器''' log.info("打开浏览器") driver = pyselenium.PySelenium(globalparam.browser) driver.max_window() # 最大化 def end(): log.info("用例全部执行完毕,关闭浏览器") time.sleep(globalparam.small)