文章目录
一、Appium Inspctor 功能介绍
UI 分析
录制用例
元素查找测试
Attcah 已有的 session
云测试
二、Appium Inspctor 用法介绍
1、获取 app 的信息
Windows: adb logcat ActivityManager:I | findstr "cmp"
2、配置待测应用
platformName:平台,Android/iOS
platformVerison:系统版本
deviceName:设备名
appPackage:应用的包名
appActivity:应用的页面名 Activity
noReset: 防止清空缓存信息
点击session进入Appium inspector 页面结构
3、Appium inspector 页面结构
4、功能键
SelectElements:选中元素,查看层级和属性
Swipe By Coordinates:通过坐标点滑动
Tap By Coordinates:通过坐标点点击
Back:返回
Refresh Source & Screenshot:刷新页面
StartRecording:开始录制脚本
Search for element:搜索元素
Copy XML Source to Clipboard:复制 xml 结构
Quit Session & Close Inspector:退出当前 Session
三、录制脚本
步骤
打开 API Demo 应用
点击 OS,进入下个界面
点击【Morse Code】
输入内容【ceshiren.com】
返回上一个页面
返回上一个页面
关闭应用
caps={}:创建一个字典,desirecapility
caps[‘platformName’]=‘Android’:指定系统名称
caps[“deviceName”] = “ApiDemos”:指定设备名称
caps[“appPackage”] = “io.appium.android.apis”:指定安卓包名和页面名
caps[“appActivity”] = “.ApiDemos”
创建driver,建立连接
driver = webdriver.Remote(“http://localhost:4723/wd/hub”, caps)
获取安卓包名和页面名
windows:adb logcat ActivityManager:I | findstr “cmp”
import time
from appium import webdriver
from appium.webdriver.common.appiumby import AppiumBy
class TestAppDemo:
def setup(self):
# 创建一个字典,desirecapility
caps = {
}
# 系统
caps["platformName"] = "Android"
# 设备名称
caps["deviceName"] = "ApiDemos"
# 包安卓包名和页面名;获取
# windows:adb logcat ActivityManager:I | findstr "cmp"
caps["appPackage"] = "io.appium.android.apis"
caps["appActivity"] = ".ApiDemos"
#todo 保留登录信息
caps["noReset"]="true"
caps["ensureWebviewsHavePages"] = True
# 创建driver,与appium server建立连接,返回一个session
#todo driver变成self.driver由局部变量变成实例变量,然后就可以在其他的方法中引用这个变量了
self.driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
self.driver.implicitly_wait(5)
def teardown(self):
#回收session
self.driver.quit()
def test_input(self):
#el1 = self.driver.find_element_by_accessibility_id("OS")
el1 = self.driver.find_element(AppiumBy.ACCESSIBILITY_ID,"OS")
el1.click()
el2 = self.driver.find_element(AppiumBy.ACCESSIBILITY_ID, "Morse Code")
el2.click()
el3 = self.driver.find_element(AppiumBy.ID, "android:id/action_bar")
el3.click()
el4 = self.driver.find_element(AppiumBy.ID, "io.appium.android.apis:id/text")
#清除原有的内容
el3.clear()
el4.send_keys("ceshiren")
el4.clear()
#手动关闭应用
time.sleep(5)
#todo 启动应用,热启动,会进入到app的首页
self.driver.launch_app()
self.driver.back()
time.sleep(2)
self.driver.back()
result=self.driver.find_element(AppiumBy.ACCESSIBILITY_ID,"Accessibility").text
print(result)
注意:当adb连接设备时,出现“adb.exe: unknown command conncet”的解决方法
C:\Users\Lenovo>adb conncet 127.0.0.1:7555
adb.exe: unknown command conncet
先执行先adb kill-serve断开连接
然后使用adb connect 127.0.0.1:7555
再然后使用adb devices看是否连上设备了