From e8b046c635123d368a57004f059ade86cc9ee0b7 Mon Sep 17 00:00:00 2001 From: stardustlxx <52619481@qq.com> Date: Thu, 5 Jan 2017 14:24:16 +0800 Subject: [PATCH] head&improve --- lib/common.js | 1 + lib/sales.js | 2 +- suite1.js | 8 +- testcase/goods/goods.js | 4 +- testcase/goods/goodsInc.js | 10 +- testcase/sizeHead/sizeHead.js | 209 ++++++++++++++++++++++++++++++++-- 6 files changed, 215 insertions(+), 19 deletions(-) diff --git a/lib/common.js b/lib/common.js index a4b9557..8f24751 100644 --- a/lib/common.js +++ b/lib/common.js @@ -1821,6 +1821,7 @@ function tapReturn(view1, alertButtonIndex, max) { try { // 有时候网络比较卡,点击时按钮已不可见 tapButton(view1, RETURN); + delay();//返回延迟。防止重新触发 } catch (e) { } } else { diff --git a/lib/sales.js b/lib/sales.js index 0314124..e6c8280 100644 --- a/lib/sales.js +++ b/lib/sales.js @@ -46,7 +46,7 @@ function editSalesBill(o, colorSize) { editSalesBillField1(o, "发货");// 开单模式15 editSalesBillField1(o, "日期"); editSalesBillField1(o, "入库门店"); - editSalesBillField1(o, "订货门店"); + editSalesBillField1(o, "订货门店");// 必须先输入订货门店 再输入款号 这样库存显示才正确 editSalesBillField1(o, "折扣"); editSalesBillField1(o, "配货");// 开单模式20 diff --git a/suite1.js b/suite1.js index 637224c..cecf3d8 100644 --- a/suite1.js +++ b/suite1.js @@ -15,7 +15,7 @@ // #import "/Users/dlsoft_dev_4/Documents/slh_test/suite1.js" // 总经理 function test000All() { -// colorSize = "head"; + colorSize = "head"; debug = true; // ipadVer = "7.27";// var caseName="测试用例"; @@ -27,7 +27,7 @@ function test000All() { run(caseName, "onlyTest");// } function onlyTest(){ -// UIATarget.localTarget().logElementTree(); + UIATarget.localTarget().logElementTree(); // UIATarget.localTarget().deactivateAppForDuration(10); // target.flickFromTo({ x:515, y:238 }, {x:515, y:197}) // delay(); @@ -35,8 +35,8 @@ function onlyTest(){ // var s1=getQRDet().stock; // debugObject(s1[0]); // test220110(); -// var qr=getQRDet(); - + var qr= getQRDet(getScrollView(-1)); + debugObject(qr.data[0]); // return test220111(); // target.captureScreenWithName("test"); }catch(e){ diff --git a/testcase/goods/goods.js b/testcase/goods/goods.js index 7a0bf81..be2d19c 100644 --- a/testcase/goods/goods.js +++ b/testcase/goods/goods.js @@ -2338,7 +2338,7 @@ function ts100132() { var keys = { "类别" : "登山服" }; conditionQuery(keys); tapLine(); - var arr1 = get130004QR2("名称", "中洲店", "名称"); + var arr1 = get130004QR2("名称", "文一店", "名称");// utf8 门店顺序改变 tapNaviClose(); tapMenu("货品管理", "当前库存"); @@ -2420,7 +2420,7 @@ function ts100142_143() { function ts100144() { tapMenu("货品管理", "基本设置", "价格名称"); delay(); - var alertMsgs = []; + alertMsgs = []; ts100144Field("零批价"); var ret = isInAlertMsgs("这个是全局设置中设置的默认价格") || isInAlertMsgs("第一个价格不能停用"); alertMsgs = []; diff --git a/testcase/goods/goodsInc.js b/testcase/goods/goodsInc.js index cf999ad..abca032 100644 --- a/testcase/goods/goodsInc.js +++ b/testcase/goods/goodsInc.js @@ -802,13 +802,17 @@ function getSalesBillDetTfObject() { /** * 获取开单界面起始标题下标 * @param texts + * @param order 获取顺序 asc desc * @returns {Number} */ -function getSalesBillDetTitle1Index(texts) { +function getSalesBillDetTitle1Index(texts, order) { var qrTitle1 = -1; if (isUndefined(texts)) { texts = getStaticTexts(window); } + if (isUndefined(order)) { + order = "asc"; + } var arr = [ "选", "图", "#" ]; for (var i = 0; i < arr.length; i++) { var title1 = arr[i]; @@ -1881,14 +1885,14 @@ function isEqualCounts(arr, pageInfoView, dataView, firstTitle, titleTotal) { debugObject(sum, "sum="); debugObject(qr.counts, "qr.counts="); if (!ret) { - logDebug("汇总值错误"); + logWarn("汇总值错误"); } var ret1 = true; if (isDefined(arr)) { for (i = 0; i < arr.length; i++) { if (!qr.counts.hasOwnProperty(arr[i])) { ret1 = false; - logDebug("缺少汇总值 " + arr[i]); + logWarn("缺少汇总值 " + arr[i]); } } } diff --git a/testcase/sizeHead/sizeHead.js b/testcase/sizeHead/sizeHead.js index 82bc54d..4644406 100644 --- a/testcase/sizeHead/sizeHead.js +++ b/testcase/sizeHead/sizeHead.js @@ -1,6 +1,7 @@ //LuXingXin <52619481 at qq.com> 20161209 //尺码头部 衣服尺码 S M L XL 2XL 3XL 4XL // agc001 花色 黑色 白色 S M L XL 2XL (红色 黄色 增减验证,不开单) 箱数 10 +// agc002 花色 L 库存含有小数 // agc005 花色 黑色 白色 裤子尺码 25 26 27 30 31 32 33 34(28 29用例验证灰化 不能选,需要含有8个尺码) // agc006 花色 黑色 白色 夹克 S1 S2 S3 S4 不在尺码表头中的尺码组 //002 004 @@ -93,8 +94,23 @@ function testSizeHead001_shop1() { run("【销售开单-开单】尺码表头显示库存:新增和修改界面,库存显示正确", "test220110"); run("【销售开单-开单】尺码表头显示库存:新增界面修改款号颜色,库存显示正确", "test220111"); run("【销售开单-物流核销】尺码表头显示库存:物流核销,输入特殊货品", "test220112"); + run("【销售开单-开单】尺码表头显示库存:销售开单-更多-所有挂单", "test220113"); + run("【销售开单-开单】尺码表头显示库存:销售开单-输入特殊货品,检查小票", "test220114"); + run("【销售开单-开单】尺码表头显示库存:库存有小数位", "test220115"); + run("【销售订货-按厂商报单】尺码表头显示库存,库存检查", "test220116"); + run("【销售开单-开单】尺码表头显示库存:异地发货模式/异地+代收,库存检查", "test220117"); + run("【销售开单-开单】尺码表头显示库存:异地仓库+绑定仓库,库存检查", "test220118"); + run(" 设置--开单模式2", "setPaymethod2"); + run("【采购订货-新增订货】尺码表头显示库存:总经理为其他门店做采购订货", "test220119"); + + run(" 设置销售订货发货模式--自动核销订货数", "setSales_order_deliver_mode3"); + run(" 设置销售订货发货模式--按订货开单", "setSales_order_deliver_mode1"); run(" 设置尺码表头开单模式是否显示当前库存--不显示", "setSales_show_invnum_by_sizeheadmode0"); } +// 店长004登陆验证 +function testSizeHead001_shop1_004() { + run("【采购订货-新增订货】尺码表头显示库存:非总经理为其他门店做采购订货", "test220120"); +} // 开单员005登陆验证 function testSizeHead001_shop1_005() { var colorSize = "head"; @@ -1804,9 +1820,9 @@ function checkBillStock(det1, det2, dif) { var arr1 = stock1[j]; var arr2 = stock2[j]; for ( var i in arr1) { - if (!isNaN(arr2[i]) && arr1[i] != "" && arr2[i] != "") {// 修改界面只显示输入了数量的款号库存 - var v1 = arr1[i]; - var v2 = arr2[i]; + var v1 = arr1[i]; + var v2 = arr2[i]; + if (!isNaN(v2) && v2 != null) {// 修改界面只显示输入了数量的款号库存 ok = ok && (v1 == v2); } } @@ -1839,14 +1855,26 @@ function test220110() { ret = isAnd(ret, test220110Field(menu, json, dif)); json["客户"] = "vell"; - dif = [ { "白色-L" : 15, "白色-XL" : 20 }, { "黑色-S" : 25, "黑色-M" : 30 } ]; + dif = [ { "白色-L" : -15, "白色-XL" : -20 }, { "黑色-S" : -25, "黑色-M" : -30 } ]; ret = isAnd(ret, test220110Field([ "采购入库", "新增入库+" ], json, dif)); dif = []; - menu = [ "采购订货", "新增订货+", "采购入库", "按订货入库" ] + menu = [ "采购订货", "新增订货+", "采购入库", "按订货入库" ]; ret = isAnd(ret, test220110Field(menu, json, dif)); + + json["调出人"] = 200, json["接收店"] = "常青店"; + dif = [ { "白色-L" : 15, "白色-XL" : 20 }, { "黑色-S" : 25, "黑色-M" : 30 } ]; + ret = isAnd(ret, test220110Field([ "门店调出", "批量调出+" ], json, dif)); + return ret; } +/** + * 尺码表头库存验证 + * @param menu + * @param json + * @param dif 开单前后库存变化 开单为+,入库为- 开单后+dif=开单前 + * @returns + */ function test220110Field(menu, json, dif) { tapMenu("货品管理", "当前库存"); tapButton(window, QUERY); @@ -1864,8 +1892,8 @@ function test220110Field(menu, json, dif) { tapReturn(); ret = isAnd(ret, checkBillStock(json["明细值"], det, dif)); - if (isDefined(menu[3])) { - tapMenu(menu[3], menu[4]); + if (isDefined(menu[2])) { + tapMenu(menu[2], menu[3]); query(); tapLine(); var det = getQRDet(); @@ -1903,11 +1931,174 @@ function test220112() { return !isInAlertMsgs("付款金额与待核销金额不一致"); } function test220113() { - - tapMenu2(ADDBILL); + tapMenu("销售开单", ADDBILL); tapMenu("销售开单", MORE, "所有挂单"); delay(); loadHangBill(0); + delay(); + var det = getQRDet(); + tapReturn(); + var g = det.data[0]["货品"].split(","); + + tapMenu("货品管理", "当前库存"); + var keys = { "款号名称" : g[0], "门店" : "常青店" }; + conditionQuery(keys); + var stock = getGoodCurStock(); + return isEqualObject2(stock, det.stock[0]); +} +function test220114() { + tapMenu("销售开单", ADDBILL); + var json = { + "客户" : "xw", + "备注" : "head", + "明细" : [ + { "货品" : "agc001", "颜色" : "白色", "尺码" : { "L" : 1, "XL" : 2 } }, + { "货品" : "agc001", "颜色" : "黑色", "尺码" : { "S" : 3, "M" : 4 } }, + { "货品" : "agc001", "颜色" : "花色", "尺码" : { "S" : 5, "M" : 6 } } ], + "特殊货品" : { "抹零" : 9, "打包费" : 10 } }; + editSalesBill(json, colorSize); + return json["输入框值"]["总数"] == 21; +} +function test220115() { + tapMenu("货品管理", "当前库存"); + var keys = { "款号名称" : "agc002", "门店" : "常青店" }; + conditionQuery(keys); + + var json = { "客户" : "xw", "备注" : "head", + "明细" : [ { "货品" : "agc002", "颜色" : "花色", "尺码" : { "L" : "1.2" } } ] }; + var dif = [ { "花色-L" : "1.2" } ]; + return test220110Field([ "销售开单", ADDBILL ], json, dif); +} +// 避免数据过多的影响 这里使用新货品和新厂商验证 +function test220116() { + var r = getRandomStr(5); + var keys = { "名称" : "p" + r, "适用价格" : "零批价" }; + addProvider(keys);// 新增厂商 + + tapMenu("货品管理", "新增货品+"); + keys = { "款号" : "g" + r, "名称" : "g" + r, "颜色" : "白色,花色", "尺码" : "S,M,L", + "进货价" : "100", "厂商" : "p" + r }; + addGoods(keys);// 新增货品 选择新增的厂商 + + tapMenu("销售订货", "新增订货+"); + var json = { + "客户" : "xw", + "备注" : "head", + "明细" : [ { "货品" : "g" + r, "颜色" : "花色", + "尺码" : { "S" : "10", "M" : "20" } } ] }; + editSalesBill(json, colorSize); + + tapMenu("销售订货", "按厂商报单"); + var keys = { "厂商" : r }; + conditionQuery(keys); + var qr = getQR(); + var exp = { "厂商" : "p" + r, "总数" : "30" }; + var ret = isEqualObject2(exp, qr.data[0]); + if (ret) { + tapLine(); + qr = getQRDet(); + tapReturn(); + ret = isAnd(isEqualDyadicArray(json["明细值"].data, qr.data), + qr.stock[0]["花色-S"] == 0, qr.stock[0]["花色-M"] == 0); + } + return ret; +} +function test220117() { + var qo = { "备注" : "开单模式" }; + var o = { "新值" : "15", "数值" : [ "异地发货开单模式" ] }; + setGlobalParam(qo, o); + var ret = test220117Field(); + o = { "新值" : "20", "数值" : [ "异地发货+代收" ] }; + setGlobalParam(qo, o); + ret = ret && test220117Field(); + return ret; +} +// 如果先选款号,再选门店或者选了门店再修改到其他门店 ,库存就是不会自动更新。 +function test220117Field() { + var json = { + "客户" : "xw", + "备注" : "head", + "明细" : [ + { "货品" : "agc001", "颜色" : "白色", "尺码" : { "L" : 15, "XL" : 20 } }, + { "货品" : "agc001", "颜色" : "黑色", "尺码" : { "S" : 25, "M" : 30 } } ] }; + var keys = { "款号名称" : "agc001", "门店" : "常青店" }; + var ret = true; + for (var i = 0; i < 2; i++) { + tapMenu("货品管理", "当前库存"); + conditionQuery(keys); + + var menu = [ "销售开单", ADDBILL ]; + var dif = [ { "白色-L" : 15, "白色-XL" : 20 }, { "黑色-S" : 25, "黑色-M" : 30 } ]; + ret = ret && test220110Field(menu, json, dif); + + dif = []; + menu = [ "销售订货", "新增订货+", "销售开单", "按订货开单" ]; + ret = isAnd(ret, test220110Field(menu, json, dif)); + + json["发货"] = "中洲店"; + keys["门店"] = "中洲店"; + } + return ret; +} +function test220118() { + var qo = { "备注" : "开单模式" }; + var o = { "新值" : "15", "数值" : [ "异地发货开单模式" ] }; + setGlobalParam(qo, o); + + tapMenu("货品管理", "当前库存"); + var keys = { "款号名称" : "agc001", "门店" : "文一店" }; + conditionQuery(keys); + + var json = { + "客户" : "xw", + "发货" : "仓库店",// 仓库店绑定文一店 + "备注" : "head", + "明细" : [ + { "货品" : "agc001", "颜色" : "白色", "尺码" : { "L" : 15, "XL" : 20 } }, + { "货品" : "agc001", "颜色" : "黑色", "尺码" : { "S" : 25, "M" : 30 } } ] }; + var menu = [ "销售开单", ADDBILL ]; + var dif = [ { "白色-L" : 15, "白色-XL" : 20 }, { "黑色-S" : 25, "黑色-M" : 30 } ]; + return test220110Field(menu, json, dif); +} +function test220119() { + tapMenu("货品管理", "当前库存"); + var keys = { "款号名称" : "agc001", "门店" : "中洲店" }; + conditionQuery(keys); + + var json = { + "客户" : "xw", + "订货门店" : "中洲店",// 先输入订货门店 再输入款号 + "备注" : "head", + "明细" : [ + { "货品" : "agc001", "颜色" : "白色", "尺码" : { "L" : 15, "XL" : 20 } }, + { "货品" : "agc001", "颜色" : "黑色", "尺码" : { "S" : 25, "M" : 30 } } ], + "未付" : "yes" };// 用例要求点击未付 + var menu = [ "采购订货", "新增订货+" ]; + var dif = []; + return test220110Field(menu, json, dif); +} +function test220120() { + var qo = { "备注" : "店长权限类别" }; + var o = { "新值" : "0", "数值" : [ "默认店长权限" ] }; + setGlobalParam(qo, o); + + qo = { "备注" : "采购入库->简单模式,是否支持跨门店" }; + var o = { "新值" : "1", "数值" : [ "支持" ] }; + setGlobalParam(qo, o); + return test220119(); +} +function setSales_order_deliver_mode1() { + var qo = { "备注" : " 销售订单发货模式" }; + var o = { "新值" : "1", "数值" : [ "按订货开单", "in" ] }; + return setGlobalParam(qo, o); +} +function setSales_order_deliver_mode3() { + var qo = { "备注" : " 销售订单发货模式" }; + var o = { "新值" : "3", "数值" : [ "直接开单", "in" ] }; + return setGlobalParam(qo, o); +} +function getTitle(){ + } function testEditBillSizeHead() { var colorSize = "head";