Appium知识积累

时间:2024-12-14 21:37:02
1、使用uiautomatorviewer
可以直接在命令行输入uiautomatorviewer,打开获取屏幕截图工具,连接手机,打开所要获取包名的应用,然后获取其截图,根据截图查看package即可该app必须是有界面的,否则无法获取。
uiautomatorviewer可用来查看app应用界面各种控件的属性
另外,
android.intent.action.MAIN 属性决定应用程序最先启动的Activity
android.intent.category.LAUNCHER属性决定应用程序是否显示在程序列表里
2、在CMD中使用adb shell dumpsys window | findstr mCurrentFocus  命令查看当前运行的包名和Activity
3、使用Appium的setting可以查看package和activity,
4、desired_caps['appActivity']的值有时不一定要在名字最前面加“.”,如下
desired_caps['appActivity'] = 'com.taiping.lbt.ui.PacActivity'
5、报错:selenium.common.exceptions.WebDriverException: Message: A new session could not be created. (Original error: com.taiping.lbt.ui/.PacActivity never started. Current: com.taiping.lbt.ui/.LoginActivity)
原因:当前的Activity和配置的启动Activity不一致
处理方式,配置apk时,添加了一句代码
desired_caps['appWaitActivity']='com.taiping.lbt.ui.LoginActivity'
6、UiSelector之text(文本定位
文本属性定位对象,当存在同名text,可通过索引区分
例:
driver.find_element_by_android_uiautomator ("new UiSelector().text(\"指定查询地区\").index(1)").click()
//index UiSelector selector =new UiSelector().className("android.widget.ImageButton").index(1);