appiu 笔记

1.要在手机上输入字符, 要屏蔽手机键盘

于是可以想办法屏蔽软键盘,只需在desired_caps{}设置里面加两个参数

unicodeKeyboard是使用unicode编码方式发送字符串
resetKeyboard是将键盘隐藏起来

 后记:

这里是参考上海悠悠的教程,如果 输入的是中文 记得上面加上u,如果 手机输出后的字符乱码,则在头部加上 #--coding:gb18030--

 

2.查看包名的方法:

在sdk的 build-tools 里有个aapt 

使用命令

aapt dump badging D:\test\xxx.apk(APK 的全名, 如手机淘宝.apk)

 

这里就可以看到 apk 的包名:com.taobao.taobao

继续滑动往下看

淘宝的 launcherActivity 值为 com.taobao.tao.welcome.Welcome

 

方法二:

查看data/data文件夹下的应用程序包。注:我们能测试的应用程序包都在这个目录下面

C:\Documents and Settings\Administrator>adb shell

ls data/data

 

方法三: 通过pm命令查看。

adb shell
>pm list package

 

方法四:

可以在手机上打开 app,windows 系统用 findstr 过滤,cmd 输入

adb shell dumpsys window | findstr mCurrentFocus

返回

C:\Users\dell>adb shell dumpsys window | findstr mCurrentFocus
  mCurrentFocus=Window{6aff6e2 u0 com.netease.edu.study/com.netease.edu.study.main.activity.ActivityMain}

于是可以查到包名:com.netease.edu.study
当前正在启动的activity名称:com.netease.edu.study.main.activity.ActivityMain

 

 

方法五

安装tidevice库

pip install tidevice

tidevice list  查看已连接设备

tidevice applisttidevice applist  查看设备上的第三方应用包名

# $UDID可以使用tidevice list命令查看
tidevice -u $UDID install D:/test.ipa
# 或者
tidevice -u $UDID install https://example.org/example.ipa

更多详细的功能可以查看 tidevice 的github文档:https://github.com/alibaba/taobao-iphone-device 。

 

 

 

查看启动activity

appium自动化的时候,需获取启动名 launcherActivity。在手机上安装app、打开app出现启动页的时候,在cmd中输入

adb shell dumpsys activity activities | findstr "Run"

于是可以看到带‘main’的就是启动名 launcherActivity

C:\Users\dell>adb shell dumpsys activity activities | findstr "Run"
    Running activities (most recent first):
        Run #1: ActivityRecord{3f3d520 u0 com.netease.edu.study/.login.activity.ActivityLogin t9}
        Run #0: ActivityRecord{c414171 u0 com.netease.edu.study/.main.activity.ActivityMain t9}
    Running activities (most recent first):
        Run #0: ActivityRecord{98a9c2c u0 com.android.launcher3/.Launcher t2}

查看到启动名:com.netease.edu.study.main.activity.ActivityMain 

 

 

 

3.显示等待,结合android_uiautomator定位 判断文本有没出现

input_ = dr.find_element_by_android_uiautomator('textContains(\"Log\")')
element = WebDriverWait(dr,5,0.5).until( lambda dr : input_.is_displayed())

element 返回的是 Ture or False

 

# # 校验登录按钮 
# element = WebDriverWait(dr,5,0.5).until(EC.presence_of_element_located((By.XPATH,"//android.widget.TextView[@text='Login']")))

 

 4.adb 点击元素 / 和输入text 的方法

import os

os.system(“adb shell input tap 200 300”)

os.system(“adb shell input text”)

 

其他adb命令模拟按键参考: https://www.cnblogs.com/yoyoketang/p/8988203.html

 

 

posted @ 2017-12-29 13:04  凯宾斯基  阅读(522)  评论(0编辑  收藏  举报