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

    # page info
    contract_manage_page = contractmanage.contactManagePage()
    contact_detail_page = contractdetail.ContactDetailPage()

    # query by condition
    @retrying.retry(retry_on_exception=retry_if_timeout_exception,
                    stop_max_attempt_number=2,
                    stop_max_delay=1000)
    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 contract manage page"
            self.logger.info(self.step)
            self.convert_to_url(urldata.URLData().get_contract_manage_url())
            self.wait_url_to_be(urldata.URLData().get_contract_manage_url())

            self.step = "fill phone"
            self.logger.info(self.step)
            self.wait_visable(self.contract_manage_page.phone_box)
            self.fill(self.contract_manage_page.phone_box,
                      self.contract_manage_page.phone_value)

            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 = "select size"
            self.logger.info(self.step)
            self.Select(self.contract_manage_page.select_size,
                        self.contract_manage_page.size_value)

            self.step = "select city"
            self.logger.info(self.step)
            self.Select(self.contract_manage_page.select_city,
                        self.contract_manage_page.city_value)

            self.step = "select type"
            self.logger.info(self.step)
            self.Select(self.contract_manage_page.select_type,
                        self.contract_manage_page.type_value)

            self.step = "select station"
            self.logger.info(self.step)
            self.Select(self.contract_manage_page.select_station,
                        self.contract_manage_page.station_value)

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

            self.step = "fill contract"
            self.logger.info(self.step)
            self.fill(self.contract_manage_page.contract_id_box,
                      self.contract_manage_page.contract_id_value)

            self.step = "select useable"
            self.logger.info(self.step)
            self.Select(self.contract_manage_page.select_useable,
                        self.contract_manage_page.useable_value)

            self.step = "click query button"
            self.logger.info(self.step)
            self.click(self.contract_manage_page.query_contact_button)

            self.step = "validate phone number"
            self.logger.info(self.step)
            self.wait_visable(self.contract_manage_page.phone_statu)
            self.assertEquals(
                self.get_text_Infor(self.contract_manage_page.phone_statu),
                self.contract_manage_page.phone_value, "查询结果的手机号与所查询的手机号不匹配")

            self.step = "validate contract id"
            self.logger.info(self.step)
            self.assertEqual(
                self.get_text_Infor(
                    self.contract_manage_page.contract_id_info),
                self.contract_manage_page.contract_id_value, "查询结果的合同号不匹配")

            self.step = "validate station"
            self.logger.info(self.step)
            self.assertEqual(
                self.get_text_Infor(self.contract_manage_page.station_info),
                self.contract_manage_page.station_value, "查询结果的分店不匹配")

            self.step = "validate useable"
            self.logger.info(self.step)
            self.assertEqual(
                self.get_text_Infor(self.contract_manage_page.useable_info),
                self.contract_manage_page.useable_value, "查询结果的是否退仓不匹配")

            self.step = "click contract link"
            self.logger.info(self.step)
            self.wait_clickable(self.contract_manage_page.contract_id_link)
            self.click(self.contract_manage_page.contract_id_link)
            self.switch_handel()

            self.step = "validate contract link"
            self.logger.info(self.step)
            if "ContractDetail" not in self.driver.current_url:
                raise Exception("合同号链接异常")
            self.driver.close()
            self.switch_handel()

            self.step = "click order link"
            self.logger.info(self.step)
            self.wait_clickable(self.contract_manage_page.order_id_link)
            self.click(self.contract_manage_page.order_id_link)
            self.switch_handel()

            self.step = "validate order link"
            self.logger.info(self.step)
            if "OrderDetail" not in self.driver.current_url:
                raise Exception("订单号链接异常")
            self.driver.close()
            self.switch_handel()

            self.step = "click user link"
            self.logger.info(self.step)
            self.wait_clickable(self.contract_manage_page.user_id_link)
            self.click(self.contract_manage_page.user_id_link)
            self.switch_handel()

            self.step = "validate user link"
            self.logger.info(self.step)
            if "UserDetail" not in self.driver.current_url:
                raise Exception("用户链接异常")
            self.driver.close()
            self.switch_handel()

            self.step = "click unit link"
            self.logger.info(self.step)
            self.wait_clickable(self.contract_manage_page.unit_id_link)
            self.click(self.contract_manage_page.unit_id_link)
            self.switch_handel()

            self.step = "validate unit link"
            self.logger.info(self.step)
            if "StationunitDetail" not in self.driver.current_url:
                raise Exception("仓位号链接异常")
            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()

    # query none condition
    @retrying.retry(retry_on_exception=retry_if_timeout_exception,
                    stop_max_attempt_number=2,
                    stop_max_delay=1000)
    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 contract manage page"
            self.logger.info(self.step)
            self.convert_to_url(urldata.URLData().get_contract_manage_url())
            self.wait_url_to_be(urldata.URLData().get_contract_manage_url())

            self.step = "click query button"
            self.logger.info(self.step)
            self.wait_clickable(self.contract_manage_page.query_contact_button)
            self.click(self.contract_manage_page.query_contact_button)

            self.step = "validate phone number"
            self.logger.info(self.step)
            self.wait_visable(self.contract_manage_page.phone_statu)

            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

    # page info
    contract_manage_page = contractmanage.contactManagePage()
    contract_detail_page = contractdetail.ContactDetailPage()

    @skip("ban the dbutil")
    @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 contract manage page"
            self.logger.info(self.step)
            self.convert_to_url(urldata.URLData().get_contract_manage_url())
            self.wait_url_to_be(urldata.URLData().get_contract_manage_url())

            self.step = "fill contract"
            self.logger.info(self.step)
            self.wait_visable(self.contract_manage_page.contract_id_box)
            self.fill(self.contract_manage_page.contract_id_box, self.contract_manage_page.contract_id_value)

            self.step = "click query"
            self.logger.info(self.step)
            self.click(self.contract_manage_page.query_contact_button)

            self.step = "click contract"
            self.logger.info(self.step)
            self.click(self.contract_manage_page.contract_id_link)
            self.driver.close()
            self.switch_handel()

            self.step = "get remain days"
            self.logger.info(self.step)
            self.wait_visable(self.contract_detail_page.quit_days)
            quit_days = eval(self.get_text_Infor(self.contract_detail_page.quit_days))

            self.step = "get datas from database"
            self.logger.info(self.step)
            results = self.getDataFromDatabase(self.contract_detail_page.sql_statement)
            for result in results:
                self.total_price = float(result[0])
                self.sure_price = float(result[1])
                self.use_day = int(result[2])
                self.unit_price = float(result[3])
            if self.use_day < 0:
                self.use_day = 0

            self.step = "click change"
            self.logger.info(self.step)
            self.click(self.contract_detail_page.contractChangeSu_button)

            self.step = "click difference"
            self.logger.info(self.step)
            self.wait_clickable(self.contract_detail_page.contractChangeSuDifferentPrice_button)
            self.click(self.contract_detail_page.contractChangeSuDifferentPrice_button)

            self.step = "choose a bigger than now"
            self.logger.info(self.step)
            self.wait_a_certain_time(10)
            self.Select(self.contract_detail_page.ChangeSu_select, self.contract_detail_page.changeSu_value)

            self.step = "click circular price"
            self.logger.info(self.step)
            self.click(self.contract_detail_page.calcSuBtn_button)

            self.step = "validate extra cash pledge"
            self.logger.info(self.step)
            self.wait_visable(self.contract_detail_page.extra_sure_price)
            should_extra_sure_price = 6000 - self.sure_price
            new_extra_sure_price = eval(self.get_text_Infor(self.contract_detail_page.extra_sure_price))
            self.assertEquals(should_extra_sure_price, new_extra_sure_price, "补交押金额计算结果出错")
            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

    # page info
    contract_manage_page = contractmanage.contactManagePage()
    contract_detail_page = contractdetail.ContactDetailPage()

    @skip("if you relet every day ,you will find the contract will over range")
    @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 contract manage page"
            self.logger.info(self.step)
            self.convert_to_url(urldata.URLData().get_contract_manage_url())
            self.wait_url_to_be(urldata.URLData().get_contract_manage_url())

            self.step = "fill contract"
            self.logger.info(self.step)
            self.wait_visable(self.contract_manage_page.contract_id_box)
            self.fill(self.contract_manage_page.contract_id_box, self.contract_manage_page.contract_id_value)

            self.step = "click query"
            self.logger.info(self.step)
            self.click(self.contract_manage_page.query_contact_button)

            self.step = "click contract"
            self.logger.info(self.step)
            self.wait_clickable(self.contract_manage_page.contract_id_link)
            self.click(self.contract_manage_page.contract_id_link)
            self.driver.close()
            self.switch_handel()

            self.step = "get relet info"
            self.logger.info(self.step)
            self.wait_visable(self.contract_detail_page.relet_month_info)
            should_relet_month = eval(
                self.get_text_Infor(self.contract_detail_page.relet_month_info).replace("个月", "")) + 3

            self.step = "click relet"
            self.logger.info(self.step)
            self.click(self.contract_detail_page.relet_button)

            self.step = "fill paydate"
            self.logger.info(self.step)
            self.wait_visable(self.contract_detail_page.datetime_box)
            self.fill(self.contract_detail_page.datetime_box, self.contract_detail_page.paydate_value)

            self.step = "click confirm to cancel data box"
            self.logger.info(self.step)
            self.click(self.contract_detail_page.relet_confirm_button)
            self.wait_alert()
            self.accept_alert()

            self.step = "choose month"
            self.logger.info(self.step)
            self.Select(self.contract_detail_page.month_select, self.contract_detail_page.month_value)

            self.step = "choose paymethod"
            self.logger.info(self.step)
            self.Select(self.contract_detail_page.pay_method_select, self.contract_detail_page.pay_method_value)

            self.step = "click circular price"
            self.logger.info(self.step)
            self.enter(self.contract_detail_page.circu_price_button)

            self.step = "fill price"
            self.logger.info(self.step)
            self.fill(self.contract_detail_page.totalPay_box, self.contract_detail_page.relet_price_value)

            self.step = "click auto create"
            self.logger.info(self.step)
            self.click(self.contract_detail_page.auto_create_button)

            self.step = "fill payer name"
            self.logger.info(self.step)
            self.fill(self.contract_detail_page.buyerName_box, self.contract_detail_page.pay_name_value)

            self.step = "fill payer account"
            self.logger.info(self.step)
            self.fill(self.contract_detail_page.buyerAcc_box, self.contract_detail_page.pay_account_value)

            self.step = "fill memo"
            self.logger.info(self.step)
            self.fill(self.contract_detail_page.memo_box, self.contract_manage_page.note_value)

            self.step = "click confirm"
            self.logger.info(self.step)
            self.click(self.contract_detail_page.relet_confirm_button)
            self.wait_a_certain_time(10)

            self.step = "validate relet time"
            self.logger.info(self.step)
            self.wait_visable(self.contract_detail_page.relet_month_info)
            new_relet_month = eval(self.get_text_Infor(self.contract_detail_page.relet_month_info).replace("个月", ""))
            self.assertEquals(should_relet_month, new_relet_month, "租期不匹配")

            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
    pay_price_value = " "

    # page info
    contract_manage_page = contractmanage.contactManagePage()
    contract_detail_page = contractdetail.ContactDetailPage()

    @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 contract manage page"
            self.logger.info(self.step)
            self.convert_to_url(urldata.URLData().get_contract_manage_url())
            self.wait_url_to_be(urldata.URLData().get_contract_manage_url())

            self.step = "fill contract"
            self.logger.info(self.step)
            self.wait_visable(self.contract_manage_page.contract_id_box)
            self.fill(self.contract_manage_page.contract_id_box, self.contract_manage_page.contract_id_value)

            self.step = "click query"
            self.logger.info(self.step)
            self.click(self.contract_manage_page.query_contact_button)

            self.step = "click contract"
            self.logger.info(self.step)
            self.wait_clickable(self.contract_manage_page.contract_id_link)
            self.click(self.contract_manage_page.contract_id_link)
            self.driver.close()
            self.switch_handel()

            self.step = "click change"
            self.logger.info(self.step)
            self.wait_clickable(self.contract_detail_page.contractChangeSu_button)
            self.click(self.contract_detail_page.contractChangeSu_button)

            self.step = "click difference"
            self.logger.info(self.step)
            self.click(self.contract_detail_page.contractChangeSuDifferentPrice_button)

            self.step = "choose a bigger unit than now"
            self.logger.info(self.step)
            self.wait_a_certain_time(10)
            self.Select(self.contract_detail_page.ChangeSu_select, self.contract_detail_page.changeSu_value)

            self.step = "click circular price"
            self.logger.info(self.step)
            self.click(self.contract_detail_page.calcSuBtn_button)

            self.step = "click add a payinfo"
            self.logger.info(self.step)
            self.wait_clickable(self.contract_detail_page.addPayInfo_button)
            self.click(self.contract_detail_page.addPayInfo_button)

            self.step = "fill pay datetime"
            self.logger.info(self.step)
            self.wait_visable(self.contract_detail_page.datetime_box)
            self.fill(self.contract_detail_page.datetime_box, self.contract_detail_page.datetime_value)

            self.step = "click confirm to make datetime box cancel"
            self.logger.info(self.step)
            self.click(self.contract_detail_page.savePayInfo_button)
            self.wait_alert()
            self.accept_alert()

            self.step = "fill pay price"
            self.logger.info(self.step)
            self.fill(self.contract_detail_page.payPrice_box, self.pay_price_value)

            self.step = "fill pay method"
            self.logger.info(self.step)
            self.Select(self.contract_detail_page.method_select, self.contract_detail_page.method_value)

            self.step = "fill pay payid"
            self.logger.info(self.step)
            self.fill(self.contract_detail_page.payid_box, self.contract_detail_page.payid_value)

            self.step = "fill receipt name"
            self.logger.info(self.step)
            self.fill(self.contract_detail_page.receiptName_box, self.contract_detail_page.receiptName_value)

            self.step = "fill receipt acc"
            self.logger.info(self.step)
            self.fill(self.contract_detail_page.receiptAcc_box, self.contract_detail_page.receiptAcc_value)

            self.step = "fill memo"
            self.logger.info(self.step)
            self.fill(self.contract_detail_page.memo_box, self.contract_manage_page.note_value)

            self.step = "click confirm"
            self.logger.info(self.step)
            self.click(self.contract_detail_page.savePayInfo_button)
            self.wait_alert()
            self.assertEqual(self.get_alert_text(), "请输入支付金额", "提示信息不符")
            self.accept_alert()

            self.testcaseinfo.result = "Pass"
            pass
        except TimeoutException:
            self.timeout_method()
        except Exception as err:
            self.exception_method(err)
        finally:
            self.finally_method()
Exemplo n.º 5
0
class OMS(AbTemplate):
    # case info
    contract_id_value = "1001181220337540"

    # page info
    contract_manage_page = contractmanage.contactManagePage()
    contract_detail_page = contractdetail.ContactDetailPage()

    @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 contract manage page"
            self.logger.info(self.step)
            self.convert_to_url(urldata.URLData().get_contract_manage_url())
            self.wait_url_to_be(urldata.URLData().get_contract_manage_url())

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

            self.step = "fill contract"
            self.logger.info(self.step)
            self.wait_visable(self.contract_manage_page.contract_id_box)
            self.fill(self.contract_manage_page.contract_id_box,
                      self.contract_id_value)

            self.step = "click query"
            self.logger.info(self.step)
            self.click(self.contract_manage_page.query_contact_button)

            self.step = "click contract"
            self.logger.info(self.step)
            self.wait_clickable(self.contract_manage_page.contract_id_link)
            self.click(self.contract_manage_page.contract_id_link)
            self.driver.close()
            self.switch_handel()

            self.step = "click anthorize log"
            self.logger.info(self.step)
            self.wait_clickable(
                self.contract_detail_page.contractYeeuuBtn_button)
            self.click(self.contract_detail_page.contractYeeuuBtn_button)

            self.step = "fill start datetime"
            self.logger.info(self.step)
            self.wait_visable(self.contract_detail_page.yeeuuStart_box)
            self.fill(self.contract_detail_page.yeeuuStart_box,
                      self.contract_detail_page.yeeuu_start_value)

            self.step = "fill end datetime"
            self.logger.info(self.step)
            self.wait_visable(self.contract_detail_page.yeeuuStart_box)
            self.fill(self.contract_detail_page.yeeuuEnd_box,
                      self.contract_detail_page.yeeuu_end_value)

            self.step = "click confirm"
            self.logger.info(self.step)
            self.click(self.contract_detail_page.yeeuu_confirm)

            self.step = "validate is authorize log page"
            self.logger.info(self.step)
            self.wait_visable(self.contract_detail_page.authorize_info)
            anthorize_info = self.get_text_Infor(
                self.contract_detail_page.authorize_info)
            self.assertEquals("授权记录", anthorize_info, "页面跳转失败")

            self.testcaseinfo.result = "Pass"
            pass
        except TimeoutException:
            self.timeout_method()
        except Exception as err:
            self.exception_method(err)
        finally:
            self.finally_method()
Exemplo n.º 6
0
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

    # page info
    contract_manage_page = contractmanage.contactManagePage()
    contract_detail_page = contractdetail.ContactDetailPage()

    @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 contract manage page"
            self.logger.info(self.step)
            self.convert_to_url(urldata.URLData().get_contract_manage_url())
            self.wait_url_to_be(urldata.URLData().get_contract_manage_url())

            self.step = "fill contract"
            self.logger.info(self.step)
            self.wait_visable(self.contract_manage_page.contract_id_box)
            self.fill(self.contract_manage_page.contract_id_box,
                      self.contract_manage_page.contract_id_value)

            self.step = "click query"
            self.logger.info(self.step)
            self.click(self.contract_manage_page.query_contact_button)

            self.step = "click contract"
            self.logger.info(self.step)
            self.wait_clickable(self.contract_manage_page.contract_id_link)
            self.click(self.contract_manage_page.contract_id_link)
            self.driver.close()
            self.switch_handel()

            self.step = "click gift relet"
            self.logger.info(self.step)
            self.wait_clickable(self.contract_detail_page.giveBtn_button)
            self.click(self.contract_detail_page.giveBtn_button)

            self.step = "input gift month"
            self.logger.info(self.step)
            self.wait_visable(self.contract_detail_page.monthVal_box)
            self.fill(self.contract_detail_page.monthVal_box,
                      self.contract_detail_page.month_value)

            self.step = "input gift note"
            self.logger.info(self.step)
            self.fill(self.contract_detail_page.extendReason_box,
                      self.contract_detail_page.note_value)

            self.step = "click confirm button"
            self.logger.info(self.step)
            self.click(self.contract_detail_page.extendBtn_button)

            self.step = "validate alert"
            self.logger.info(self.step)
            self.wait_visable(self.contract_detail_page.error_info)
            error_info = self.get_text_Infor(
                self.contract_detail_page.error_info)
            self.assertEquals(error_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)

    # case info
    contract_id_value = "1001181220337540"

    # page info
    contract_manage_page = contractmanage.contactManagePage()
    contract_detail_page = contractdetail.ContactDetailPage()

    @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 contract manage page"
            self.logger.info(self.step)
            self.convert_to_url(urldata.URLData().get_contract_manage_url())
            self.wait_url_to_be(urldata.URLData().get_contract_manage_url())

            self.step = "select company"
            self.logger.info(self.step)
            self.wait_visable(self.contract_manage_page.contract_id_box)
            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.contract_id_box,
                      self.contract_id_value)

            self.step = "click query"
            self.logger.info(self.step)
            self.click(self.contract_manage_page.query_contact_button)

            self.step = "click contract"
            self.logger.info(self.step)
            self.wait_clickable(self.contract_manage_page.contract_id_link)
            self.click(self.contract_manage_page.contract_id_link)
            self.driver.close()
            self.switch_handel()

            self.step = "click relative order"
            self.logger.info(self.step)
            self.wait_clickable(self.contract_detail_page.relative_button)
            self.click(self.contract_detail_page.relative_button)

            self.step = "validate is orderdetail"
            self.logger.info(self.step)
            self.wait_visable(self.contract_detail_page.relative_order_info)
            new_relative_info = self.get_text_Infor(
                self.contract_detail_page.relative_order_info)
            self.assertEquals("相关订单", new_relative_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):
    # 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

    # page info
    contract_manage_page = contractmanage.contactManagePage()
    contract_detail_page = contractdetail.ContactDetailPage()

    @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 contract manage page"
            self.logger.info(self.step)
            self.convert_to_url(urldata.URLData().get_contract_manage_url())
            self.wait_url_to_be(urldata.URLData().get_contract_manage_url())

            self.step = "fill contract"
            self.logger.info(self.step)
            self.wait_visable(self.contract_manage_page.contract_id_box)
            self.fill(self.contract_manage_page.contract_id_box,
                      self.contract_manage_page.contract_id_value)

            self.step = "click query"
            self.logger.info(self.step)
            self.click(self.contract_manage_page.query_contact_button)

            self.step = "click contract"
            self.logger.info(self.step)
            self.wait_clickable(self.contract_manage_page.contract_id_link)
            self.click(self.contract_manage_page.contract_id_link)
            self.driver.close()
            self.switch_handel()

            self.step = "click change"
            self.logger.info(self.step)
            self.wait_clickable(
                self.contract_detail_page.contractChangeSu_button)
            self.click(self.contract_detail_page.contractChangeSu_button)

            self.step = "click difference"
            self.logger.info(self.step)
            self.wait_clickable(self.contract_detail_page.
                                contractChangeSuDifferentPrice_button)
            self.click(self.contract_detail_page.
                       contractChangeSuDifferentPrice_button)

            self.step = "click circular price"
            self.logger.info(self.step)
            self.wait_a_certain_time(10)
            self.click(self.contract_detail_page.calcSuBtn_button)

            self.step = "validate price is exist"
            self.logger.info(self.step)
            self.wait_visable(self.contract_detail_page.detail_info)
            if self.find_element(self.contract_detail_page.detail_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)

    # case info

    # page info
    contract_manage_page = contractmanage.contactManagePage()
    contract_detail_page = contractdetail.ContactDetailPage()

    @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 contract manage page"
            self.logger.info(self.step)
            self.convert_to_url(urldata.URLData().get_contract_manage_url())
            self.wait_url_to_be(urldata.URLData().get_contract_manage_url())

            self.step = "fill contract"
            self.logger.info(self.step)
            self.wait_visable(self.contract_manage_page.contract_id_box)
            self.fill(self.contract_manage_page.contract_id_box, self.contract_manage_page.contract_id_value)

            self.step = "click query"
            self.logger.info(self.step)
            self.click(self.contract_manage_page.query_contact_button)

            self.step = "click contract"
            self.logger.info(self.step)
            self.wait_clickable(self.contract_manage_page.contract_id_link)
            self.click(self.contract_manage_page.contract_id_link)
            self.driver.close()
            self.switch_handel()

            self.step = "click allow to change"
            self.logger.info(self.step)
            self.wait_clickable(self.contract_detail_page.allowEarlyBtn_button)
            self.click(self.contract_detail_page.allowEarlyBtn_button)

            self.step = "validate statu"
            self.logger.info(self.step)
            self.wait_a_certain_time(5)
            new_terminal_statu = self.get_text_Infor(self.contract_detail_page.early_terminal_info)
            self.assertEquals("允许", new_terminal_statu, "切换允许提前退仓失败")

            self.step = "click deny to change"
            self.logger.info(self.step)
            self.click(self.contract_detail_page.allowEarlyBtn_button)

            self.step = "validate statu"
            self.logger.info(self.step)
            self.wait_a_certain_time(5)
            new_terminal_statu = self.get_text_Infor(self.contract_detail_page.early_terminal_info)
            should_terminal_statu = self.get_text_Infor(self.contract_detail_page.predict_terminal_info)
            self.assertEquals(should_terminal_statu, new_terminal_statu, "切换不能提前退仓失败")

            self.testcaseinfo.result = "Pass"

            pass
        except TimeoutException:
            self.timeout_method()
        except Exception as err:
            self.exception_method(err)
        finally:
            self.finally_method()
Exemplo n.º 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()
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

    # page info
    contract_manage_page = contractmanage.contactManagePage()


    @retrying.retry(retry_on_exception=retry_if_timeout_exception, stop_max_attempt_number=2)
    def test_oms143_update_note(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 contract manage page"
            self.logger.info(self.step)
            self.convert_to_url(urldata.URLData().get_contract_manage_url())
            self.wait_url_to_be(urldata.URLData().get_contract_manage_url())

            self.step = "fill contract"
            self.logger.info(self.step)
            self.wait_visable(self.contract_manage_page.phone_box)
            self.fill(self.contract_manage_page.contract_id_box, self.contract_manage_page.contract_id_value)

            self.step = "click query"
            self.logger.info(self.step)
            self.click(self.contract_manage_page.query_contact_button)

            self.step = "clear note"
            self.logger.info(self.step)
            self.wait_visable(self.contract_manage_page.comment_textarea)
            self.find_element(self.contract_manage_page.comment_textarea).clear()

            self.step = "modify note"
            self.logger.info(self.step)
            self.fill(self.contract_manage_page.comment_textarea, self.contract_manage_page.note_value)

            self.step = "click modify"
            self.logger.info(self.step)
            self.click(self.contract_manage_page.comment_link)

            self.step = "refresh page"
            self.logger.info(self.step)
            self.driver.refresh()

            self.step = "fill contract again"
            self.logger.info(self.step)
            self.wait_visable(self.contract_manage_page.phone_box)
            self.fill(self.contract_manage_page.contract_id_box, self.contract_manage_page.contract_id_value)

            self.step = "click query again"
            self.logger.info(self.step)
            self.click(self.contract_manage_page.query_contact_button)

            self.step = "validate result"
            self.logger.info(self.step)
            self.wait_visable(self.contract_manage_page.comment_textarea)
            new_comment = self.get_text_Infor(self.contract_manage_page.comment_textarea)
            self.assertEquals(new_comment, self.contract_manage_page.note_value, "备注修改出现异常")

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