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()
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()
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()
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()