Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
test
autotest-airtest-web-sc
Commits
afd9840b
Commit
afd9840b
authored
Nov 08, 2023
by
章 登恒
Browse files
commit
parent
17aca1c1
Changes
4
Hide whitespace changes
Inline
Side-by-side
testcase/test_scene11/scene11_mainflow.py
View file @
afd9840b
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
testcase/test_scene3/scene3_mainflow.py
View file @
afd9840b
...
...
@@ -229,6 +229,6 @@ if __name__ == '__main__':
traceback
.
print_exc
()
step6
.
handle
(
errmsg3
,
e
)
#
finally:
#
chrome.quit()
finally
:
chrome
.
quit
()
testcase/test_scene6/scene6_mainflow.py
View file @
afd9840b
...
...
@@ -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
(
'手术借出转销售单提交成功'
)
...
...
testcase/test_scene6/test_scene6_mainflow2.py
View file @
afd9840b
...
...
@@ -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
()
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment