class Mtx_Safe(Base_Page): cur_path = os.path.abspath(__file__) data_path = os.path.join( os.path.dirname(cur_path) + os.path.sep + '../data', 'mtx_safe.yml') with open(data_path) as f: data = yaml.safe_load(f) edit = data['edit'] my_pwd = data['my_pwd'] new_pwd = data['new_pwd'] comfire = data['comfire_pwd'] safe = data['safe'] def __init__(self, dev): super().__init__(dev) def add_cookies(self): Add_Cookies().adcook(self.dev) def go_to_safe(self): self.left = Mtx_Left(self.dev) self.left.myshopt() self.left.safe() def name_pwd(self): self.mtx_find_xpath(self.edit).click() self.mtx_find_xpath(self.my_pwd).send_keys('123456') self.mtx_find_xpath(self.new_pwd).send_keys('123456') self.mtx_find_xpath(self.comfire).send_keys('123456') self.mtx_find_xpath(self.safe).click()
def setup_class(self): self.dev = webdriver.Chrome() self.loggerobj = Logger().get_logger() self.loginobj = Mtx_Login(self.dev) self.leftobj = Mtx_Left(self.dev) self.jifenobj = Mtx_Myjifen(self.dev) self.loggerobj.info("初始化")
class Test_Footstep(): def setup_class(self): self.dev = webdriver.Chrome() self.loginobj = Mtx_Login(self.dev) self.leftobj = Mtx_Left(self.dev) self.logerobj = Logger().get_logger() self.footobj = Mtx_Footstep(self.dev) self.logerobj.info("初始化") def test_login(self): self.loginobj.login() self.logerobj.info("登录") def test_goto_foot(self): self.leftobj.myshopt() self.leftobj.footstep() self.logerobj.info("足迹页面") def test_footstep(self): self.footobj.footstep() self.logerobj.info("足迹搜索") def teardown_class(self): self.dev.quit()
def setup_class(self): self.dev = webdriver.Chrome() self.loginobj = Mtx_Login(self.dev) self.leftobj = Mtx_Left(self.dev) self.loggerobj = Logger().get_logger() self.answerobj = Mtx_Answers(self.dev) self.loggerobj.info('初始化')
class Test_Answers(): def setup_class(self): self.dev = webdriver.Chrome() self.loginobj = Mtx_Login(self.dev) self.leftobj = Mtx_Left(self.dev) self.loggerobj = Logger().get_logger() self.answerobj = Mtx_Answers(self.dev) self.loggerobj.info('初始化') def test_login(self): try: self.loginobj.login() self.loggerobj.info('登录成功') except Exception as e: self.loggerobj.warn(f'出错{e}') def test_goto_answers(self): try: self.leftobj.myshopt() self.leftobj.answers() self.loggerobj.info('页面跳转') except Exception as e: self.loggerobj.warn(f'出错了{e}') def test_answers(self): try: self.answerobj.answers() self.loggerobj.info('问答页面') except Exception as e: self.loggerobj.warn(f'出错了{e}') def teardown_class(self): self.dev.quit()
def setup_class(self): self.dev = webdriver.Chrome() self.loginobj = Mtx_Login(self.dev) self.leftobj = Mtx_Left(self.dev) self.logerobj = Logger().get_logger() self.footobj = Mtx_Footstep(self.dev) self.logerobj.info("初始化")
class Test_Address(): def setup_class(self): self.dev = webdriver.Chrome() self.adrobj = Mtx_Address(self.dev) self.loginobj = Mtx_Login(self.dev) self.leftobj = Mtx_Left(self.dev) def test_login(self): self.loginobj.login() def test_goto_address(self): self.leftobj.myshopt() self.leftobj.myaddress() def test_case_1(self): # name = self.adrobj.address() # eles = self.adrobj.dev.find_elements_by_xpath("//span[@class='user']") # lst = [] # for i in eles: # lst.append(i.text) # print(lst) # assert name in lst self.adrobj.address() def teardown_class(self): self.adrobj.dev.quit()
class Test_Orderlater(): def setup_class(self): self.dev = webdriver.Chrome() self.loginobj = Mtx_Login(self.dev) self.leftobj = Mtx_Left(self.dev) self.ordobj = Mtx_OrderLater(self.dev) self.loggerobj = Logger().get_logger() self.loggerobj.info('初始化') def test_login(self): try: self.loginobj.login() self.loggerobj.info("登录成功") except Exception as e: self.loggerobj.error(f"异常模块提示{e}") def test_goto_orderlate(self): try: self.leftobj.myshopt() self.leftobj.order_later() self.loggerobj.info("页面跳转") except Exception as e: self.loggerobj.error(f'错误信息提示{e}') def test_orderlate(self): try: self.ordobj.later_searcher() self.loggerobj.info("售后模块正常") except Exception as e: self.loggerobj.error(f'异常处理{e}') def teardown_class(self): self.dev.quit()
def setup_class(self): self.dev = webdriver.Chrome() self.loginobj = Mtx_Login(self.dev) self.leftobj = Mtx_Left(self.dev) self.ordobj = Mtx_OrderLater(self.dev) self.loggerobj = Logger().get_logger() self.loggerobj.info('初始化')
class Mtx_Info(Base_Page): def __init__(self, dev): super().__init__(dev) def add_cookies(self): Add_Cookies().adcook(self.dev) def goto_info(self): self.leftobj = Mtx_Left(self.dev) self.leftobj.myshopt() self.leftobj.myinfo() def search_no(self): self.mtx_find_xpath("//input[@name='keywords']").send_keys('123') more = self.mtx_find_xpath("//label/i[@class='am-icon-angle-down']") if more: more.click() lis = [('type', '0'), ('business_type', '3'), ('is_read', '1')] for i in lis: self.search_js(i[0], i[1]) self.mtx_find_xpath("//td/button[text()='搜索']").click() def search_js(self, name, value): js1 = 'document.getElementsByName("' + name + '")[0].style.display="block";' self.dev.execute_script(js1) sel1 = self.mtx_find_xpath("//select[@name='" + name + "']") Select(sel1).select_by_value(value) def search(self): pass
class Test_Myjifen(): def setup_class(self): self.dev = webdriver.Chrome() self.loggerobj = Logger().get_logger() self.loginobj = Mtx_Login(self.dev) self.leftobj = Mtx_Left(self.dev) self.jifenobj = Mtx_Myjifen(self.dev) self.loggerobj.info("初始化") def test_login(self): self.loginobj.login() self.loggerobj.info("登录") def test_goto_jifen(self): self.leftobj.myshopt() self.leftobj.myjifen() self.loggerobj.info("积分页面") def test_search(self): self.jifenobj.jifen_search() self.loggerobj.info("搜索") def test_search_condition(self): self.jifenobj.jifen_clear() self.jifenobj.jifen_search_condition() self.loggerobj.info("搜索条件") def teardown_class(self): self.dev.quit() self.loggerobj.info("退出")
class Mtx_OrderLater(Base_Page): cur_path = os.path.abspath(__file__) data_path = os.path.join( os.path.dirname(cur_path) + os.path.sep + '../data', 'mtx_orderlater.yml') with open(data_path, encoding='utf8') as f: dat = yaml.safe_load(f) kw = dat['kw'] more = dat['more'] find = dat['find'] def __init__(self, dev): super().__init__(dev) def add_cookies(self): self.cookiesobj = Add_Cookies() self.cookiesobj.adcook(self.dev) def goto_orderlater(self): self.leftobj = Mtx_Left(self.dev) self.leftobj.myshopt() self.leftobj.order_later() def later_searcher(self): self.mtx_find_xpath(self.kw).send_keys('123') more = self.mtx_find_xpath(self.more) if more: more.click() lis = [('type', '仅退款'), ('status', '待确认'), ('refundment', '原路退回')] for i in lis: self.mtx_js_display(i[0], i[1]) # js1 = 'document.getElementsByName("type")[0].style.display="block";' # self.dev.execute_script(js1) # sel1 = self.mtx_find_xpath("//select[@name='type']") # Select(sel1).select_by_visible_text("仅退款") # js2 = 'document.getElementsByName("status")[0].style.display="block";' # self.dev.execute_script(js2) # sel2 = self.mtx_find_xpath("//select[@name='status']") # Select(sel2).select_by_visible_text("待确认") # js3 = 'document.getElementsByName("refundment")[0].style.display="block";' # self.dev.execute_script(js3) # sel3 = self.mtx_find_xpath("//select[@name='refundment']") # Select(sel3).select_by_visible_text('原路退回') self.mtx_find_xpath(self.find).click()
class Mtx_Address(Base_Page): current_path = os.path.abspath(__file__) data_path = os.path.join(os.path.abspath(os.path.dirname(current_path)+os.path.sep+'../data'),'mtx_address.yml') with open(data_path, encoding='utf8') as f: data = yaml.safe_load(f) preson = data['preson'] myaddre = data['myaddre'] adr = data['adr'] input_name = data['input_name'] input_tel =data['input_tel'] def __init__(self,dev): super().__init__(dev) def addcookies(self): Add_Cookies().adcook(self.dev) def goto_address(self): self.leftobj = Mtx_Left(self.dev) self.leftobj.myshopt() self.leftobj.myaddress() def address(self): self.mtx_find_xpath(self.adr).click() self.dev.switch_to.frame(2) self.mtx_find_xpath(self.input_name).send_keys('zhangzhang') self.mtx_find_xpath(self.input_tel).send_keys('13713212321') # js定位 js = 'document.getElementsByName("province")[0].style.display="block";' self.dev.execute_script(js) sel = self.mtx_find_xpath("//select[@name='province']") Select(sel).select_by_visible_text('内蒙古自治区') js2 = 'document.getElementsByName("city")[0].style.display="block";' self.dev.execute_script(js2) sel2 = self.mtx_find_xpath("//select[@name='city']") Select(sel2).select_by_visible_text('包头市') js3 = 'document.getElementsByName("county")[0].style.display="block";' self.dev.execute_script(js3) sel3 = self.mtx_find_xpath("//select[@name='county']") Select(sel3).select_by_visible_text("九原区") self.mtx_find_xpath("//input[@name='address']").send_keys('测试用的数据') self.mtx_find_xpath("//input[@name='alias']").send_keys('zhangzhang') self.mtx_find_xpath("//span[text()='否']").click() sleep(2) self.mtx_find_xpath("//button[text()='保存']").click()
class Mtx_Myjifen(Base_Page): current_path = os.path.abspath(__file__) data_path = os.path.join(os.path.dirname(current_path)+os.path.sep+'../data','mtx_myjifen.yml') with open(data_path,encoding='utf8') as f: data = yaml.safe_load(f) keywords = data['keywords'] search1 = data['search1'] sear_more = data['sear_more'] sear_type = data['sear_type'] search2 = data['search2'] sear_clear = data['sear_clear'] def __init__(self,dev): super().__init__(dev) def add_cookie(self): Add_Cookies().adcook(self.dev) def goto_jifen(self): self.leftobj = Mtx_Left(self.dev) self.leftobj.myshopt() self.leftobj.myjifen() def jifen_search(self): self.mtx_find_xpath(self.keywords).send_keys('手机') self.mtx_find_xpath(self.search1).click() def jifen_search_condition(self): more = self.mtx_find_xpath(self.sear_more) if more: more.click() js1 = 'document.getElementsByName("type")[0].style.display="block"' self.dev.execute_script(js1) sel1 = self.mtx_find_xpath(self.sear_type) Select(sel1).select_by_visible_text("增加") self.mtx_find_xpath(self.search2).click() def jifen_clear(self): more = self.mtx_find_xpath(self.sear_more) if more: more.click() self.mtx_find_xpath(self.sear_clear).click()
class Mtx_Answers(Base_Page): cur_path = os.path.abspath(__file__) dpath = os.path.join( os.path.dirname(cur_path) + os.path.sep + '../data', 'mtx_answers.yml') with open(dpath, encoding='utf8') as f: data = yaml.safe_load(f) keyword = data['keyword'] more = data['more'] search = data['search'] def __init__(self, dev): super().__init__(dev) def add_cookies(self): Add_Cookies().adcook(self.dev) def goto_ansers(self): self.leftobj = Mtx_Left(self.dev) self.leftobj.myshopt() self.leftobj.answers() def answers(self): self.mtx_find_xpath(self.keyword).send_keys('123') more = self.mtx_find_xpath(self.more) if more: more.click() lis = [('is_show', '1', 0), ('is_reply', '1', 0)] for i in lis: self.answersjs(i[0], i[1], i[2]) self.mtx_find_xpath(self.search).click() def answersjs(self, name, value, type=0): js1 = 'document.getElementsByName("' + name + '")[0].style.display="block";' self.dev.execute_script(js1) sel1 = self.mtx_find_xpath("//select[@name='is_show']") if type == 1: Select(sel1).select_by_visible_text(f'{value}') elif type == 2: Select(sel1).select_by_index(value) else: Select(sel1).select_by_value(value)
class Test_Order(): def setup_class(self): self.dev = webdriver.Chrome() self.loginobj = Mtx_Login(self.dev) self.loggerobj = Logger().get_logger() self.orderobj = Mtx_Order(self.dev) self.leftobj = Mtx_Left(self.dev) def test_login(self): self.loggerobj.info("登录") self.loginobj.login() def test_goto_order(self): self.loggerobj.info("跳转到订单页面") self.leftobj.myshopt() self.leftobj.order() def test_order(self): self.loggerobj.info("订单条件处理") self.orderobj.search_condition() def teardown_class(self): self.dev.quit()
class Mtx_Footstep(Base_Page): cur_path = os.path.abspath(__file__) data_path = os.path.join(os.path.dirname(cur_path)+os.path.sep+'../data','mtx_footstep.yml') with open (data_path,encoding='utf8') as f: data = yaml.safe_load(f) keywords = data['keywords'] search = data['search'] def __init__(self,dev): super().__init__(dev) def add_cookies(self): Add_Cookies().adcook(self.dev) def goto_foot(self): self.leftobj = Mtx_Left(self.dev) self.leftobj.myshopt() self.leftobj.footstep() def footstep(self): self.mtx_find_xpath(self.keywords).send_keys('手机') self.mtx_find_xpath(self.search).click()
class Mtx_Personal_Data(Base_Page): with open('../data/mtx_personal_data.yml', encoding='utf-8') as f: data = yaml.safe_load(f) ele_edit = data['edit'] ele_nickname = data['nickname'] ele_sex = data['sex'] ele_birthday = data['birthday'] ele_iframe3 = data['iframe3'] ele_makesure = data['makesure'] ele_save = data['save'] def __init__(self, dev): super().__init__(dev) def pre_action(self): self.leftobj = Mtx_Left(self.dev) self.leftobj.add_cookies() self.leftobj.myshopt() self.leftobj.personaldata() def data_edit(self): self.mtx_find_xpath(self.ele_edit).click() self.mtx_find_xpath(self.ele_nickname).send_keys("li40") self.mtx_find_xpath(self.ele_sex).click() birthday = self.mtx_find_xpath(self.ele_birthday) birthday.click() birthday.send_keys('2001-10-10') iframe3 = self.mtx_find_xpath(self.ele_iframe3) dev.switch_to.frame(iframe3) self.mtx_find_xpath(self.ele_makesure).click() dev.switch_to.default_content() self.mtx_find_xpath(self.ele_save).click() sleep(3) def data_personal(self): pass def out(self): self.dev.quit()
def goto_ansers(self): self.leftobj = Mtx_Left(self.dev) self.leftobj.myshopt() self.leftobj.answers()
def goto_jifen(self): self.leftobj = Mtx_Left(self.dev) self.leftobj.myshopt() self.leftobj.myjifen()
def pre_action(self): self.leftobj = Mtx_Left(self.dev) self.leftobj.add_cookies() self.leftobj.myshopt() self.leftobj.personaldata()
def setup_class(self): self.dev = webdriver.Chrome() self.adrobj = Mtx_Address(self.dev) self.loginobj = Mtx_Login(self.dev) self.leftobj = Mtx_Left(self.dev)
def goto_order(self): Add_Cookies().adcook(self.dev) self.leftobj = Mtx_Left(self.dev) self.leftobj.myshopt() self.leftobj.order()
def goto_info(self): self.leftobj = Mtx_Left(self.dev) self.leftobj.myshopt() self.leftobj.myinfo()
def goto_orderlater(self): self.leftobj = Mtx_Left(self.dev) self.leftobj.myshopt() self.leftobj.order_later()
def go_to_safe(self): self.left = Mtx_Left(self.dev) self.left.myshopt() self.left.safe()
class Mtx_Order(Base_Page): def __init__(self, dev): super().__init__(dev) def goto_order(self): Add_Cookies().adcook(self.dev) self.leftobj = Mtx_Left(self.dev) self.leftobj.myshopt() self.leftobj.order() def order_search(self): self.mtx_find_xpath("//input[@placeholder='订单号']").clear() self.mtx_find_xpath("//input[@placeholder='订单号']").send_keys('234567') self.mtx_find_xpath( "//button[text()='搜索' and @class='am-btn am-btn-default am-radius']" ).click() def search_condition(self): self.mtx_find_xpath("//label[contains(text(),'更多筛选条件')]").click() # self.mtx_find_xpath("//a[text()='清除条件']").click() self.mtx_find_xpath("//input[@placeholder='起始时间']").click() self.mtx_find_xpath("//input[@placeholder='起始时间']").send_keys( '2021-03-10') ifr3 = self.mtx_find_xpath( "//div[@id='edui_fixedlayer']/following::div/iframe") self.dev.switch_to.frame(ifr3) self.mtx_find_xpath("//input[@id='dpOkInput']").click() self.dev.switch_to.default_content() self.mtx_find_xpath("//input[@placeholder='结束时间']").click() self.mtx_find_xpath("//input[@placeholder='结束时间']").send_keys( '2021-03-24') ifr3 = self.mtx_find_xpath( "//div[@id='edui_fixedlayer']/following::div/iframe") self.dev.switch_to.frame(ifr3) self.mtx_find_xpath("//input[@id='dpOkInput']").click() self.dev.switch_to.default_content() self.mtx_find_xpath("//input[@placeholder='最小价格']").send_keys('10') self.mtx_find_xpath("//input[@placeholder='最大价格']").send_keys('100') self.mtx_find_xpath("//div/a/span[contains(text(),'支付方式')]").click() js1 = 'document.getElementsByName("payment_id")[0].style.display=\'block\';' self.dev.execute_script(js1) sel1 = self.mtx_find_xpath("//select[@name='payment_id']") Select(sel1).select_by_visible_text('现金支付') self.mtx_find_xpath("//div/a/span[text()='付款状态...']").click() js2 = 'document.getElementsByName("pay_status")[0].style.display="block";' self.dev.execute_script(js2) sel2 = self.mtx_find_xpath("//select[@name='pay_status']") Select(sel2).select_by_value('1') self.mtx_find_xpath("//div/a/span[text()='订单状态...']").click() js3 = 'document.getElementsByName("status")[0].style.display="block";' self.dev.execute_script(js3) sel3 = self.mtx_find_xpath("//select[@name='status']") Select(sel3).first_selected_option self.mtx_find_xpath("//div/a/span[text()='评论状态...']").click() js4 = 'document.getElementsByName("is_comments")[0].style.display="block";' self.dev.execute_script(js4) sel4 = self.mtx_find_xpath("//select[@name='is_comments']") Select(sel4).select_by_index(1) self.mtx_find_xpath("//td/button[text()='搜索']").click()
def goto_address(self): self.leftobj = Mtx_Left(self.dev) self.leftobj.myshopt() self.leftobj.myaddress()
def goto_foot(self): self.leftobj = Mtx_Left(self.dev) self.leftobj.myshopt() self.leftobj.footstep()