Commit afd9840b authored by 章 登恒's avatar 章 登恒
Browse files

commit

parent 17aca1c1
from selenium.webdriver.support.select import Select
from testcase.test_scene1.scene1_mainflow import *
SIT_URL = 'http://scdev.cmic.com.cn:8088/beta/'#SIT环境地址
......@@ -10,19 +12,189 @@ usr5,pwd5 = 'bj_05','Gyxc1234'
lendin= '103503'#借入仓库名称
lendout= '103396'#借出仓库名称
salesman = '杨春刚'#业务员名称
custname = '北京大学第三医院'#客户名称
custname = 1000486#客户名称
productcode = 10005528#商品编码
contractnumber = 'YLTEST77'#合同/协议号
errmsg11 = '流程十一:经销商要货申请_退货流程异常,请检查!'#流程异常提示信息
class DealerPurchaseRequisition():
def data_add_requisition(self):
###打开经销商要货申请单###
wait.until(ec.presence_of_element_located((By.XPATH, '//span[text()="经销商要货申请"]')))
sleep(0.5)
order_link = chrome.find_element_by_xpath('//span[text()="经销商要货申请"]')
chrome.execute_script("arguments[0].click();", order_link)
chrome.switch_to.frame(chrome.find_element_by_xpath('(//iframe[@class="metro-main-frame"])[2]'))
sleep(0.5)
# 点击新建按钮
wait.until(ec.visibility_of_element_located((By.XPATH, '//span[text()="新建"]')))
sleep(0.5)
chrome.find_element_by_xpath('//span[text()="新建"]').click()
sleep(4)
chrome.switch_to.frame(chrome.find_element_by_xpath('//iframe[contains(@name,"awsui-dialog-iframe")]'))
sleep(2)
###获取订单号###
global orderno1
wait.until(
ec.presence_of_element_located((By.XPATH, '//div[text() = "要货申请单号 "]/following-sibling::div/span')))
sleep(0.5)
orderno1 = chrome.find_element_by_xpath('//div[text() = "要货申请单号 "]/following-sibling::div/span').text
print('经销商要货申请单号为:', orderno1)
# 填写客户名称
chrome.find_element_by_xpath(
'//div[text()="客户名称 "]/following-sibling::div/div/div/div/div/div/div/div/span/span/i').click()
wait.until(ec.visibility_of_element_located((By.XPATH, '//input[@placeholder="模糊检索:客户编码,客户名称,收货地址,产品线名称,产品线编码"]')))
sleep(1)
chrome.find_element_by_xpath('//input[@placeholder="模糊检索:客户编码,客户名称,收货地址,产品线名称,产品线编码"]').send_keys(custname)
sleep(1)
chrome.find_element_by_xpath('//input[@placeholder="模糊检索:客户编码,客户名称,收货地址,产品线名称,产品线编码"]').send_keys(Keys.ENTER)
sleep(1)
btn_div = chrome.find_element_by_xpath(
'//span/input[@type="radio" and @value="0abe60e70de4a83318e9ef5148d1c9c3a"]')
chrome.execute_script("arguments[0].click();", btn_div)
chrome.find_element_by_xpath('(//button[@class="el-button el-button--primary el-button--default"])[2]').click()
sleep(1)
# 详细信息页签
chrome.find_element_by_xpath('//div[text()="详细信息"]').click()
# 点击合同/协议号并输入信息,查询出结果
wait.until(ec.visibility_of_element_located((By.XPATH,'//div[text()="合同/协议号 "]/following-sibling::div/div/div/div/div/div/div/div/span/span/i')))
sleep(0.5)
chrome.find_element_by_xpath(
'//div[text()="合同/协议号 "]/following-sibling::div/div/div/div/div/div/div/div/span/span/i').click()
sleep(1)
chrome.find_element_by_xpath(
'//input[@placeholder="模糊检索:合同协议号,合同号"]').send_keys(contractnumber)
sleep(1)
chrome.find_element_by_xpath(
'//input[@placeholder="模糊检索:合同协议号,合同号"]').send_keys(Keys.ENTER)
sleep(1)
# chrome.find_element_by_xpath(
# '//div[@class="multiple-header string_col" and text()="38443"]/ancestor-or-self::td/preceding-sibling::td/div/label/span/span').click()
# 勾选查询出的合同号并点击确定按钮
btn_div = chrome.find_element_by_xpath(
'//span/input[@type="radio" and @value="0407e6f21ad3dabbb9beb9425e1b6cd87"]')
chrome.execute_script("arguments[0].click();", btn_div)
sleep(1)
chrome.find_element_by_xpath('(//button[@class="el-button el-button--primary el-button--default"])[2]').click()
sleep(1)
# 点击业务员名称并输入查询条件,查询出结果
chrome.find_element_by_xpath(
'//div[text()="业务员名称 "]/following-sibling::div/div/div/div/div/div/div/div/span/span/i').click()
sleep(1)
chrome.find_element_by_xpath(
'//input[@placeholder="模糊检索:业务员名称,业务员编码,业务部门名称,部门编码,部门类型编码"]').send_keys(salesman)
sleep(1)
chrome.find_element_by_xpath(
'//input[@placeholder="模糊检索:业务员名称,业务员编码,业务部门名称,部门编码,部门类型编码"]').send_keys(Keys.ENTER)
sleep(1)
# 勾选查询出的业务员并点击确定按钮
btn_div = chrome.find_element_by_xpath(
'//span/input[@type="radio" and @value="0f5e829fc0c62946bbcea9f7f403a814a"]')
chrome.execute_script("arguments[0].click();", btn_div)
sleep(1)
chrome.find_element_by_xpath('(//span[@class="ensureBtn"]/button[1])[3]').click()
sleep(1)
###子表信息录入###
chrome.find_element_by_xpath('//div[text()="主体信息"]').click()
sleep(1)
# 点击添加商品并输入商品编码,查询出结果
chrome.find_element_by_xpath('//span[text()="添加商品(外部)"]').click()
sleep(1)
chrome.find_element_by_xpath('//input[@placeholder="模糊检索:商品编码,商品名称,规格型号,销售计量单位,厂家物料编码,存储条件,存储条件说明"]').send_keys(productcode)
sleep(0.5)
chrome.find_element_by_xpath('//input[@placeholder="模糊检索:商品编码,商品名称,规格型号,销售计量单位,厂家物料编码,存储条件,存储条件说明"]').send_keys(Keys.ENTER)
sleep(2)
# 勾选查询出的商品并点击确定按钮
chrome.find_element_by_xpath(
'//th[@class="el-table_15_column_146 multiple-column el-table-column--selection is-leaf headerCellClassName el-table__cell"]/div/label/span/span').click()
sleep(0.5)
chrome.find_element_by_xpath('(//div[@class="el-dialog__body"]/div[2]/span/button[1]/span)[4]').click()
sleep(3)
###填写数量价格###
for i in range(1):
wait.until(ec.visibility_of_element_located(
(By.XPATH, '(//td[@colid="col_93" and @f="F_QUANTITY_ORD" and @i=%s])' % i)))
# 定位数量框并输入数量
sleep(0.5)
element = chrome.find_element_by_xpath('(//td[@colid="col_93" and @f="F_QUANTITY_ORD" and @i=%s])' % i)
chrome.execute_script("arguments[0].click();", element)
sleep(1)
chrome.find_element_by_class_name('awsui-input-number-right').send_keys('1')
sleep(1)
# 点击其它地方让数量框失焦,让数量真正填入数量框(平台设计如此,不用纠结为啥要此步)
chrome.find_element_by_xpath('(//td[@colid="col_96" and @f="F_SALE_UNIT_TXT" and @i=%s])' % i).click()
sleep(1)
def return_jyhtorder(self): # 返回采购单号
return orderno1
class DivisionPurchase():
def divisionpurchase(self):
#打开分配经销商要货菜单
order_link = chrome.find_element_by_xpath('//span[text()="分配经销商要货"]')
chrome.execute_script("arguments[0].click();", order_link)
sleep(2)
chrome.switch_to.frame(chrome.find_element_by_xpath('(//iframe[@class="metro-main-frame"])[2]'))
sleep(1)
chrome.switch_to.frame(chrome.find_element_by_xpath('//iframe[contains(@name,"awsui-dialog-iframe")]'))
sleep(0.5)
#选择需分配经销商
s1 = Select(chrome.find_element_by_id('purchasingCoOptSelect'))
s1.select_by_index(0)
sleep(1)
#选择订单
chrome.find_element_by_xpath('//span[text()="%s"]' % orderno1).click()
sleep(2)
#重置配货
chrome.find_element_by_xpath('//button[text()="重置配货"]').click()
sleep(1)
#选择仓库
s2 = Select(chrome.find_element_by_id('warehouseSelect'))
s2.select_by_value('103356')
sleep(0.5)
#自动填充配货
chrome.find_element_by_xpath('//button[text()="自动填充"]').click()
sleep(0.5)
wait.until_not(ec.presence_of_element_located((By.XPATH,'//div[@class="layui-layer layui-layer-loading"]')))
sleep(0.5)
chrome.find_element_by_xpath('//button[text()="提交"]').click()
wait.until(ec.visibility_of_element_located((By.XPATH,'//a[text()="确定"]')))
sleep(0.5)
chrome.find_element_by_xpath('//a[text()="确定"]').click()
wait.until(ec.visibility_of_element_located((By.XPATH,'//div[text()="提交成功"]')))
print('分配经销商要货成功')
ARRIVAL_TEMP = 24 #到货温度
ARRIVAL_DATE = '2023-10-01'#到货日期
ARRIVAL_TIME = '00:00:00'#到货时间
STASHIP_TEMP = 24 #启运温度
STASHIP_DATE = '2023-11-01' #启运日期
STASHIP_TIME = '00:00:00'#启运时间
TRANS_MACHINE = '冷冻车'#运输工具
surgicaldate = '2023-11-30'#手术日期
contractnumber = 40536#合同号
errmsg11 = '流程十一:经销商要货申请_退货流程异常,请检查!'#流程异常提示信息
\ No newline at end of file
if __name__ == '__main__':
step1 = LoginSys()
step2_1 = DealerPurchaseRequisition()
step2_2 = PurchaseOrder()
step3 = DivisionPurchase()
step1.loginsys(SIT_URL, usr2, pwd2)
step2_1.data_add_requisition()
jyhtorder = step2_1.return_jyhtorder()
step2_2.button_click1()
print('经销商要货申请提交成功')
step2_2.switch_loggin(usr1,pwd1)
step2_2.query_click('经销商要货申请',jyhtorder,'vxe-body--column col_20 col--center col--ellipsis dw-click-cell','要货申请单号')
step2_2.button_click2()
step2_2.switch_loggin(usr2,pwd2)
step3.divisionpurchase()
step2_2.closetab()
step2_2.query_click('销售订单',jyhtorder,'vxe-body--column col_19 col--center col--ellipsis dw-click-cell','要货申请订单号')
chrome.find_element_by_xpath('//span[text()="提交"]').click();sleep(1)
chrome.find_element_by_xpath('//span[text()="确定"][1]').click()
wait.until(ec.presence_of_element_located((By.XPATH,'//p[text()="办理成功"]')))
\ No newline at end of file
......@@ -229,6 +229,6 @@ if __name__ == '__main__':
traceback.print_exc()
step6.handle(errmsg3,e)
# finally:
# chrome.quit()
finally:
chrome.quit()
......@@ -86,8 +86,8 @@ class SurgicalOrder():
sleep(1)
#客户信息页签
#填写客户名称
chrome.find_element_by_xpath('//div[text()="客户信息"]').click()
#填写客户名称
chrome.find_element_by_xpath('//div[text()="客户名称 "]/following-sibling::div/div/div/div/div/div/div/div/span/span/i').click()
wait.until(ec.visibility_of_element_located((By.XPATH,'//input[@placeholder="模糊检索:客户编码,客户名称"]')))
sleep(1)
......@@ -652,9 +652,9 @@ class SurgicalLendingSale(PurchaseOrder):
# 提交
chrome.find_element_by_xpath('//span[text()="提交"]').click()
wait.until(ec.visibility_of_element_located((By.XPATH,'(//span[text()="确定"])[22]')))
sleep(1)
chrome.find_element_by_xpath('(//span[text()="确定"])[22]').click()
# wait.until(ec.visibility_of_element_located((By.XPATH,'(//span[text()="确定"])[22]')))
# sleep(1)
# chrome.find_element_by_xpath('(//span[text()="确定"])[22]').click()
wait.until(ec.presence_of_element_located((By.XPATH,'//p[text()="办理成功"]')))
PurchaseOrder.closetab(self)
print('手术借出转销售单提交成功')
......
......@@ -4,6 +4,8 @@ def test_scene6_mainflow2():
print('\n流程六:手术请领-销售流程开始!!!')
# step1 = LoginSys()
# step1.loginsys(SIT_URL, usr2, pwd2)
step2_1 = SurgicalOrder()
step2_2 = PurchaseOrder()
step3 = SurgicalDispensing()
......@@ -14,7 +16,6 @@ def test_scene6_mainflow2():
step7_1 = Instore1()
step7_2 = Instore()
step8 = SurgicalLendingSale()
# step1.loginsys(SIT_URL, usr2, pwd2)
step2_2.switch_loggin(usr2,pwd2)
step2_1.data_add_surgical()
step2_2.button_click1()
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment