不是搜索网站的是,WordPress自动修改标签别名,对网页设计作品的意见,厦门外贸网站建设公司目录 Appium中的api(三) 1.输入和清空内容 1--输入内容 2--清空内容 2.获取文本内容 3.获取文本位置 4.获取文本的大小#xff08;即获取控件的宽和高#xff09; 5.滑动api 6.拖拽api 7.如何获取手机分辨率 8.如何截图 9.模拟按键事件api 10.操作通知栏 案例:App自动化模拟 … 目录 Appium中的api(三) 1.输入和清空内容 1--输入内容 2--清空内容 2.获取文本内容 3.获取文本位置 4.获取文本的大小即获取控件的宽和高 5.滑动api 6.拖拽api 7.如何获取手机分辨率 8.如何截图 9.模拟按键事件api 10.操作通知栏 案例:App自动化模拟 1--源码 2--效果 附录 下面是一些常见的keyCode Appium中的api(三)
1.输入和清空内容
1--输入内容
send_keys(设置该元素的值) element.send_keys(这里面是设置元素的值) 2--清空内容
clear() 清空元素的值
send_key() element.send_keys() element.clear() 2.获取文本内容
element.text # 这个是获取文本内容 element.text 3.获取文本位置 element.location # 获取坐标信息 element.location[x] # 获取x轴 element.location[y] # 获取y轴 4.获取文本的大小即获取控件的宽和高 element.size # 获取控件的宽和高 5.滑动api
def swipe(self, start_x: int, start_y: int, end_x: int, end_y: int, duration: int 0) 起始位置坐标 滑动到 结束坐标位置 dirver.swipe(startX,startY,endX,endYduration) 6.拖拽api # 把endElement 拖拽到scroll位置 driver.scroll(startElement,endElement) # 把endElement 拖拽到scroll位置 driver.drag_and_drop(startElement,endElement) 7.如何获取手机分辨率 # 获取手机分辨率信息 getInfo driver.get_window_size() # 获取手机的宽度 myWidthInfo getInfo[width] # 获取手机的高度 myHeightInfo getInfo[height] 8.如何截图 driver.get_screenshot_as_file 参数文件路径文件名 9.模拟按键事件api driver.press_keycode(4) # 模拟返回案件 10.操作通知栏 driver.open_notifications() 案例:App自动化模拟
1--源码
下面是全部的python源码 import time
import unittest
from appium import webdriver
from appium.options.android import UiAutomator2Options
from appium.webdriver.common.appiumby import AppiumBycapabilities dict(platformNameAndroid, # 名字这个这就是这个automationNameuiautomator2, # 这个是使用的驱动deviceNameAndroid, # 这个是设备名字可以随意appPackagecom.android.settings, # 这个是你要启动的包名appActivity.Settings, # 这个是你要启动的活动单元名字languageen,localeUS,udid127.0.0.1:21503 # 这个是要连接的设备的ip和端口号 我用的是逍遥模拟器 端口号为 21503
)appium_server_url http://localhost:4723class MyElementUiTest(unittest.TestCase):# 前置处理def setUp(self) - None:self.driver webdriver.Remote(appium_server_url, optionsUiAutomator2Options().load_capabilities(capabilities))# 后置处理 关闭连接会话sessiondef tearDown(self) - None:self.driver.quit()# testdef test_find_by_id(self):# 获取当前界面的信息myPackageInfo self.driver.current_package;print(myPackageInfo)# 获取当前页面的包名myActivityInfo self.driver.current_activityprint(myActivityInfo)def test_my_element_test(self):# 获取搜索栏信息mySearchElementID com.android.settings:id/search_action_barmySearchElement self.driver.find_element(AppiumBy.ID, mySearchElementID)# 点击搜索栏mySearchElement.click();# 停留2秒time.sleep(2)print(获取编辑框id)# 获取编辑框的idmyEditTextID android:id/search_src_textmyEditText self.driver.find_element(AppiumBy.ID, myEditTextID)# 输入信息你好啊AppiummyEditText.send_keys(你好啊Appium)# 停留两秒钟time.sleep(2)# 清除信息myEditText.clear()time.sleep(2)print(输入信息,你好啊Appium)# 输入信息你好啊AppiummyEditText.send_keys(你好啊Appium)time.sleep(2)# 清除信息myEditText.send_keys()time.sleep(2)print(模拟返回)# 模拟返回self.driver.press_keycode(4)# 停留两秒time.sleep(2)# 滑动两次屏幕# 获取设备信息print(获取设备信息)devicesInfo self.driver.get_window_size();print(devicesInfo)# 获取高度height devicesInfo[height]print(height)width devicesInfo[width]print(width)print(模拟滑动屏幕)# def swipe(self, start_x: int, start_y: int, end_x: int, end_y: int, duration: int 0)self.driver.swipe( start_xwidth * 0.5, start_yheight * 0.8,end_x width * 0.5, end_yheight * 0.2, duration1000)time.sleep(2)self.driver.swipe( start_xwidth * 0.5, start_yheight * 0.8,end_x width * 0.5, end_yheight * 0.2, duration1000)time.sleep(2)print(模拟滑动屏幕结束)# 通过是否包含字体获取控件# xpathmyStartElement self.driver.find_element(AppiumBy.XPATH, //*[contains(text,应用和通知)])# 结束元素myEndElement self.driver.find_element(AppiumBy.XPATH, //*[contains(text,声音)])print(拖拽)self.driver.scroll(myStartElement, myEndElement)time.sleep(2)print(拖拽结束)self.driver.drag_and_drop(myEndElement, myStartElement)time.sleep(2)print(拖拽结束)# 打开通知栏self.driver.open_notifications()time.sleep(2)print(打开通知栏结束)self.driver.back() 2--效果 附录
下面是一些常见的keyCode
拨号键KEYCODE_CALL6挂机键KEYCODE_ENDCALL8BackSpace退格键但通常不直接用这个KeyCode表示退格9Tab键KEYCODE_TAB16Shift_L左Shift键19导航键向上KEYCODE_DPAD_UP20导航键向下KEYCODE_DPAD_DOWN21导航键向左KEYCODE_DPAD_LEFT22导航键向右KEYCODE_DPAD_RIGHT23导航键确定键KEYCODE_DPAD_CENTER24音量增加键KEYCODE_VOLUME_UP25音量减小键KEYCODE_VOLUME_DOWN26电源键KEYCODE_POWER27Escape键KEYCODE_ESCAPE或拍照键在某些上下文中32空格键space36Home键与KEYCODE_HOME相同但数字不同37左箭头键Left38上箭头键Up39右箭头键Right40下箭头键Down46Delete键KEYCODE_DEL61Enter键在某些上下文中但通常Enter用66表示66回车键KEYCODE_ENTER67退格键KEYCODE_DEL的另一种表示但通常退格用8表示BackSpace82菜单键KEYCODE_MENU83通知键KEYCODE_NOTIFICATION但注意这不是标准的Android键码84搜索键KEYCODE_SEARCH91话筒静音键KEYCODE_MUTE但注意这不是标准的Android键码92向上翻页键KEYCODE_PAGE_UP93向下翻页键KEYCODE_PAGE_DOWN111ESC键与KEYCODE_ESCAPE相同但数字不同112删除键FORWARD_DEL与KEYCODE_DEL不同115大写锁定键KEYCODE_CAPS_LOCK122光标移动到开始键KEYCODE_MOVE_HOME123光标移动到末尾键KEYCODE_MOVE_END143小键盘锁KEYCODE_NUM_LOCK164扬声器静音键KEYCODE_VOLUME_MUTE的另一种表示但注意上下文