from appium import webdriver from time import sleep # 系统配置,直接从appium中复制 desired_capabilities = { "platformName": "Android", "platformVersion": "5.1.1", "appPackage": "com.baidu.wenku", "appActivity": "com.baidu.wenku.splash.view.activity.WelcomeActivity", "deviceName": "127.0.0.1:62001" } # 打开app # 单击 "同意并继续" driver.find_element_by_id('com.baidu.wenku:id/tv_agree').click() sleep(10) # 关闭 升级 driver.find_element_by_id('com.baidu.wenku:id/dialog_pic_close').click() sleep(10) # 点击输入框 driver.find_element_by_id('com.baidu.wenku:id/h5_search_edit_text').click() sleep(10) # 输入内容 driver.find_element_by_id('com.baidu.wenku:id/h5_search_edit_text_inside').send_keys('测试面试都问啥') sleep(10) # 点击搜索 driver.find_element_by_id('com.baidu.wenku:id/h5_search_operate_text').click() sleep(10) # 进入 driver.find_element_by_xpath('/hierarchy/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.RelativeLayout[3]/android.webkit.WebView/android.webkit.WebView/android.view.View/android.view.View/android.view.View[1]/android.view.View[2]/android.view.View/android.view.View[1]/android.view.View[1]').click() sleep(10) # 输入搜索关键字 driver.find_element_by_id('com.baidu.wenku:id/h5_search_edit_text_inside').send_keys('软件测试') sleep(3) # 点击 搜索按钮 driver.find_element_by_id('com.baidu.wenku:id/h5_search_operate_text').click() sleep(10) # 获取所有搜素结果标题的文本 texts = [element.get_attribute('text') for element in driver.find_elements_by_class_name('android.view.View')] # print(texts) # 断言 assert '软件测试报告' in texts #点击 同意并继续 # driver.find_element_by_xpath('//*[@text="同意并继续"]').click() # driver.find_element_by_xpath('//*[contains(@text="同意并继续")]').click() # driver.find_element_by_xpath('//*[contains(@resource-id="com.baidu.wenku:id/tv_agree")]').click() # UiAutomator定位 # driver.find_element_by_android_uiautomator('new UiSelector().text("同意并继续")').click() # driver.find_element_by_android_uiautomator('new UiSelector().resourceId("com.baidu.wenku:id/tv_agree")').click() #多个元素定位 # driver.find_element_by_android_uiautomator('className("android.widget.TextView").text("同意并继续")').click() # driver.find_element_by_android_uiautomator('className("android.widget.TextView").text("同意并继续").resource("com.baidu.wenku:id/tv_agree")').click() # driver.find_element_by_android_uiautomator('new UiSelector().textContains("同意并继")').click() # 通过父元素来进行定位 # driver.find_element_by_android_uiautomator('className("android.widget.FrameLayout").childSelector(text("同意并继续"))').click() # 通过兄弟元素来进行定位 driver.find_element_by_android_uiautomator('text("温馨提示").fromParent(text("同意并继续"))').click() sleep(7) #关闭app driver.close_app() #打开 美图秀秀 # driver.find_element_by_accessibility_id('美图秀秀').click() # driver.find_element_by_android_uiautomator('new UiSelector().description("美图秀秀")').click() # sleep(5) # 点击 同意并继续 driver.tap([(450,850)],1000) sleep(5) # 关闭 升级 driver.tap([(360,920)],1000) sleep(8) # 向上滑动 # driver.swipe(450,950,450,650) # sleep(8) driver.close_app() # 打开 美图秀秀 # driver.tap([(370,680)]) # sleep(5) from appium import webdriver from time import sleep from appium.webdriver.common.touch_action import TouchAction # 系统配置,直接从appium中复制过来就可以了 desired_capabilities = { "platformName": "Android", "platformVersion": "5.1.1", # "appPackage": "com.baidu.wenku", # "appActivity": "com.baidu.wenku.splash.view.activity.WelcomeActivity", "deviceName": "127.0.0.1:62001" } # 打开app driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_capabilities) sleep(5) # 定位元素 mtxx = driver.find_element_by_accessibility_id('美图秀秀') # 操作元素 TouchAction(driver).long_press(mtxx).move_to(x=110,y=80).release().perform() sleep(3) # 点击确定 driver.tap([(580,730)])
|