class OMS(AbTemplate):
    # file_name = os.path.basename(__file__).replace(".pyc", "_case").replace(".py", "_case")
    # case_info = file_name.split("_", 1)
    # case_id = case_info[0]
    # case_name = case_info[1]
    # testcaseinfo = testcaseinfo.TestCaseInfo(case_id, case_name, "功能测试")
    # logger = noteLog.Loggger(case_name)
    # testcaseinfo.setLogPath(logger.rel_file)

    # page info
    order_manage_page = ordermanage.orderManagePage()
    order_detail_page = orderdetail.OrderDetail()

    @retrying.retry(retry_on_exception=retry_if_timeout_exception,
                    stop_max_attempt_number=2)
    def test_case(self):
        self.util_init(__file__)
        self.testcaseinfo.starttime = time.strftime("%Y-%m-%d %H:%M:%S")
        if self.flag > 1:
            self.setUp()
        try:

            self.open_order()

            self.step = "click order id"
            self.logger.info(self.step, 10)
            self.wait_clickable(self.order_manage_page.new_order_link)
            self.click(self.order_manage_page.new_order_link)
            self.switch_handel()

            self.step = "click delete"
            self.logger.info(self.step)
            self.wait_clickable(self.order_detail_page.delete_button)
            self.click(self.order_detail_page.delete_button)

            self.step = "accept alert"
            self.logger.info(self.step, 0)
            self.wait_alert()
            self.accept_alert()

            self.step = "match dialog info"
            self.logger.info(self.step)
            self.wait_visable(self.order_detail_page.dialog_info)
            self.assertEqual(
                self.get_text_Infor(self.order_detail_page.dialog_info),
                "删除成功", "提示信息不匹配")

            self.testcaseinfo.result = "Pass"

            pass
        except TimeoutException:
            self.timeout_method()
        except Exception as err:
            self.exception_method(err)
        finally:
            self.finally_method()
class OMS(AbTemplate):
    # sometimes run the file name is file.py sometimes is file.pyc so we need replace by this way
    # file_name = os.path.basename(__file__).replace(".pyc", "_case").replace(".py", "_case")
    # case_info = file_name.split("_", 1)
    # case_id = case_info[0]
    # case_name = case_info[1]
    # testcaseinfo = testcaseinfo.TestCaseInfo(case_id, case_name, "功能测试")
    # logger = noteLog.Loggger(case_name)
    # testcaseinfo.setLogPath(logger.rel_file)

    order_id_value = ""
    # page info
    order_manage_page = ordermanage.orderManagePage()
    order_detail_page = orderdetail.OrderDetail()

    @retrying.retry(retry_on_exception=retry_if_timeout_exception,
                    stop_max_attempt_number=2)
    def test_case(self):
        self.util_init(__file__)
        self.testcaseinfo.starttime = time.strftime("%Y-%m-%d %H:%M:%S")
        if self.flag > 1:
            self.setUp()
        try:
            self.open_order()

            self.step = "match is open"
            self.logger.info(self.step)
            if self.find_element(self.order_manage_page.delete_order_link):
                self.testcaseinfo.result = "Pass"
            else:
                raise Exception("下单失败")

            self.step = "save order id"
            self.logger.info(self.step)
            self.order_id_value = self.get_text_Infor(
                self.order_manage_page.new_order_link)
            pass
        except TimeoutException:
            self.timeout_method()
        except Exception as err:
            self.exception_method(err)
        finally:
            try:
                self.logger.info("删除订单为下次测试准备")
                self.convert_to_url(
                    urldata.URLData().get_order_detail_page_url() + "?id=" +
                    self.order_id_value)
                self.wait_clickable(self.order_detail_page.delete_button)
                self.click(self.order_detail_page.delete_button)
                self.wait_alert()
                self.accept_alert()

            finally:
                self.finally_method()
class OMS(AbTemplate):
    # sometimes run the file name is file.py sometimes is file.pyc so we need replace by this way
    # file_name = os.path.basename(__file__).replace(".pyc", "_case").replace(".py", "_case")
    # case_info = file_name.split("_", 1)
    # case_id = case_info[0]
    # case_name = case_info[1]
    # testcaseinfo = testcaseinfo.TestCaseInfo(case_id, case_name, "功能测试")
    # logger = noteLog.Loggger(case_name)
    # testcaseinfo.setLogPath(logger.rel_file)
    # convertFormat = formatconvert.FormatConvert()

    # case info
    pay_date = str(time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))
    supplement_money_value = "10.00"
    pay_method_value = "现金"
    customer_name = "loki"
    customer_account = "zdhtest"
    order_id_value = ""

    # page info
    order_manage_page = ordermanage.orderManagePage()
    order_detail_page = orderdetail.OrderDetail()

    @retrying.retry(retry_on_exception=retry_if_timeout_exception, stop_max_attempt_number=2)
    def test_case(self):
        self.util_init(__file__)
        self.testcaseinfo.starttime = time.strftime("%Y-%m-%d %H:%M:%S")
        if self.flag > 1:
            self.setUp()
        try:
            self.open_order()

            self.step = "match is open"
            self.logger.info(self.step)
            if self.find_element(self.order_manage_page.delete_order_link):
                pass
            else:
                raise Exception("下单失败")

            self.step = "save order id"
            self.logger.info(self.step)
            self.order_id_value = self.get_text_Infor(self.order_manage_page.new_order_link)

            self.step = "click order id"
            self.logger.info(self.step)
            self.click(self.order_manage_page.new_order_link)
            self.switch_handel()

            self.step = "inter into order detail page"
            self.logger.info(self.step)
            self.wait_visable(self.order_detail_page.payed_price)
            self.previous_price = self.get_text_Infor(self.order_detail_page.payed_price)
            self.should_price = str(float(self.previous_price) + float(self.supplement_money_value))

            self.step = "click button  named update Order"
            self.logger.info(self.step)
            self.enter(self.order_detail_page.update_order_btn)

            self.step = "click edit"
            self.logger.info(self.step)
            self.wait_clickable(self.order_detail_page.modify_price_button)
            self.click(self.order_detail_page.modify_price_button)

            self.step = "fill pay date"
            self.logger.info(self.step)
            self.wait_visable(self.order_detail_page.pay_date_select)
            self.fill(self.order_detail_page.pay_date_select, self.pay_date)

            self.step = "autocreate pay id"
            self.logger.info(self.step)
            self.click(self.order_detail_page.autocreate_button)

            self.step = "fill pay price"
            self.logger.info(self.step)
            self.fill(self.order_detail_page.pay_price_text_box, self.supplement_money_value)

            self.step = "select pay method"
            self.logger.info(self.step)
            self.Select(self.order_detail_page.pay_method, self.pay_method_value)

            self.step = "fill customer name"
            self.logger.info(self.step)
            self.fill(self.order_detail_page.customer_name, self.customer_name)

            self.step = "fill customer account"
            self.logger.info(self.step)
            self.fill(self.order_detail_page.customer_account, self.customer_account)

            self.step = "click confirm pay"
            self.logger.info(self.step)
            self.click(self.order_detail_page.pay_confirm_button)

            self.step = "click confrim update"
            self.logger.info(self.step)
            self.wait_a_certain_time(10)
            self.click(self.order_detail_page.confirm_update_order_btn)

            self.step = "meet the alert message and accept it"
            self.logger.info(self.step)
            self.wait_alert()
            self.accept_alert()
            self.wait_a_certain_time(10)

            self.step = "match pay price"
            self.now_price = self.get_text_Infor(self.order_detail_page.payed_price)
            self.assertEqual(self.format_convert.StringToFloat(self.now_price),
                             self.format_convert.StringToFloat(self.should_price), "修改后应该得到的金额不匹配")
            self.testcaseinfo.result = "Pass"
            pass
        except TimeoutException:
            self.timeout_method()
        except Exception as err:
            self.exception_method(err)
        finally:
            try:
                self.logger.info("删除订单为下次测试准备")
                self.convert_to_url(urldata.URLData().get_order_detail_page_url() + "?id=" + self.order_id_value)
                self.wait_clickable(self.order_detail_page.delete_button)
                self.click(self.order_detail_page.delete_button)
                self.wait_alert()
                self.accept_alert()

            finally:
                self.finally_method()
class OMS(AbTemplate):
    # file_name = os.path.basename(__file__).replace(".pyc", "_case").replace(".py", "_case")
    # case_info = file_name.split("_", 1)
    # case_id = case_info[0]
    # case_name = case_info[1]
    # testcaseinfo = testcaseinfo.TestCaseInfo(case_id, case_name, "功能测试")
    # logger = noteLog.Loggger(case_name)
    # testcaseinfo.setLogPath(logger.rel_file)

    # case info
    order_value = "1030081501328730"
    saler_value = "Loki"
    pay_date = str(
        time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time())))
    supplement_money_value = -10
    pay_method_value = "支付宝"
    customer_name = "loki"
    customer_account = "zdhtest"

    # page info
    order_manage_page = ordermanage.orderManagePage()
    order_detail_page = orderdetail.OrderDetail()

    @retrying.retry(retry_on_exception=retry_if_timeout_exception,
                    stop_max_attempt_number=2)
    def test_case(self):
        self.util_init(__file__)
        self.testcaseinfo.starttime = time.strftime("%Y-%m-%d %H:%M:%S")
        if self.flag > 1:
            self.setUp()
        try:
            self.step = "convert to order manage page"
            self.logger.info(self.step)
            self.convert_URL = urldata.URLData().get_order_manage_page_url()
            self.convert_to_url(self.convert_URL)
            self.wait_url_to_be(self.convert_URL)

            self.step = "fill order"
            self.logger.info(self.step)
            self.wait_visable(self.order_manage_page.order_id_box)
            self.fill(self.order_manage_page.order_id_box, self.order_value)

            self.step = "click query"
            self.logger.info(self.step)
            self.click(self.order_manage_page.query_button)

            self.step = "click order link"
            self.logger.info(self.step)
            self.wait_clickable(self.order_manage_page.new_order_link)
            self.click(self.order_manage_page.new_order_link)
            self.switch_handel()

            self.step = "click button  named update Order"
            self.logger.info(self.step)
            self.wait_clickable(self.order_detail_page.update_order_btn)
            self.enter(self.order_detail_page.update_order_btn)

            self.step = "click edit"
            self.logger.info(self.step)
            self.wait_clickable(self.order_detail_page.modify_price_button)
            self.click(self.order_detail_page.modify_price_button)

            self.step = "fill pay date"
            self.logger.info(self.step)
            self.wait_visable(self.order_detail_page.pay_date_select)
            self.fill(self.order_detail_page.pay_date_select, self.pay_date)

            self.step = "autocreate pay id"
            self.logger.info(self.step)
            self.click(self.order_detail_page.autocreate_button)

            self.step = "fill pay price"
            self.logger.info(self.step)
            self.fill(self.order_detail_page.pay_price_text_box,
                      self.supplement_money_value)

            self.step = "select pay method"
            self.logger.info(self.step)
            self.Select(self.order_detail_page.pay_method,
                        self.pay_method_value)

            self.step = "fill customer name"
            self.logger.info(self.step)
            self.fill(self.order_detail_page.customer_name, self.customer_name)

            self.step = "fill customer account"
            self.logger.info(self.step)
            self.fill(self.order_detail_page.customer_account,
                      self.customer_account)

            self.step = "click confirm pay"
            self.logger.info(self.step)
            self.click(self.order_detail_page.pay_confirm_button)

            self.step = "match alert info"
            self.logger.info(self.step)
            self.assertEqual(
                self.get_text_Infor(self.order_detail_page.error_info),
                "参数不正确(2)!", "错误信息未提示")

            self.testcaseinfo.result = "Pass"

            pass
        except TimeoutException:
            self.timeout_method()
        except Exception as err:
            self.exception_method(err)
        finally:
            self.finally_method()
class OMS(AbTemplate):
    # file_name = os.path.basename(__file__).replace(".pyc", "_case").replace(".py", "_case")
    # case_info = file_name.split("_", 1)
    # case_id = case_info[0]
    # case_name = case_info[1]
    # testcaseinfo = testcaseinfo.TestCaseInfo(case_id, case_name, "功能测试")
    # logger = noteLog.Loggger(case_name)
    # testcaseinfo.setLogPath(logger.rel_file)

    # case info
    phone_value = "13810345799"

    # page info
    user_manage_page = usermanage.UserManagePage()
    user_detail_page = userdetail.UserDetailPage()

    order_detail_page = orderdetail.OrderDetail()
    contract_detail_page = contractdetail.ContactDetailPage()
    stationunit_detail_page = stationunitdetail.StationunitDetailPage()
    pay_detail_page = paydetail.PayDetailPage()
    promote_detail_page = promotedetail.PromoteDetailPage()

    @skip("js scroll screen always error pause this case for now")
    @retrying.retry(retry_on_exception=retry_if_timeout_exception, stop_max_attempt_number=2)
    def test_case(self):
        self.util_init(__file__)
        self.testcaseinfo.starttime = time.strftime("%Y-%m-%d %H:%M:%S")
        if self.flag > 1:
            self.setUp()
        try:
            # print self.case_name
            self.step = "convert to user manage page"
            self.logger.info(self.step)
            self.convert_URL = urldata.URLData().get_user_manage_page_url()
            self.convert_to_url(self.convert_URL)
            self.wait_url_to_be(self.convert_URL)

            self.step = "input phone"
            self.logger.info(self.step)
            self.wait_visable(self.user_manage_page.phone_text_box)
            self.fill(self.user_manage_page.phone_text_box, self.phone_value)

            self.step = "click query"
            self.logger.info(self.step)
            self.click(self.user_manage_page.query_user_button)

            self.step = "click username"
            self.logger.info(self.step)
            self.wait_clickable(self.user_manage_page.user_username)
            self.click(self.user_manage_page.user_username)
            self.switch_handel()

            self.step = "screen scroll"
            self.logger.info(self.step)
            js = "document.getElementsByClassName('list_details historyOrderBox')[0].scrollIntoView(true)"
            self.driver.execute_script(js)

            self.step = "click history order's order link"
            self.logger.info(self.step)
            self.wait_clickable(self.user_detail_page.history_order_order)
            self.click(self.user_detail_page.history_order_order)

            self.step = "match order page theme"
            self.logger.info(self.step)
            self.wait_visable(self.order_detail_page.order_detail_theme)
            self.assertEqual("订单详情", self.get_text_Infor(self.order_detail_page.order_detail_theme), "订单链接不匹配")
            self.back()

            self.step = "screen scroll"
            self.logger.info(self.step)
            js = "document.getElementsByClassName('list_details historyOrderBox')[0].scrollIntoView(true)"
            self.driver.execute_script(js)

            self.step = "click history order's unit link"
            self.logger.info(self.step)
            self.wait_clickable(self.user_detail_page.history_order_unit)
            self.click(self.user_detail_page.history_order_unit)
            self.switch_handel()

            self.step = "match unit page theme"
            self.logger.info(self.step)
            self.wait_visable(self.stationunit_detail_page.unit_detail_theme)
            self.assertEqual("仓位详情", self.get_text_Infor(self.stationunit_detail_page.unit_detail_theme), "仓位链接不匹配")
            self.driver.back()

            self.step = "screen scroll"
            self.logger.info(self.step)
            js = "document.getElementsByClassName('list_details historyOrderBox')[0].scrollIntoView(true)"
            self.driver.execute_script(js)

            self.step = "click history order's contract link"
            self.logger.info(self.step)
            self.wait_clickable(self.user_detail_page.history_order_contract)
            self.click(self.user_detail_page.history_order_contract)
            self.switch_handel()

            self.step = "match contract page theme"
            self.logger.info(self.step)
            self.wait_visable(self.contract_detail_page.contact_detail_theme)
            self.assertEqual("合同详情", self.get_text_Infor(self.contract_detail_page.contact_detail_theme), "合同链接")
            self.driver.back()

            self.step = "screen scroll"
            self.logger.info(self.step)
            js = "document.getElementsByClassName('list_details historyOrderBox')[0].scrollIntoView(true)"
            self.driver.execute_script(js)

            self.step = "click history order's payid link"
            self.logger.info(self.step)
            self.wait_clickable(self.user_detail_page.history_order_payid)
            self.click(self.user_detail_page.history_order_payid)
            self.switch_handel()

            self.step = "match payid page theme"
            self.logger.info(self.step)
            self.wait_visable(self.pay_detail_page.pay_detail_theme)
            self.assertEqual("支付信息", self.get_text_Infor(self.pay_detail_page.pay_detail_theme), "支付链接不匹配")
            self.driver.back()

            self.step = "screen scroll"
            self.logger.info(self.step)
            js = "document.getElementsByClassName('list_details historyOrderBox')[0].scrollIntoView(true)"
            self.driver.execute_script(js)

            self.step = "click history order's promote link"
            self.logger.info(self.step)
            self.wait_clickable(self.user_detail_page.history_order_promote)
            self.click(self.user_detail_page.history_order_promote)
            self.switch_handel()

            self.step = "match promote page theme"
            self.logger.info(self.step)
            self.wait_visable(self.promote_detail_page.promote_detail_theme)
            self.assertEqual("优惠券详情", self.get_text_Infor(self.promote_detail_page.promote_detail_theme), "优惠券链接不匹配")
            self.driver.back()

            self.testcaseinfo.result = "Pass"
            pass
        except TimeoutException:
            self.timeout_method()
        except Exception as err:
            self.exception_method(err)
        finally:
            self.finally_method()
class OMS(AbTemplate):
    # sometimes run the file name is file.py sometimes is file.pyc so we need replace by this way
    # file_name = os.path.basename(__file__).replace(".pyc", "").replace(".py", "_case")
    # case_info = file_name.split("_", 1)
    # case_id = case_info[0]
    # case_name = case_info[1]
    # testcaseinfo = testcaseinfo.TestCaseInfo(case_id, case_name, "功能测试")
    # logger = noteLog.Loggger(case_name)
    # testcaseinfo.setLogPath(logger.rel_file)

    # case info

    company_value = "新海汇"
    area_value = "北京市"
    unit_type_value = "迷你仓"
    station_value = "双井国贸"
    unit_value = "双井 A1"
    order_type_value = "续仓"
    order_statu_value = "完成"
    pay_method_value = "微信"
    order_id_value = "1007082102089340"
    start_date_value = "2019-07-20"
    end_date_value = "2019-08-23"

    # page info
    order_manage_page = ordermanage.orderManagePage()
    order_detail_page = orderdetail.OrderDetail()
    unit_detail_page = stationunitdetail.StationunitDetailPage()
    pay_detail_page = paydetail.PayDetailPage()
    contact_detail_page = contractdetail.ContactDetailPage()
    user_detail_page = userdetail.UserDetailPage()

    @retrying.retry(retry_on_exception=retry_if_timeout_exception,
                    stop_max_attempt_number=2)
    def test_case_by(self):
        self.util_init(__file__)
        self.testcaseinfo.name = self.case_name + "_by"
        self.testcaseinfo.starttime = time.strftime("%Y-%m-%d %H:%M:%S")
        if self.flag > 1:
            self.setUp()
        try:
            self.step = "convert to order manage page"
            self.logger.info(self.step)
            self.convert_URL = urldata.URLData().get_order_manage_page_url()
            self.convert_to_url(self.convert_URL)
            self.wait_url_to_be(self.convert_URL)

            self.step = "select company"
            self.logger.info(self.step)
            self.wait_visable(self.order_manage_page.company_select)
            self.Select(self.order_manage_page.company_select,
                        self.company_value)

            self.step = "select area"
            self.logger.info(self.step)
            self.Select(self.order_manage_page.area_select, self.area_value)

            self.step = "select unit type"
            self.logger.info(self.step)
            self.Select(self.order_manage_page.unit_type_select,
                        self.unit_type_value)

            self.step = "select station"
            self.logger.info(self.step)
            self.Select(self.order_manage_page.manage_station_select,
                        self.station_value)

            self.step = "fill unit"
            self.logger.info(self.step)
            self.fill(self.order_manage_page.unit_box, self.unit_value)

            self.step = "select order type"
            self.logger.info(self.step)
            self.Select(self.order_manage_page.order_type_select,
                        self.order_type_value)

            self.step = "select order statu"
            self.logger.info(self.step)
            self.Select(self.order_manage_page.order_statu_select,
                        self.order_statu_value)

            self.step = "select pay method"
            self.logger.info(self.step)
            self.Select(self.order_manage_page.pay_method_select,
                        self.pay_method_value)

            self.step = "fill start date time"
            self.logger.info(self.step)
            self.clear(self.order_manage_page.manage_start_time)
            self.fill(self.order_manage_page.manage_start_time,
                      self.start_date_value)

            self.step = "fill end date time"
            self.logger.info(self.step)
            self.clear(self.order_manage_page.manage_end_time)
            self.fill(self.order_manage_page.manage_end_time,
                      self.end_date_value)

            self.step = "fill order value"
            self.logger.info(self.step)
            self.fill(self.order_manage_page.order_id_box, self.order_id_value)

            self.step = "click query"
            self.logger.info(self.step)
            self.click(self.order_manage_page.query_button)

            self.step = "match order id"
            self.logger.info(self.step, 10)
            self.assertEqual(
                self.get_text_Infor(self.order_manage_page.orider_link),
                self.order_id_value, "查询结果订单号不匹配")

            self.step = "match unit type"
            self.logger.info(self.step)
            self.assertEqual(
                self.get_text_Infor(self.order_manage_page.unit_type_info),
                self.order_type_value, "订单类型不匹配")

            self.step = "click order link"
            self.logger.info(self.step)
            self.wait_clickable(self.order_manage_page.orider_link)
            self.click(self.order_manage_page.orider_link)
            self.switch_handel()

            self.step = "match order link"
            self.logger.info(self.step)
            self.wait_visable(self.order_detail_page.order_detail_theme)
            now_theme = self.get_text_Infor(
                self.order_detail_page.order_detail_theme)
            self.assertEquals(now_theme, "订单详情", "订单链接跳转不匹配")
            self.driver.close()
            self.switch_handel()

            self.step = "click unit link"
            self.logger.info(self.step)
            self.wait_clickable(self.order_manage_page.unit_link)
            self.click(self.order_manage_page.unit_link)
            self.switch_handel()

            self.step = "match unit link"
            self.logger.info(self.step)
            self.wait_visable(self.unit_detail_page.unit_detail_theme)
            now_theme = self.get_text_Infor(
                self.unit_detail_page.unit_detail_theme)
            self.assertEquals(now_theme, "仓位详情", "仓位链接跳转不匹配")
            self.driver.close()
            self.switch_handel()

            self.step = "click user link"
            self.logger.info(self.step)
            self.wait_clickable(self.order_manage_page.user_link)
            self.click(self.order_manage_page.user_link)
            self.switch_handel()

            self.step = "match user link"
            self.logger.info(self.step)
            self.wait_visable(self.user_detail_page.user_detail_theme)
            now_theme = self.get_text_Infor(
                self.user_detail_page.user_detail_theme)
            self.assertEquals(now_theme, "用户详情", "用户链接跳转不匹配")
            self.driver.close()
            self.switch_handel()

            self.step = "click contract link"
            self.logger.info(self.step)
            self.wait_clickable(self.order_manage_page.contract_link)
            self.click(self.order_manage_page.contract_link)
            self.switch_handel()

            self.step = "match contract link"
            self.logger.info(self.step)
            self.wait_visable(self.contact_detail_page.contact_detail_theme)
            now_theme = self.get_text_Infor(
                self.contact_detail_page.contact_detail_theme)
            self.assertEquals("合同详情", now_theme, "合同链接跳转不匹配")
            self.driver.close()
            self.switch_handel()

            self.step = "click pay link"
            self.logger.info(self.step)
            self.wait_clickable(self.order_manage_page.payment_link)
            self.click(self.order_manage_page.payment_link)
            self.switch_handel()

            self.step = "match pay link"
            self.logger.info(self.step)
            self.wait_visable(self.pay_detail_page.pay_detail_theme)
            now_theme = self.get_text_Infor(
                self.pay_detail_page.pay_detail_theme)
            self.assertEquals("支付信息", now_theme, "支付链接跳转不匹配")
            self.driver.close()
            self.switch_handel()

            self.testcaseinfo.result = "Pass"
            pass
        except TimeoutException:
            self.timeout_method()
        except Exception as err:
            self.exception_method(err)
        finally:
            self.finally_method()

    @retrying.retry(retry_on_exception=retry_if_timeout_exception,
                    stop_max_attempt_number=2)
    def test_case_all(self):
        self.util_init(__file__)
        self.testcaseinfo.name = self.case_name + "_all"
        self.testcaseinfo.starttime = time.strftime("%Y-%m-%d %H:%M:%S")
        if self.flag > 1:
            self.setUp()
        try:
            self.step = "convert to order manage page"
            self.logger.info(self.step)
            self.convert_URL = urldata.URLData().get_order_manage_page_url()
            self.convert_to_url(self.convert_URL)
            self.wait_url_to_be(self.convert_URL)

            self.step = "select company"
            self.logger.info(self.step)
            self.wait_clickable(self.order_manage_page.query_button)
            self.Select(self.order_manage_page.company_select,
                        self.company_value)

            self.step = "click query"
            self.logger.info(self.step)
            self.click(self.order_manage_page.query_button)

            self.step = "match result"
            self.logger.info(self.step, 10)
            if not self.find_element(self.order_manage_page.user_phone_info):
                raise Exception("not find result")

            self.testcaseinfo.result = "Pass"

        except TimeoutException:
            self.timeout_method()
        except Exception as err:
            self.exception_method(err)
        finally:
            self.finally_method()
示例#7
0
class OMS(AbTemplate):
    # sometimes run the file name is file.py sometimes is file.pyc so we need replace by this way
    # file_name = os.path.basename(__file__).replace(".pyc", "_case").replace(".py", "_case")
    # case_info = file_name.split("_", 1)
    # case_id = case_info[0]
    # case_name = case_info[1]
    # testcaseinfo = testcaseinfo.TestCaseInfo(case_id, case_name, "功能测试")
    # logger = noteLog.Loggger(case_name)
    # testcaseinfo.setLogPath(logger.rel_file)

    # case info
    pay_date = "2018-07-02 10:15:07"
    order_id_value = "1020070201081070"

    # page info
    order_page = orderdetail.OrderDetail()
    order_manage_Page = ordermanage.orderManagePage()
    payment_Page = paymentpage.payPage()

    @retrying.retry(retry_on_exception=retry_if_timeout_exception,
                    stop_max_attempt_number=2)
    def test_case(self):
        self.util_init(__file__)
        self.testcaseinfo.starttime = time.strftime("%Y-%m-%d %H:%M:%S")
        if self.flag > 1:
            self.setUp()
        try:
            self.step = "convert to admin index page"
            self.convert_URL = urldata.URLData().get_admin_index_url()
            self.convert_to_url(self.convert_URL)
            self.wait_url_to_be(self.convert_URL)

            self.step = "click manage item"
            self.logger.info(self.step)
            self.wait_visable(self.index_page.manageLocator)
            self.click(self.index_page.manageLocator)

            self.step = "click order manage item"
            self.logger.info(self.step)
            self.wait_visable(self.index_page.orderMangement)
            self.click(self.index_page.orderMangement)

            self.step = "fill order"
            self.logger.info(self.step)
            self.wait_visable(self.order_manage_Page.order_id_box)
            self.fill(self.order_manage_Page.order_id_box, self.order_id_value)

            self.step = "fill start time"
            self.logger.info(self.step)
            self.clear(self.order_manage_Page.manage_start_time)
            self.fill(self.order_manage_Page.manage_start_time, self.pay_date)

            self.step = "click query"
            self.logger.info(self.step)
            self.wait_clickable(self.order_manage_Page.query_button)
            self.click(self.order_manage_Page.query_button)

            self.step = "click and convert to order detail page"
            self.logger.info(self.step)
            self.wait_visable(
                self.order_manage_Page.get_order_link_locator(
                    self.order_id_value))
            self.click(
                self.order_manage_Page.get_order_link_locator(
                    self.order_id_value))
            self.switch_handel()

            self.step = "get the payment content"
            self.logger.info(self.step)
            k = len(self.find_elements(self.payment_Page.pay_num_link))
            if k == 0:
                raise Exception("pay num link is 0")
            self.testcaseinfo.result = "Pass"

            pass
        except TimeoutException:
            self.timeout_method()
        except Exception as err:
            self.exception_method(err)
        finally:
            self.finally_method()
class OMS(AbTemplate):
    # sometimes run the file name is file.py sometimes is file.pyc so we need replace by this way
    # file_name = os.path.basename(__file__).replace(".pyc", "_case").replace(".py", "_case")
    # case_info = file_name.split("_", 1)
    # case_id = case_info[0]
    # case_name = case_info[1]
    # testcaseinfo = testcaseinfo.TestCaseInfo(case_id, case_name, "功能测试")
    # logger = noteLog.Loggger(case_name)
    # testcaseinfo.setLogPath(logger.rel_file)

    order_id_value = ""
    age_value = "1998"
    reason_value = "其他"
    other_reason_value = "自动化测试"
    source_addition_value = "自动化测试"
    source_value = "朋友推荐"
    stuff_value = "其他"
    other_stuff_value = "自动化测试"
    zone_value = "小区内"

    # page info
    order_manage_page = ordermanage.orderManagePage()
    order_detail_page = orderdetail.OrderDetail()

    @retrying.retry(retry_on_exception=retry_if_timeout_exception, stop_max_attempt_number=2)
    def test_case(self):
        self.util_init(__file__)
        self.testcaseinfo.starttime = time.strftime("%Y-%m-%d %H:%M:%S")
        if self.flag > 1:
            self.setUp()
        try:
            self.open_order()

            self.step = "match is open"
            self.logger.info(self.step)
            if self.find_element(self.order_manage_page.delete_order_link):
                pass
            else:
                raise Exception("下单失败")

            self.step = "save order id"
            self.logger.info(self.step)
            self.order_id_value = self.get_text_Infor(self.order_manage_page.new_order_link)

            self.step = "click order id"
            self.logger.info(self.step)
            self.click(self.order_manage_page.new_order_link)
            self.switch_handel()

            self.step = "click extra info button"
            self.logger.info(self.step)
            self.wait_clickable(self.order_detail_page.extra_info_button)
            self.click(self.order_detail_page.extra_info_button)

            self.step = "click person radio"
            self.logger.info(self.step, 5)
            self.click(self.order_detail_page.person_radio)

            self.step = "click male"
            self.logger.info(self.step)
            self.click(self.order_detail_page.gender_radio)

            self.step = "fill age"
            self.logger.info(self.step)
            self.fill(self.order_detail_page.age_box, self.age_value)

            self.step = "click no marry"
            self.logger.info(self.step)
            self.click(self.order_detail_page.marry_radio)

            self.step = "click land"
            self.logger.info(self.step)
            self.click(self.order_detail_page.land_radio)

            self.step = "click used"
            self.logger.info(self.step)
            self.click(self.order_detail_page.used_radio)

            self.step = "click < 1km"
            self.logger.info(self.step)
            self.click(self.order_detail_page.distance_radio)

            self.step = "select reason"
            self.logger.info(self.step)
            self.Select(self.order_detail_page.reason_select, self.reason_value)

            self.step = "fill other reason"
            self.logger.info(self.step)
            self.fill(self.order_detail_page.other_reason_box, self.other_reason_value)

            self.step = "select source"
            self.logger.info(self.step)
            self.Select(self.order_detail_page.source_select, self.source_value)

            self.step = "add source box"
            self.logger.info(self.step)
            self.fill(self.order_detail_page.source_box, self.source_addition_value)

            self.step = "select stuff"
            self.logger.info(self.step)
            self.Select(self.order_detail_page.stuff_select, self.stuff_value)

            self.step = "fill other stuff"
            self.logger.info(self.step)
            self.fill(self.order_detail_page.other_stuff_box, self.other_stuff_value)

            self.step = "select visit method"
            self.logger.info(self.step)
            self.click(self.order_detail_page.visit_combox)

            self.step = "click zone"
            self.logger.info(self.step)
            self.click(self.order_detail_page.zone_radio)

            self.step = "click confirm"
            self.logger.info(self.step)
            self.click(self.order_detail_page.extra_confirm_button)
            self.wait_a_certain_time(10)

            self.step = "match info"
            self.logger.info(self.step)
            if self.find_element(self.order_detail_page.extra_info_statu).text == "已填信息":
                self.testcaseinfo.result = "Pass"
            pass
        except TimeoutException:
            self.timeout_method()
        except Exception as err:
            self.exception_method(err)
        finally:
            try:
                self.logger.info("删除订单为下次测试准备")
                self.convert_to_url(urldata.URLData().get_order_detail_page_url() + "?id=" + self.order_id_value)
                self.wait_clickable(self.order_detail_page.delete_button)
                self.click(self.order_detail_page.delete_button)
                self.wait_alert()
                self.accept_alert()

            finally:
                self.finally_method()
class OMS(AbTemplate):
    # file_name = os.path.basename(__file__).replace(".pyc", "_case").replace(".py", "_case")
    # case_info = file_name.split("_", 1)
    # case_id = case_info[0]
    # case_name = case_info[1]
    # testcaseinfo = testcaseinfo.TestCaseInfo(case_id, case_name, "功能测试")
    # logger = noteLog.Loggger(case_name)
    # testcaseinfo.setLogPath(logger.rel_file)

    # case info
    phone_value = "15611805853"

    # page info
    user_manage_page = usermanage.UserManagePage()
    user_detail_page = userdetail.UserDetailPage()
    order_detail_page = orderdetail.OrderDetail()
    contract_detail_page = contractdetail.ContactDetailPage()
    stationunit_detail_page = stationunitdetail.StationunitDetailPage()

    @retrying.retry(retry_on_exception=retry_if_timeout_exception,
                    stop_max_attempt_number=2)
    def test_case(self):
        self.util_init(__file__)
        self.testcaseinfo.starttime = time.strftime("%Y-%m-%d %H:%M:%S")
        if self.flag > 1:
            self.setUp()
        try:
            # print self.case_name
            self.step = "convert to user manage page"
            self.logger.info(self.step)
            self.convert_URL = urldata.URLData().get_user_manage_page_url()
            self.convert_to_url(self.convert_URL)
            self.wait_url_to_be(self.convert_URL)

            self.step = "input phone"
            self.logger.info(self.step)
            self.wait_visable(self.user_manage_page.phone_text_box)
            self.fill(self.user_manage_page.phone_text_box, self.phone_value)

            self.step = "click query"
            self.logger.info(self.step)
            self.click(self.user_manage_page.query_user_button)

            self.step = "click username"
            self.logger.info(self.step)
            self.wait_clickable(self.user_manage_page.user_username)
            self.click(self.user_manage_page.user_username)
            self.switch_handel()

            self.step = "click contract history's contract link"
            self.logger.info(self.step)
            self.wait_clickable(
                self.user_detail_page.contract_history_contract)
            self.click(self.user_detail_page.contract_history_contract)

            self.step = "match contract page theme"
            self.logger.info(self.step)
            self.wait_visable(self.contract_detail_page.contact_detail_theme)
            self.assertEqual(
                "合同详情",
                self.get_text_Infor(
                    self.contract_detail_page.contact_detail_theme), "合同链接不匹配")
            self.driver.back()

            self.step = "click contract history's order link"
            self.logger.info(self.step)
            # target=self.find_element(self.user_detail_page.contract_history_order)
            # self.driver.execute_script("arguments[0].scrollIntoView();",target)
            self.wait_clickable(self.user_detail_page.contract_history_order)
            self.click(self.user_detail_page.contract_history_order)

            self.step = "match order page theme"
            self.logger.info(self.step)
            self.wait_visable(self.order_detail_page.order_detail_theme)
            self.assertEqual(
                "订单详情",
                self.get_text_Infor(self.order_detail_page.order_detail_theme),
                "订单链接不匹配")
            self.back()

            self.step = "click contract history's unit link"
            self.logger.info(self.step)
            self.wait_clickable(self.user_detail_page.contract_history_unit)
            self.click(self.user_detail_page.contract_history_unit)
            self.switch_handel()

            self.step = "match unit page theme"
            self.logger.info(self.step)
            self.wait_visable(self.stationunit_detail_page.unit_detail_theme)
            self.assertEqual(
                "仓位详情",
                self.get_text_Infor(
                    self.stationunit_detail_page.unit_detail_theme), "仓位链接不匹配")

            self.testcaseinfo.result = "Pass"
            pass
        except TimeoutException:
            self.timeout_method()
        except Exception as err:
            self.exception_method(err)
        finally:
            self.finally_method()
示例#10
0
class OMS(AbTemplate):
    # sometimes run the file name is file.py sometimes is file.pyc so we need replace by this way
    # file_name = os.path.basename(__file__).replace(".pyc", "_case").replace(".py", "_case")
    # case_info = file_name.split("_", 1)
    # case_id = case_info[0]
    # case_name = case_info[1]
    # testcaseinfo = testcaseinfo.TestCaseInfo(case_id, case_name, "功能测试")
    # logger = noteLog.Loggger(case_name)
    # testcaseinfo.setLogPath(logger.rel_file)

    # case info
    pay_date = "2019-08-21 10:28:54"
    contract_id_value = "1007171029299100"

    # page info
    contract_manage_page = contractmanage.contactManagePage()
    order_page = orderdetail.OrderDetail()
    payment_Page = paymentpage.payPage()

    @retrying.retry(retry_on_exception=retry_if_timeout_exception,
                    stop_max_attempt_number=2)
    def test_case(self):
        self.util_init(__file__)
        self.testcaseinfo.starttime = time.strftime("%Y-%m-%d %H:%M:%S")
        if self.flag > 1:
            self.setUp()
        try:
            self.wait_a_certain_time(3)
            self.convert_URL = urldata.URLData().get_admin_index_url()
            # print self.convert_URL
            self.convert_to_url(self.convert_URL)
            self.wait_visable(self.index_page.manageLocator)

            self.step = "click manage item"
            self.logger.info(self.step)
            self.click(self.index_page.manageLocator)
            self.wait_visable(self.index_page.orderMangement)

            self.step = "click contract manage item"
            self.logger.info(self.step)
            self.click(self.index_page.contactManagement)
            self.wait_visable(self.contract_manage_page.query_contact_button)

            self.step = "select company"
            self.logger.info(self.step)
            self.Select(self.contract_manage_page.select_company,
                        self.contract_manage_page.company_value)

            self.step = "fill contract"
            self.logger.info(self.step)
            self.fill(self.contract_manage_page.contact_id_text,
                      self.contract_id_value)
            self.click(self.contract_manage_page.query_contact_button)

            self.step = "click order link"
            self.logger.info(self.step)
            self.wait_visable(self.contract_manage_page.order_id_link)
            self.enter(self.contract_manage_page.order_id_link)
            self.switch_handel()
            self.wait_visable(self.order_page.payment_links)
            links = self.find_elements(self.order_page.payment_links)

            self.step = "open a payment "
            self.logger.info(self.step)
            links[0].click()
            self.wait_visable(self.payment_Page.payinfor_table)

            # a = self.get_text_Infor(self.payment_Page.old_payment_info)
            if "PayInfo" not in self.driver.current_url:
                raise Exception("not payment info page here")
            self.back()
            self.testcaseinfo.result = "Pass"

            pass
        except TimeoutException:
            self.timeout_method()
        except Exception as err:
            self.exception_method(err)
        finally:
            self.finally_method()