class search(Base_page.Base_page): by = mobileby.MobileBy() # 搜索框按钮 search_box_button = (by.ID, "com.codereview.reworldhaiwai:id/searchLL") # 搜索输入框 Input_search = (by.ID, "com.codereview.reworldhaiwai:id/searchEdit") # 搜索按钮 search_button = (by.ID, "com.codereview.reworldhaiwai:id/searchTv") # 返回按钮 return_button = (by.CLASS_NAME, "android.widget.ImageView") # 点击搜索框按钮 def click_search_box_button(self): self.find_element(*self.search_box_button).click() # 点击搜索框 def click_Input_search(self): self.find_element(*self.Input_search).click() # 输入内容 def input_Input_search(self, content): self.send_keys(content, *self.Input_search) # 点击搜索按钮 def click_search_button(self): self.find_element(*self.search_button).click() # 点击返回按钮 def click_return_button(self): self.find_element(*self.return_button).click()
class Main_page(Base_page): by = mobileby.MobileBy() summary_loc = ( by.XPATH, "//android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.view.View[1]/android.view.View[2]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[2]/android.view.View[1]/android.view.View[1]" ) commercial_loc = ( by.XPATH, "//android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.view.View[1]/android.view.View[2]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[2]/android.view.View[1]/android.view.View[2]" ) invest_loc = ( by.XPATH, "//android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.view.View[1]/android.view.View[2]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[2]/android.view.View[1]/android.view.View[3]" ) transfer_loc = ( by.XPATH, "//android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.widget.FrameLayout[1]/android.view.View[1]/android.view.View[2]/android.view.View[1]/android.view.View[1]/android.view.View[1]/android.view.View[2]/android.view.View[1]/android.view.View[4]" ) def click_commercial(self): self.find_element(*self.commercial_loc).click() def click_invest(self): self.find_element(*self.invest_loc).click() def click_transfer(self): self.find_element(*self.transfer_loc).click()
class login_page(basepage.Base_page): by = mobileby.MobileBy() enloginpassword = (by.ID, "com.shinyv.cnr:id/right_txt1") #密码登录入口 phoneinput = (by.ID, "com.shinyv.cnr:id/login_user_edit") #手机号输入框 passwordinput = (by.ID, "com.shinyv.cnr:id/login_password_edit") #密码输入框 loginbutton = (by.ID, "com.shinyv.cnr:id/login_btn") #登录按钮 ''' 点击账号密码登录入口''' def click_enloginpassword(self): self.find_element(*self.enloginpassword).click() def input_phoneinput(self, phonenumber): self.send_keys(phonenumber, *self.phoneinput) def input_password(self, password): self.send_keys(password, *self.passwordinput) '''点击登录按钮''' def click_login(self): self.find_element(*self.loginbutton).click() #手机号密码登录 def login(self, phone, password): self.click_enloginpassword() time.sleep(3) self.input_phoneinput(phone) self.input_password(password) self.click_login()
class startpage(basepage.Base_page): by = mobileby.MobileBy() '''包含启动页,开屏广告,插屏广告,个性化选择页''' enterbtn = (by.ID, "com.shinyv.cnr:id/btn_enter") #启动图,进入app按钮 skipbtn = (by.ID, "com.shinyv.cnr:id/skip_btn") #启动图,跳过按钮 jumpbtn = (by.ID, "com.shinyv.cnr:id/jump_tv") #个性话选择页,跳过按钮 adskipbtn = (by.ID, "com.shinyv.cnr:id/delet") #开屏广告,跳过按钮 adskipbtn2 = (by.ID, "com.shinyv.cnr:id/iv_close") #插屏广告,关闭按钮 ad2view = (by.ID, "com.shinyv.cnr:id/iv_ad") #插屏广告view def click_enterbtn(self): self.find_element(*self.enterbtn).click() def click_skipbtn(self): self.find_element(*self.skipbtn).click() def click_jumpbtn(self): self.find_element(*self.jumpbtn).click() def click_adskipbtn(self): self.find_element(*self.adskipbtn).click() def click_adskipbtn2(self): self.find_element(*self.adskipbtn2).click() def click_ad2view(self): self.find_element(*self.ad2view).click() def get_ad2view_status(self): return self.find_element(*self.ad2view).is_displayed()
class find_page(Base_page.Base_page): by = mobileby.MobileBy() # 发现页按钮 find_button = (by.ID, "com.codereview.reworldhaiwai:id/home2LottieHome") # 点击发现页按钮 def click_find_button(self): self.find_element(*self.find_button).click()
def test01_addComment(self): """在搜索框输入网址,验证是否能跳转到相关网页""" by = mobileby.MobileBy() self.YD.findElements(by.CLASS_NAME,"android.widget.ImageView")[2].click() time.sleep(4) self.YD.findElement(by.ID,"com.vivo.browser:id/input").click() self.YD.Send_keys("aaa",by.ID,"com.vivo.browser:id/content") self.YD.findElement(by.ID,"com.vivo.browser:id/submit").click() time.sleep(1) assert "成功" in self.driver.page_source self.log.info("成功添加新闻评论")
class feed(Base_page.Base_page): by = mobileby.MobileBy() # 反馈按钮 feed_button = (by.ID, "com.codereview.reworldhaiwai:id/tv_feedback") # 返回按钮 close_button = (by.XPATH, "/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.view.ViewGroup/android.widget.ImageButton") # 点击反馈按钮 def click_feed_button(self): self.find_element(*self.feed_button).click() # 点击返回 def click_close_button(self): self.find_element(*self.close_button).click()
class login_page(Base_page.Base_page): by = mobileby.MobileBy() etUser_loc = (by.ID,"com.xsteach.appedu:id/etUser") etPws_loc = (by.ID,"com.xsteach.appedu:id/etPwd") btnLogin_loc = (by.ID,"com.xsteach.appedu:id/btnLogin") def input_user(self,username): self.send_keys(username,*self.etUser_loc) def input_Pws(self,password): self.send_keys(password,*self.etPws_loc) def click_btnLogin(self): self.find_element(*self.btnLogin_loc).click()
class login_page(Base_page.Base_page): by = mobileby.MobileBy() etUser_loc = (by.ID, "cn.com.pubinfo.szzet:id/login_userName") etPws_loc = (by.ID, "cn.com.pubinfo.szzet:id/login_password") btnLogin_loc = (by.ID, "cn.com.pubinfo.szzet:id/loginButton") def input_user(self, username): self.send_keys(username, *self.etUser_loc) def input_Pws(self, password): self.send_keys(password, *self.etPws_loc) def click_btnLogin(self): self.find_element(*self.btnLogin_loc).click()
class sex(Base_page.Base_page): by = mobileby.MobileBy() # 女生按钮 girl_button = (by.ID, "com.codereview.reworldhaiwai:id/rb_female") # 男生按钮 boy_button = (by.ID, "com.codereview.reworldhaiwai:id/rb_male") # 点击女生按钮 def click_girl_button(self): self.find_element(*self.girl_button).click() # 点击男生按钮 def click_boy_button(self): self.find_element(*self.boy_button).click()
class my(Base_page.Base_page): by = mobileby.MobileBy() # 我的按钮 my_button = (by.ID, "com.codereview.reworldhaiwai:id/home2LottieMy") # 头像按钮 Head_button = (by.ID, "com.codereview.reworldhaiwai:id/img_avtar") # 点击我的按钮 def click_my_button(self): self.find_element(*self.my_button).click() # 点击头像按钮 def click_Head_button(self): self.find_element(*self.Head_button).click()
class Login_page(Base_page.Base_page): by = mobileby.MobileBy() # 我的按钮 my_button = (by.ID, "com.codereview.reworldhaiwai:id/home2LottieMy") # 我的页面login/Registration按钮 login_button = (by.ID, "com.codereview.reworldhaiwai:id/tx_tourish") # 手机输入框 user = (by.ID, "com.codereview.reworldhaiwai:id/phone") # 密码输入框 password = (by.ID, "com.codereview.reworldhaiwai:id/password") # 登录按钮 enter_button = (by.ID, "com.codereview.reworldhaiwai:id/login") # 登录被踢按钮 go_it_button = ( by.XPATH, "/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView" ) # 点击登录被踢按钮 def click_go_it_button(self): self.find_element(*self.go_it_button).click() # 点击我的按钮 def click_my_button(self): self.find_element(*self.my_button).click() # 点击login/Registration按钮 def click_login_button(self): self.find_element(*self.login_button).click() # 点击输入框 def click_user(self): self.find_element(*self.user).click() # 输入手机号 def input_user(self, username): self.send_keys(username, *self.user) # 点击密码框 def click_password(self): self.find_element(*self.password).click() # 输入密码 def input_password(self, pwd): self.send_keys(pwd, *self.password) # 点击登录按钮 def click_enter_button(self): self.find_element(*self.enter_button).click()
def test01_searchUrl(self): """在搜索框输入网址,验证是否能跳转到相关网页""" by = mobileby.MobileBy() self.YD.findElement(by.ID, "com.vivo.browser:id/search_text").click() self.YD.Send_keys("www.baidu.com", by.ID, "com.vivo.browser:id/edit") self.YD.findElement(by.ID, "com.vivo.browser:id/search_btn").click() time.sleep(2) # 向下划动 for i in range(0, 3): self.GM.swipe_down(self.driver) # 向上划动 for i in range(0, 3): self.GM.swipe_up(self.driver) assert "百度" in self.driver.page_source self.log.info("成功跳转到搜索的网页并能正常划动页面")
class login_page(Base_page.Base_page): by = mobileby.MobileBy() etUser_loc = (by.ID, "com.xiniunet.xntalk:id/et_account") etPws_loc = (by.ID, "com.xiniunet.xntalk:id/et_password") btnLogin_loc = (by.ID, "com.xiniunet.xntalk:id/btn_login") def input_user(self, username): self.send_keys(username, *self.etUser_loc) def input_Pws(self, password): self.send_keys(password, *self.etPws_loc) def click_btnLogin(self): self.find_element(*self.btnLogin_loc).click() time.sleep(10)
def __init__(self): self.total_count = 0 self.desired_caps = WxConfig.getAppiumConfig() try: self.driver = webdriver.Remote(WxConfig.getServerUrl(), self.desired_caps) self.wait = WebDriverWait(self.driver, TIMEOUT) x = self.driver.get_window_size()['width'] y = self.driver.get_window_size()['height'] self.screen_size = [x, y] self.by = mobileby.MobileBy() except Exception as e: print(f"{e}") pass pass
class course_page(Base_page.Base_page): by = mobileby.MobileBy() course_loc = (by.ID, packageName + ':id/home_videoview') player_loc = ( by.XPATH, '//android.support.v7.widget.RecyclerView[2]/android.widget.FrameLayout' ) def click_btn(self): self.find_element(*self.course_loc).click() def chickPlayer(self): print(self.find_element(*self.player_loc).isfocused()) if not self.find_element(*self.player_loc).isfocused(): self.find_element(*self.player_loc).click()
class fav(Base_page.Base_page): by = mobileby.MobileBy() # 喜欢按钮 fav_button = (by.ID, "com.codereview.reworldhaiwai:id/iv_c") # 返回按钮 close_button = ( by.XPATH, "/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.view.ViewGroup[1]/android.widget.ImageButton" ) # 点击喜欢按钮 def click_fav_button(self): self.find_element(*self.fav_button).click() # 点击返回按钮 def click_close_button(self): self.find_element(*self.close_button).click()
class login(Base_page): By = mobileby.MobileBy() first_login_butn_loc = (By.ID, "xxx:id/btn_login") second_login_butn_loc = (By.ID, "xxx:id/login_rulesave_btn") login_username_loc = (By.ID, "xxx:id/username_edit") login_password_loc = (By.ID, "xxx:id/password_edit") def first_page_login_butn(self): self.find_element(*self.first_login_butn_loc).click() def second_page_login_butn(self): self.find_element(*self.second_login_butn_loc).click() def login_username(self, username): self.find_element(*self.login_username_loc).send_keys(username) def login_password(self, password): self.find_element(*self.login_password_loc).send_keys(password)
class Login_page(Base_page.Base_page, unittest.TestCase): by = mobileby.MobileBy() #通过云之家进入 #移动库存(通过ID进行定位) cq_yunzhijia_yidongkucun = ( by.XPATH, "//*[@resource-id='com.kdweibo.client:id/ic_app_name'][@text='移动库存_b1']" ) # 封装操作(点击操作) def click_cq_yunzhijia_yidongkucun(self): #判断能否进行点击操作,如果能够点击操作,赋值1,同时输出点击成功的提示 try: self.find_element(*self.cq_yunzhijia_yidongkucun).click() self.dy_cq_yunzhijia_yidongkucun = 1 print("移动库存点击成功") #如果不能进行点击操作,赋值2,同时输出点击不成功的提示,并且输出当前页的截图 except: self.dy_cq_yunzhijia_yidongkucun = 2 print("移动库存点击失败,输出当前截图") self.driver.get_screenshot_as_file( "C:\\Users\\Administrator\\PycharmProjects\\pythonProject\\cqydtest\\src\\image\\cq_yunzhijia_yingyong.png" ) # ------------------------采购收货单页面------------------------ # 采购收货图标(通过xpath进行定位) cgshd_yingyong_tubiao = ( by.XPATH, "//*[@class='android.view.View'][@content-desc='收货单']") # 封装操作(点击操作) def click_cgshd_yingyong_tubiao(self): #判断能否进行点击操作,如果能够点击操作,赋值1,同时输出点击成功的提示 try: self.find_element(*self.cgshd_yingyong_tubiao).click() self.dy_cgshd_yingyong_tubiao = 1 print("采购收货单点击成功") #如果不能进行点击操作,赋值2,同时输出点击不成功的提示,并且输出当前页的截图 except: self.dy_cgshd_yingyong_tubiao = 2 print("采购收货单点击失败,输出当前截图") self.driver.get_screenshot_as_file( "C:\\Users\\Administrator\\PycharmProjects\\pythonProject\\cqydtest\\src\\image\\click_cgshd_yingyong_tubiao.png" )
class shenhe (Base_page.Base_page,unittest.TestCase): by = mobileby.MobileBy () # ------------------------采购收货单页面------------------------ #采购收货单-订单列表-暂存订单-提交按钮(通过xpath进行定位) cgshd_zancun_dingdan_shenhe = (by.XPATH, "//*[@class='android.view.View'][@content-desc='审核']") # 封装操作(点击操作) def click_cgshd_zancun_dingdan_shenhe(self): #判断能否进行点击操作,如果能够点击操作,赋值1,同时输出点击成功的提示 try: self.find_element(*self.cgshd_zancun_dingdan_shenhe).click() self.dy_cgshd_zancun_dingdan_shenhe = 1 print("审核成功") #如果不能进行点击操作,赋值2,同时输出点击不成功的提示,并且输出当前页的截图 except: self.dy_cgshd_zancun_dingdan_shenhe = 2 print("审核失败,输出当前截图") self.driver.get_screenshot_as_file("C:\\Users\\Administrator\\PycharmProjects\\pythonProject\\cqydtest\\src\\image\\click_cgshd_zancun_dingdan_shenhe.png")
class neirong_page(Base_page.Base_page): by = mobileby.MobileBy () # --------------------点击任意的入库单------------------ # 点击订单内容(通过xpath进行定位) cgrk_shouye_dingdan_neirong = (by.XPATH, "//*[@class='android.view.View'][@content-desc='仓库:']") # 封装操作(点击操作) def click_cgrk_shouye_dingdan_neirong(self): #判断能否进行点击操作,如果能够点击操作,赋值1,同时输出点击成功的提示 try: self.find_element(*self.cgrk_shouye_dingdan_neirong).click() self.dy_cgrk_shouye_dingdan_neirong = 1 print("点击订单内容点击成功") #如果不能进行点击操作,赋值2,同时输出点击不成功的提示,并且输出当前页的截图 except: self.dy_cgrk_shouye_dingdan_neirong = 2 print("点击订单内容点击失败,输出当前截图") self.driver.get_screenshot_as_file("C:\\Users\\Administrator\\PycharmProjects\\pythonProject\\cqydtest\\src\\image\\click_cgrk_shouye_dingdan_neirong.png")
class xiatui(Base_page.Base_page, unittest.TestCase): by = mobileby.MobileBy() # ------------------------采购收货单页面------------------------ # 采购收货单-订单列表-已审核订单(通过xpath进行定位) cgshd_shenhe_dingdan_liebiao_sj = ( by.XPATH, "//*[@class='android.view.View'][@content-desc='已审核'][@resource-id='labelapaudit']" ) # 封装操作(点击操作) def click_cgshd_shenhe_dingdan_liebiao_sj(self): # 判断能否进行点击操作,如果能够点击操作,赋值1,同时输出点击成功的提示 try: self.find_element(*self.cgshd_shenhe_dingdan_liebiao_sj).click() self.dy_cgshd_shenhe_dingdan_liebiao_sj = 1 print("订单列表-已审核订单,点击成功") # 如果不能进行点击操作,赋值2,同时输出点击不成功的提示,并且输出当前页的截图 except: self.dy_cgshd_shenhe_dingdan_liebiao_sj = 2 print("订单列表-已审核订单,输出当前截图") self.driver.get_screenshot_as_file( "C:\\Users\\Administrator\\PycharmProjects\\pythonProject\\cqydtest\\src\\image\\click_cgshd_shenhe_dingdan_liebiao_sj.png" ) # 采购收货单-订单列表-已审核订单-下推(通过xpath进行定位) cgshd_shenhe_dingdan_xiatui = ( by.XPATH, "//*[@class='android.view.View'][@content-desc='下推']") # 封装操作(点击操作) def click_cgshd_shenhe_dingdan_xiatui(self): # 判断能否进行点击操作,如果能够点击操作,赋值1,同时输出点击成功的提示 try: self.find_element(*self.cgshd_shenhe_dingdan_xiatui).click() self.dy_cgshd_shenhe_dingdan_xiatui = 1 print("下推成功") # 如果不能进行点击操作,赋值2,同时输出点击不成功的提示,并且输出当前页的截图 except: self.dy_cgshd_shenhe_dingdan_xiatui = 2 print("下推失败,输出当前截图") self.driver.get_screenshot_as_file( "C:\\Users\\Administrator\\PycharmProjects\\pythonProject\\cqydtest\\src\\image\\click_cgshd_shenhe_dingdan_xiatui.png" )
class often_play(Base_page.Base_page): by = mobileby.MobileBy() # 常玩按钮 often_buton = (by.ID, "com.codereview.reworldhaiwai:id/tv_tav_title_dmg") # 游戏按钮 game_button = (by.ID, "com.codereview.reworldhaiwai:id/historyRecommentBg") # 返回按钮 close_button = (by.ID, "com.codereview.reworldhaiwai:id/img_close") # 点击常玩按钮 def click_often_buton(self): self.find_element(*self.often_buton).click() # 点击游戏按钮 def click_game_button(self): self.find_element(*self.game_button).click() # 点击返回按钮 def click_close_button(self): self.find_element(*self.close_button).click()
class chexiao_page(Base_page.Base_page): by = mobileby.MobileBy() # --------------------点击任意的入库单------------------ # 订单状态下拉列表里面的暂存选项 cgrk_shouye_tijiao_chexiao_dingdan = ( by.XPATH, "//*[@class='android.view.View'][@content-desc='已提交'][@resource-id='labelapsubmit']" ) def click_cgrk_shouye_tijiao_chexiao_dingdan(self): #判断能否进行点击操作,如果能够点击操作,赋值1,同时输出点击成功的提示 try: self.find_element(*self.cgrk_shouye_tijiao_chexiao_dingdan).click() self.dy_cgrk_shouye_tijiao_chexiao_dingdan = 1 print("已提交点击成功") #如果不能进行点击操作,赋值2,同时输出点击不成功的提示,并且输出当前页的截图 except: self.dy_cgrk_shouye_tijiao_chexiao_dingdan = 2 print("已提交点击失败,输出当前截图") self.driver.get_screenshot_as_file( "C:\\Users\\Administrator\\PycharmProjects\\pythonProject\\cqydtest\\src\\image\\click_cgrk_shouye_tijiao_chexiao_dingdan.png" ) #提交订单的撤回 cgrk_shouye_tijiao_chexiao_chehui = ( by.XPATH, "//*[@class='android.view.View'][@content-desc='撤销']") def click_cgrk_shouye_tijiao_chexiao_chehui(self): #判断能否进行点击操作,如果能够点击操作,赋值1,同时输出点击成功的提示 try: self.find_element(*self.cgrk_shouye_tijiao_chexiao_chehui).click() self.dy_cgrk_shouye_tijiao_chexiao_chehui = 1 print("撤回点击成功") #如果不能进行点击操作,赋值2,同时输出点击不成功的提示,并且输出当前页的截图 except: self.dy_cgrk_shouye_tijiao_chexiao_chehui = 2 print("撤回点击失败,输出当前截图") self.driver.get_screenshot_as_file( "C:\\Users\\Administrator\\PycharmProjects\\pythonProject\\cqydtest\\src\\image\\click_cgrk_shouye_tijiao_chexiao_chehui.png" )
class tijiao_page(Base_page.Base_page): by = mobileby.MobileBy() # --------------------点击任意的入库单------------------ # 采购入库单列表,暂存的订单(通过xpath进行定位) cgrk_shouye_zancun_shanchu = ( by.XPATH, "//*[@resource-id='labelapsave'][@content-desc='暂存']") # 封装操作(点击操作) def click_cgrk_shouye_zancun_shanchu(self): #判断能否进行点击操作,如果能够点击操作,赋值1,同时输出点击成功的提示 try: self.find_element(*self.cgrk_shouye_zancun_shanchu).click() self.dy_cgrk_shouye_zancun_shanchu = 1 print("暂存的订单点击成功") #如果不能进行点击操作,赋值2,同时输出点击不成功的提示,并且输出当前页的截图 except: self.dy_cgrk_shouye_zancun_shanchu = 2 print("暂存的订单点击失败,输出当前截图") self.driver.get_screenshot_as_file( "C:\\Users\\Administrator\\PycharmProjects\\pythonProject\\cqydtest\\src\\image\\click_cgrk_shouye_zancun_shanchu.png" ) # 暂存订单详情里面的保存按钮 cgrk_shouye_zancun_baocun = ( by.XPATH, "//*[@class='android.view.View'][@content-desc='保存'][@index='3']") def click_cgrk_shouye_zancun_baocun(self): #判断能否进行点击操作,如果能够点击操作,赋值1,同时输出点击成功的提示 try: self.find_element(*self.cgrk_shouye_zancun_baocun).click() self.dy_cgrk_shouye_zancun_baocun = 1 print("保存按钮点击成功") #如果不能进行点击操作,赋值2,同时输出点击不成功的提示,并且输出当前页的截图 except: self.dy_cgrk_shouye_zancun_baocun = 2 print("保存按钮点击失败,输出当前截图") self.driver.get_screenshot_as_file( "C:\\Users\\Administrator\\PycharmProjects\\pythonProject\\cqydtest\\src\\image\\click_cgrk_shouye_zancun_baocun.png" )
def note(self): note_content = "記事本" test_note = "測試記事" By = mobileby.MobileBy() MySync = MySyncFolder(self.driver) MySync.float_blue_butn() MySync.note(note_content, test_note) sleep(8) note_text = WebDriverWait(self.driver, 10).until( EC.presence_of_element_located( (By.XPATH, "//*[@text='測試記事.txt']"))).text self.assertEqual(note_text, "測試記事.txt") MySync.blue_multiple_butn() MySync.multi_select_file() WebDriverWait(self.driver, 10).until( EC.presence_of_element_located( (By.XPATH, "//android.widget.TextView[@text='測試記事.txt']"))).click() MySync.blue_multiple_butn() MySync.blue_multiple_delete_butn() MySync.confirm_delete()
def addnewfolder(self): foldername = "test_addnewfolder" By = mobileby.MobileBy() MySync = MySyncFolder(self.driver) MySync.float_blue_butn() MySync.addnewfolder(foldername) sleep(2) addnewfolder_text = WebDriverWait(self.driver, 10).until( EC.presence_of_element_located( (By.XPATH, "//*[@text='test_addnewfolder']"))).text self.assertEqual(addnewfolder_text, "test_addnewfolder") MySync.blue_multiple_butn() MySync.multi_select_file() WebDriverWait(self.driver, 10).until( EC.presence_of_element_located( (By.XPATH, "//android.widget.TextView[@text='test_addnewfolder']" ))).click() MySync.blue_multiple_butn() MySync.blue_multiple_delete_butn() MySync.confirm_delete()
class shanchu_page(Base_page.Base_page): by = mobileby.MobileBy() # --------------------点击任意的入库单------------------ # 暂存订单详情里面的删除按钮 cgrk_shouye_zancun_shanchu = ( by.XPATH, "//*[@class='android.view.View'][@content-desc='删除']") def click_cgrk_shouye_zancun_shanchu(self): #判断能否进行点击操作,如果能够点击操作,赋值1,同时输出点击成功的提示 try: self.find_element(*self.cgrk_shouye_zancun_shanchu).click() self.dy_cgrk_shouye_zancun_shanchu = 1 print("删除按钮点击成功") #如果不能进行点击操作,赋值2,同时输出点击不成功的提示,并且输出当前页的截图 except: self.dy_cgrk_shouye_zancun_shanchu = 2 print("删除按钮点击失败,输出当前截图") self.driver.get_screenshot_as_file( "C:\\Users\\Administrator\\PycharmProjects\\pythonProject\\cqydtest\\src\\image\\click_cgrk_shouye_zancun_shanchu.png" )
class search(basepage.Base_page): by = mobileby.MobileBy() #搜索框 searchButton = (by.ID, "com.shinyv.cnr:id/layout_search") #点击搜索框后的框 etsearch = (by.ID, "com.shinyv.cnr:id/et_search") #搜索按钮 beginsearchbutton = (by.ID, "com.shinyv.cnr:id/search_top_text") #搜索结果第一个位置 firstresult = ( by.XPATH, "//androidx.recyclerview.widget.RecyclerView/android.view.ViewGroup[1]" ) def searchbuttonclick(self): self.find_element(*self.searchButton).click() #输入搜索词 def inputsearchkey(self, keyword): self.send_keys(keyword, *self.etsearch) #开始搜索 def beginsearch(self): self.find_element(*self.beginsearchbutton).click() #选择搜索结果第一个 def selectfirstone(self): self.find_element(*self.firstresult).click() #包装,搜索关键词并对结果选择 def searchkeywords_firstone(self, keywords): self.searchbuttonclick() time.sleep(2) self.inputsearchkey(keywords) time.sleep(2) self.beginsearch() time.sleep(3) self.selectfirstone()
class play(Base_page.Base_page): by = mobileby.MobileBy() # 玩过按钮 play_button = (by.ID, "com.codereview.reworldhaiwai:id/tv_recent") # edit按钮 edit_button = (by.ID, "com.codereview.reworldhaiwai:id/tv_right") # 选中按钮 selected_button = (by.XPATH, "/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.view.ViewGroup/android.widget.RelativeLayout/androidx.recyclerview.widget.RecyclerView/android.widget.FrameLayout[1]/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.ImageView") # 删除按钮 delete_button = (by.ID, "com.codereview.reworldhaiwai:id/tv_all_delete") # comfirm按钮 comfirm_button = (by.XPATH, "/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.TextView[2]") # 返回按钮 close_button = (by.XPATH, "/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.LinearLayout/android.widget.RelativeLayout/android.widget.RelativeLayout/android.widget.RelativeLayout[1]/android.widget.ImageView") # 点击玩过按钮 def click_play_button(self): self.find_element(*self.play_button).click() # 点击edit按钮 def click_edit_button(self): self.find_element(*self.edit_button).click() # 点击选中按钮 def click_selected_button(self): self.find_element(*self.selected_button).click() # 点击删除按钮 def click_delete_button(self): self.find_element(*self.delete_button).click() # 点击commfirm按钮 def click_comfirm_button(self): self.find_element(*self.comfirm_button).click() # 点击返回按钮 def click_close_button(self): self.find_element(*self.close_button).click()