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)
|