def modify_seller_memo(keyword, modify_info):
    """
    key_word:关键字,比如order_code
    modify_info = {"旗帜": "红旗", "备注": "111", "追加": True, "常用备注": "常用备注1", "维护常用卖家备注": "常用备注1,常用备注2,常用备注3"}
    """
    flag_mapping = {
        "无旗帜": "i[1]",
        "红旗": "i[2]",
        "黄旗": "i[3]",
        "绿旗": "i[4]",
        "蓝旗": "i[5]",
        "紫旗": "i[6]",
    }
    with base.wait_refresh(base.get_cell_xpath(keyword, "卖家备注")) as e:
        base.wait_element_click(base.find_xpath("修改&标记"))
        base.wait_element(base.find_xpath("修改&标记", "修改备注"))
        time.sleep(1)
        base.wait_element_click(base.find_xpath("修改&标记", "修改备注"))

        for k, v in modify_info.items():
            if k == "旗帜":
                base.wait_element(
                    base.find_xpath_by_tag_name("不修改", flag_mapping[v]))
                time.sleep(1)
                base.wait_element_click(
                    base.find_xpath_by_tag_name("不修改", flag_mapping[v]))
            elif k == "备注":
                base.wait_element(
                    base.find_xpath_by_tag_name(
                        "修改备注", "textarea")).send_keys(Keys.CONTROL + 'a')
                base.wait_element(
                    base.find_xpath_by_tag_name("修改备注",
                                                "textarea")).send_keys(v)
            elif k == "追加":
                element = base.wait_element(
                    base.find_xpath_by_inner_tag_name("是否追加备注", "input"))
                is_select = element.is_selected()
                if is_select != v:
                    base.wait_element_click(
                        base.find_xpath_by_inner_tag_name("是否追加备注", "input"))
            elif k == "常用备注":
                base.wait_element(base.find_xpath("常用卖家备注", v))
                time.sleep(1)
                base.wait_element_click(base.find_xpath("常用卖家备注", v))
            elif k == "维护常用卖家备注":
                base.wait_element_click(base.find_xpath("维护常用卖家备注"))
                base.wait_element(
                    base.find_xpath_by_placeholder(
                        "请输入常用卖家备注(逗号分隔)")).send_keys(Keys.CONTROL + 'a')
                base.wait_element(
                    base.find_xpath_by_placeholder(
                        "请输入常用卖家备注(逗号分隔)")).send_keys(v)
                base.wait_element_click(base.find_xpath("维护常用卖家备注", "确认"))
        base.wait_element_click(base.find_xpath("修改备注", "保存"))
def modify_note(keyword, modify_info):
    """
       key_word:关键字,比如order_code
       modify_info = {"便签": "111", "追加": True, "系统便签":"爆款订单", "常用便签": "常用便签1", "维护常用便签": "常用便签1:红旗,常用便签2:黄,常用便签3:蓝"}
       """
    with base.wait_refresh(base.get_cell_xpath(keyword, "便签")) as e:
        base.wait_element_click(base.find_xpath("修改&标记"))
        base.wait_element_click(base.find_xpath("修改&标记", "修改便签"))
        base.change_frame("全部订单框架", "修改订单便签")
        for k, v in modify_info.items():
            if k == "便签":
                base.wait_element(
                    base.find_xpath_by_tag_name(
                        "选择的", "textarea", True)).send_keys(Keys.CONTROL + 'a')
                base.wait_element(
                    base.find_xpath_by_tag_name("选择的", "textarea",
                                                True)).send_keys(v)
            elif k == "追加":
                element = base.wait_element(
                    base.find_xpath_by_inner_tag_name("追加便签", "input"))
                is_select = element.is_selected()
                print(f"输入的值是{v}")
                print(f"元素是否被选中{is_select}")
                print(f"是否相等{is_select == v}")
                if is_select != v:
                    base.wait_element_click(
                        base.find_xpath_by_inner_tag_name("追加便签", "input"))
            elif k == "系统便签":
                base.wait_element(base.find_xpath("系统标签", v))
                time.sleep(1)
                base.wait_element_click(base.find_xpath("系统标签", v))
            elif k == "常用便签":
                base.wait_element(base.find_xpath("常用标签", v))
                time.sleep(1)
                base.wait_element_click(base.find_xpath("常用标签", v))
            elif k == "维护常用便签":
                base.wait_element_click(base.find_xpath("维护常用便签"))
                base.wait_element(
                    base.find_xpath_by_placeholder("请输入常用便签(逗号分隔)")).send_keys(
                        Keys.CONTROL + 'a')
                base.wait_element(
                    base.find_xpath_by_placeholder("请输入常用便签(逗号分隔)")).send_keys(
                        v)
                base.wait_element_click(base.find_xpath("维护常用便签", "确认"))
        base.change_frame("全部订单框架")
        base.wait_element_click(base.find_xpath("修改订单便签", "保存"))
示例#3
0
def check_data(bin_inventory, marketability_inventory, inventory, balance, temporary_inventory, purchase_price,
               cost_price, purchase_num, sales_num, occupy_num):
    result = base.get_column_text("库位库存")
    for i in result:
        assert i == str(int(bin_inventory)), f"库位库存应该是{str(int(bin_inventory))},但实际是{i}"
    result = base.get_column_text("可销库存数")
    for i in result:
        assert i == str(int(marketability_inventory)), f"可销售库存数应该是{str(int(marketability_inventory))},但实际是{i}"
    result = base.get_column_text("库存预警值", "库存数")
    for i in result:
        assert i == str(int(inventory)), f"库存数应该是{str(int(inventory))},但实际是{i}"
    result = base.get_column_text("余额")
    for i in result:
        assert i == format(balance, '.2f'), f"余额应该是{format(balance, '.2f')},但实际是{i}"
    result = base.get_column_text("暂存位库存")
    for i in result:
        assert i == str(int(temporary_inventory)), f"暂存位库存应该是{str(int(temporary_inventory))},但实际是{i}"
    result = base.get_column_text("最新进价")
    for i in result:
        assert i == format(purchase_price, '.2f'), f"最新进价应该是{format(purchase_price, '.2f')},但实际是{i}"
    result = base.get_column_text("成本价")
    for i in result:
        assert i == format(cost_price, '.2f'), f"成本价应该是{format(cost_price, '.2f')},但实际是{i}"
    result = base.get_column_text("采购在途数")
    for i in result:
        assert i == str(int(purchase_num)), f"采购在途数应该是{str(int(purchase_num))},但实际是{i}"
    base.wait_element_click(base.find_xpath("刷新报表"))
    base.wait_element(base.find_xpath("刷新报表缓存", "确定"))
    time.sleep(1)
    base.wait_element_click(base.find_xpath("刷新报表缓存", "确定"))
    base.wait_element(base.find_xpath_by_tag_name("任务托管列表", "a"))
    time.sleep(1)
    base.wait_element_click(base.find_xpath_by_tag_name("任务托管列表", "a"))
    time.sleep(3)
    base.wait_table_refresh(base.find_xpath("组合查询"), 1, "三十天销量")
    result = base.get_column_text("三十天销量")
    for i in result:
        assert i == str(int(sales_num)), f"三十天销量应该是{str(int(sales_num))},但实际是{i}"
    result = base.get_column_text("七天销量")
    for i in result:
        assert i == str(int(sales_num)), f"七天销量应该是{str(int(sales_num))},但实际是{i}"
    result = base.get_column_text("占用数")
    for i in result:
        assert i == str(int(occupy_num)), f"占用数应该是{str(int(occupy_num))},但实际是{i}"
def test_new_order():
    base.wait_element(base.find_xpath("新增订单"))
    time.sleep(1)
    base.wait_element_click(base.find_xpath("新增订单"))
    base.wait_element_click(base.find_xpath_with_spaces("手工新增订单"))
    base.change_frame("全部订单框架", "创建新订单")
    base.wait_element_click(base.find_xpath("阿里测试店铺01"))
    base.wait_element_click(base.find_xpath("选择买家", "选择买家"))
    base.change_frame("全部订单框架", "选择买家")
    print(f"该页面单击直接勾选")
    base.wait_element(base.find_xpath("加载", "渲染"))
    base.wait_element_click(base.get_cell_xpath(1, "所属平台"))
    base.change_frame("全部订单框架")
    base.wait_element_click(base.find_xpath("选择买家", "确认选择的买家"))
    base.change_frame("全部订单框架", "创建新订单")
    base.wait_element(base.find_xpath_by_tag_name("买家留言", "input")).send_keys("买家留言")
    base.wait_element(base.find_xpath_by_tag_name("卖家备注", "input")).send_keys("卖家备注")
    base.change_frame("全部订单框架")
    base.wait_element_click(base.find_xpath("确认并创建新的订单"))
    base.wait_element(base.find_xpath("增加新的商品"))
    order_code = base.wait_element(base.get_cell_xpath(1, "订单编码")).text
    base.wait_element_click(base.find_xpath("增加新的商品"))
    base.change_frame("全部订单框架", "选择商品")
    base.chose_product_by_text("测试商品1-红色 XS,测试商品1-红色 S")
    base.change_frame("全部订单框架")
    base.wait_element_click(base.find_xpath("选择商品", "确定"))
    base.wait_element(base.get_cell_xpath(1, "订单编码"))
    time.sleep(2)
    base.wait_element_click(base.get_cell_xpath(1, "订单编码"))
    base.wait_element_click(base.get_cell_xpath(1, "订单编码", "详"))
    base.change_frame("全部订单框架", "订单详情")
    base.wait_element_click(base.find_xpath("快速支付"))
    base.wait_element(base.find_xpath("确认快速添加支付明细吗?"))
    time.sleep(1)
    base.wait_element_click(base.find_xpath("确认快速添加支付明细吗?", "确定"))
    base.wait_element(base.find_xpath("支付账号", "支付日期"))
    base.change_frame("全部订单框架")
    base.wait_element_click(base.find_xpath_by_tag_name("订单详情", "a"))
    order_status = base.wait_element(base.get_cell_xpath(1, "订单状态")).text
    assert order_status == '待审核'
def modify_warehouse_and_express(keyword, modify_info):
    """
    keyword:关键字,比如 order_code
    modify_info: {"仓库": "主仓库", "快递": "EMS",}
    """
    with base.wait_refresh(base.get_cell_xpath(keyword, "仓库")) as e:
        base.wait_element_click(base.find_xpath("修改&标记"))
        base.wait_element_click(base.find_xpath("修改&标记", "修改仓库、快递"))
        base.change_frame("全部订单框架", "修改仓库和快递")
        for k, v in modify_info.items():
            base.wait_element_click(base.find_xpath_by_tag_name(k, "input"))
            base.wait_element_click(base.find_xpath(v))
        base.change_frame("全部订单框架")
        base.wait_element_click(base.find_xpath("修改仓库和快递", "确认"))
def turn_to_exception(exception_type,
                      exception_description='',
                      normal_exceptions='常用异常1,常用异常2,常用异常3'):
    """
    exception_type:异常类型 目前仅支持常用异常,黑名单,终结,标记异常
    exception_description:异常描述,当使用常用异常时,用于指定是哪个常用异常
    normal_exceptions:用于直接覆盖常用异常枚举
    """
    base.wait_element_click(base.find_xpath("转异常"))
    base.change_frame("全部订单框架", "请输入标记异常的类型,输入相关说明")
    if exception_type == '常用异常':
        base.wait_element_click(base.find_xpath("维护常用异常"))
        base.change_frame("全部订单框架")
        base.wait_element(base.find_xpath_by_placeholder(
            "请输入常用异常(逗号分隔)")).send_keys(Keys.CONTROL + 'a')
        base.wait_element(base.find_xpath_by_placeholder(
            "请输入常用异常(逗号分隔)")).send_keys(normal_exceptions)
        base.wait_element_click(base.find_xpath("维护常用异常", "确认"))
        base.change_frame("全部订单框架", "请输入标记异常的类型,输入相关说明")
        time.sleep(1)
        base.wait_element_click(base.find_xpath("常用异常", exception_description))
    elif exception_type in ["黑名单", "终结", "标记异常"]:
        base.wait_element_click(base.find_xpath(exception_type))
        if exception_description != '':
            base.wait_element(base.find_xpath_by_tag_name(
                "异常描述:", "input")).send_keys(Keys.CONTROL + 'a')
            base.wait_element(base.find_xpath_by_tag_name(
                "异常描述:", "input")).send_keys(exception_description)
    else:
        assert 1 == 2, "请核实异常类型是否正确,目前仅支持常用异常,黑名单,终结,标记异常"
    base.change_frame("全部订单框架")
    base.wait_element_click(base.find_xpath("请输入标记异常的类型,输入相关说明", "确认"))
    if exception_type == '终结':
        base.wait_element(base.find_xpath("是否终结", "确定"))
        time.sleep(1)
        base.wait_element_click(base.find_xpath("是否终结", "确定"))
def test_multi_approve_button():
    base.wait_element(base.find_xpath("订单状态", "待审核(无备注)"))
    time.sleep(1)
    base.wait_element_click(base.find_xpath("订单状态", "待审核(无备注)"))
    base.wait_table_refresh(base.find_xpath("组合查询"), 1, "订单编码")
    order_code = base.wait_element(base.get_cell_xpath(1, "订单编码")).text
    base.wait_element(base.find_xpath_by_placeholder("模糊搜索")).send_keys(order_code)
    base.wait_element_click(base.find_xpath("批量审核"))
    base.wait_element(base.find_xpath("提示", "根据当前查询条件共查询出"))
    time.sleep(1)
    base.wait_element_click(base.find_xpath("根据当前查询条件共查询出", "确定"))
    base.change_frame("全部订单框架", "任务托管列表")
    base.wait_text_locate(base.get_cell_xpath(1, "进度条"), '100%')
    base.change_frame("全部订单框架")
    base.wait_element_click(base.find_xpath_by_tag_name("任务托管列表", "a"))
示例#8
0
def test_detail_button():
    """
    能显示字段即可,不管功能
    """
    sku_code = "测试商品1-红色 XS"
    base.scroll_to(4)
    time.sleep(1)
    base.wait_element(
        base.find_xpath_by_placeholder("商家编码")).send_keys(Keys.CONTROL + 'a')
    base.wait_element(
        base.find_xpath_by_placeholder("商家编码")).send_keys(sku_code)
    base.wait_table_refresh(base.find_xpath("组合查询"), 1, "余额")
    base.wait_element_click(base.get_cell_xpath(1, ["库存预警值", "库存数"]))
    base.wait_element_click(base.get_cell_xpath(1, ["库存预警值", "库存数"], "详"))
    base.change_frame("库存查询框架", "出入库记录页面")
    base.wait_element(base.find_xpath("调整金额"))
    base.change_frame("库存查询框架")
    time.sleep(1)
    base.wait_element_click(base.find_xpath_by_tag_name("出入库记录页面", "a"))
    base.wait_element_click(base.get_cell_xpath(1, ["余额", "占用数"]))
    base.wait_element_click(base.get_cell_xpath(1, ["余额", "占用数"], "详"))
    base.change_frame("库存查询框架", "占用记录页面")
    base.wait_element(base.find_xpath("订单单号"))
    base.change_frame("库存查询框架")
    base.wait_element(base.find_xpath_by_tag_name("占用记录页面", "a"))
    time.sleep(1)
    base.wait_element_click(base.find_xpath_by_tag_name("占用记录页面", "a"))
    time.sleep(1)
    base.wait_element_click(base.get_cell_xpath(1, "采购在途数"))
    base.wait_element_click(base.get_cell_xpath(1, "采购在途数", "详"))
    base.change_frame("库存查询框架", "在途采购单明细页面")
    base.wait_element(base.find_xpath("采购单编码"))
    base.change_frame("库存查询框架")
    base.wait_element(base.find_xpath_by_tag_name("在途采购单明细页面", "a"))
    time.sleep(1)
    base.wait_element_click(base.find_xpath_by_tag_name("在途采购单明细页面", "a"))
    base.wait_element_click(base.get_cell_xpath(1, "操作", "销售链接"))
    base.change_frame("库存查询框架", "销售链接明细")
    base.wait_element(base.find_xpath("店铺"))
    base.change_frame("库存查询框架")
    base.wait_element(base.find_xpath_by_tag_name("销售链接明细", "a"))
    time.sleep(1)
    base.wait_element_click(base.find_xpath_by_tag_name("销售链接明细", "a"))
    base.wait_element_click(base.get_cell_xpath(1, "操作", "销售订单"))
    base.change_frame("库存查询框架", "销售订单明细")
    base.wait_element(base.find_xpath("平台单号"))
def modify_address(keyword, modify_info):
    """
    key_word:关键字,比如order_code
    modify_info = {"收货地址": "江苏省南京市鼓楼区鼓楼大道1185号", "收货人名": "aaaaa", "联系电话":"BBBBBB", "联系手机": "13772839830",
     "邮政编码": "211458","核对备注","11111111111111","选择地址": "会员名,手机号,地址"}
    """
    base.scroll_to(4)
    with base.wait_refresh(base.get_cell_xpath(keyword, "地址")) as e:
        base.wait_element_click(base.find_xpath("修改&标记"))
        base.wait_element_click(base.find_xpath("修改&标记", "修改地址"))
        base.change_frame("修改地址")
        for k, v in modify_info.items():
            if k == "收货地址":
                base.wait_element(
                    base.find_xpath_by_tag_name(
                        "收货地址", "input[7]")).send_keys(Keys.CONTROL + 'a')
                base.wait_element(
                    base.find_xpath_by_tag_name("收货地址",
                                                "input[7]")).send_keys(v)
                base.wait_element(
                    base.find_xpath_by_tag_name("收货地址", "input[7]")).send_keys(
                        Keys.ENTER)
                time.sleep(1)
            elif k == "收货人名":
                base.wait_element(base.find_xpath_by_tag_name(
                    "收货人名", "input")).send_keys(Keys.CONTROL + 'a')
                base.wait_element(base.find_xpath_by_tag_name(
                    "收货人名", "input")).send_keys(v)
            elif k == "联系电话":
                base.wait_element(base.find_xpath_by_tag_name(
                    "联系电话", "input")).send_keys(Keys.CONTROL + 'a')
                base.wait_element(base.find_xpath_by_tag_name(
                    "联系电话", "input")).send_keys(v)
            elif k == "联系手机":
                base.wait_element(base.find_xpath_by_tag_name(
                    "联系手机", "input")).send_keys(Keys.CONTROL + 'a')
                base.wait_element(base.find_xpath_by_tag_name(
                    "联系手机", "input")).send_keys(v)
            elif k == "邮政编码":
                base.wait_element(base.find_xpath_by_tag_name(
                    "邮政编码", "input")).send_keys(Keys.CONTROL + 'a')
                base.wait_element(base.find_xpath_by_tag_name(
                    "邮政编码", "input")).send_keys(v)
            elif k == "选择地址":
                base.wait_element(base.find_xpath("地址", v))
                time.sleep(1)
                base.wait_element_click(base.find_xpath("地址", v))
            elif k == "核对备注":
                seller_memo = base.wait_element(
                    base.find_xpath_by_tag_name(
                        "卖家备注", "textarea")).get_attribute("value")
                print(f"{seller_memo}")
                assert seller_memo == v
        base.change_frame()
        base.wait_element_click(base.find_xpath("修改地址", "确定"))
        base.change_frame("全部订单框架")