菁英科技(卓目鸟学苑)- 专注软件测试菁英教育
标题: Appium_白李娜_20210304 [打印本页]
作者: つ兜兜里没糖 时间: 2021-3-4 19:07
标题: Appium_白李娜_20210304
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 (进入appium的custom server)
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',desired_capabilities)
sleep(3)
# 单击同意并继续
driver.find_element_by_id('com.baidu.wenku:id/tv_agree').click()
driver.find_element_by_xpath('//*[@text = "同意并继续"]').click()
driver.find_element_by_xpath('//*[contains(@text,"同意并继续")]').click()
driver.find_element_by_xpath('//*[@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() #resourceId 驼峰命名法
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('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()
# 点击 同意并继续
driver.tap([(450,850)],1000)
# 取消升级
driver.find_element_by_id('com.baidu.wenku:id/dialog_pic_close').click()
driver.tap([(360,920)],1000)
# 点击输入框
driver.find_element_by_id('com.baidu.wenku:id/h5_search_edit_text').click()
# 向上滑动 x1 y1 x2 y2
driver.swipe(450,950,450,650)
# 输入内容
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_operate_text').click()
# 获取所有搜索结果标题的文本
texts = [element.get_attribute('text')for element in driver.find_elements_by_class_name('android.view.View')]
# 断言
assert '软件测试报告' in texts
# 输入搜索关键字
for key,text in [('软件测试','软件测试报告'),('火星探测','火星探测器')]:
driver.find_element_by_id('com.baidu.wenku:id/h5_search_edit_text_inside').send_keys(key)
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')]
# 断言
assert text in texts
# 定位元素
mtxx = driver.find_element_by_accessibility_id('美图秀秀')
sleep(3)
# 操作元素
TouchAction(driver).long_press(mtxx).move_to(x=120,y=80).release().perfrom()
sleep(3)
# 点击 确定
driver.tap([(600,730)],1000)
# 按HOME键
driver.press_keycode(3)
# 按音量键
driver.press_keycode(24)
driver.press_keycode(24)
driver.press_keycode(24)
driver.press_keycode(25)
driver.press_keycode(25)
driver.press_keycode(25)
欢迎光临 菁英科技(卓目鸟学苑)- 专注软件测试菁英教育 (http://www.zmnxy.com/) |
Powered by Discuz! X3.4 |