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 overdue remind page" self.logger.info(self.step) self.convert_to_url( urldata.URLData().get_overdue_remind_page_url()) self.wait_url_to_be( urldata.URLData().get_overdue_remind_page_url()) self.step = "select company" self.logger.info(self.step) self.wait_visable(self.due_remind_page.cityList_select) self.Select(self.due_remind_page.company_select, self.company_value) self.step = "select city " self.logger.info(self.step) self.Select(self.due_remind_page.cityList_select, self.city_value) self.step = "select type " self.logger.info(self.step) self.Select(self.due_remind_page.typeList_select, self.type_value) self.step = "select station" self.logger.info(self.step) self.Select(self.due_remind_page.stationList_select, self.station_value) self.step = "select is use" self.logger.info(self.step) self.Select(self.due_remind_page.is_use_select, self.is_use_value) self.step = "click query button" self.logger.info(self.step) self.click(self.due_remind_page.query_button) self.step = "validate result" self.logger.info(self.step) self.wait_visable(self.due_remind_page.unit_link) after_station = self.get_text_Infor(self.due_remind_page.unit_link) after_is_use = self.get_text_Infor( self.due_remind_page.overdue_statu) self.assertEquals(self.is_use_value, after_is_use, "逾期状态结果不匹配") if self.station_value not in after_station: raise Exception("分店不匹配") self.step = "click and validate contract link" self.logger.info(self.step) self.click(self.due_remind_page.contract_link) self.switch_handel() self.wait_visable( contractdetail.ContactDetailPage().contact_detail_theme) after_theme = self.get_text_Infor( contractdetail.ContactDetailPage().contact_detail_theme) self.assertEquals("合同详情", after_theme, "合同详情链接不匹配") self.driver.close() self.switch_handel() self.step = "click and validate user link" self.logger.info(self.step) self.click(self.due_remind_page.user_link) self.switch_handel() self.wait_visable(userdetail.UserDetailPage().user_detail_theme) after_theme = self.get_text_Infor( userdetail.UserDetailPage().user_detail_theme) self.assertEquals("用户详情", after_theme, "用户详情链接不匹配") self.driver.close() self.switch_handel() self.step = "click and validate stationunit link" self.logger.info(self.step) self.click(self.due_remind_page.unit_link) self.switch_handel() self.wait_visable( stationunitdetail.StationunitDetailPage().unit_detail_theme) after_theme = self.get_text_Infor( stationunitdetail.StationunitDetailPage().unit_detail_theme) self.assertEquals("仓位详情", after_theme, "仓位详情链接不匹配") 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 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): # 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): # 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()
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): # 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): # 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): # 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): # 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): # 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()
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()