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:52002" } #打开app driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_capabilities) sleep(10) #单击"同意并继续" driver.find_element_by_id('com.baidu.wenku:id/tv_agree').click() sleep(20) #关闭升级 driver.find_element_by_id('com.baidu.wenku:id/dialog_pic_close').click() sleep(20) #点击搜素框 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(20) #点击搜素按钮 driver.find_element_by_id('com.baidu.wenku:id/h5_search_operate_text').click() sleep(20) 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[2]/android.view.View[1]/android.view.View[3]/android.view.View/android.view.View[1]/android.view.View[1]').click() sleep(10) 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:52002" } #打开app driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_capabilities) sleep(10) #单击"同意并继续" driver.find_element_by_id('com.baidu.wenku:id/tv_agree').click() sleep(20) #关闭升级 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) #输入搜素关键字 for key,text in [('软件测试','软件测试报告'),('火星探测','火星探测器')]: # driver.find_element_by_id('com.baidu.wenku:id/h5_search_edit_text_inside').send_keys('软件测试') driver.find_element_by_id('com.baidu.wenku:id/h5_search_edit_text_inside').send_keys(key) sleep(10) #点击搜素按钮 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) sleep(10) #断言 # assert '软件测试报告' in texts assert text in texts 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:52002" } #打开app driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_capabilities) sleep(10) #点击同意并继续 -通用属性定位 # driver.find_element_by_xpath('//*[@text="同意并继续"]').click() #精确匹配 # driver.find_element_by_xpath('//*[contains(@text,"同意并继续")]').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('new UiSelector().textContains("同意并继")').click() #同时使用多个属性进行定位 # driver.find_element_by_android_uiautomator('className("android.widget.TextView").text("同意并继续")').click() # driver.find_element_by_android_uiautomator('className("android.widget.TextView").text("同意并继续").resourceId("com.baidu.wenku:id/tv_agree")').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(10) #关闭app driver.close_app() #打开美图秀秀 # driver.find_element_by_accessibility_id('美图秀秀').click() # driver.find_element_by_android_uiautomator('new UiSelector().description("美图秀秀")').click() # sleep(3)
|