真机测试实战

从上一篇我们知道了Python + appium 环境搭建,并且搭建成功了,下面我们来看如何进行真机测试

下面是自动化测试小米手机的代码:

from appium import webdriver                                   desired_caps = {}                                             desired_caps['device'] = 'android'                             #参数固定desired_caps['platformName'] = 'Android'                       #参数固定desired_caps['version'] = '6.0.1'                              #参数不固定desired_caps['deviceName'] = 'ba682d20'                        #参数不固定desired_caps['unicodeKeyboard'] = 'True'                       #参数固定desired_caps['resetKeyboard'] = 'True'                         #参数固定desired_caps['appPackage'] ='com.miui.calculator'              #参数不固定desired_caps['appActivity'] ='.cal.NormalCalculatorActivity'   #参数不固定desired_caps['newCommandTimeout'] = '3600'                     #参数固定driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)    


从上面可以看出来,参数不固定有version,deviceName,appPackage和appActivity。

如何获取上述手机参数呢?



获得上述参数前,首先将手机和电脑连接,手机打开调试模式,待手机和电脑链接后,打开cmd输入 adb devices 并且回车,得到以下内容,说明手机电脑连接成功。

List of devices attached
ba682d20 device




version参数和deviceName参数获得方法
version表示手机的安卓版本号,而deviceName表示手机的硬件名,每个手机的硬件名都是唯一的

在cmd中分别输入

adb devices
adb shell getprop ro.build.version.release

分别得到deviceName参数和version参数




appPackage参数和appActivity参数获得方法

  • 想要获取前,我们得学会如何去查看手机的日志

1.我们将手机上的进程都清除掉,然后使用命令行清除日志的内容,清除logcat命令:

adb logcat -c

2.然后我们开始启动日志查看,启动logcat命令:

adb logcat ActivityManager:I *:s

3.然后我们启动我们需要查看的程序,这里我们需要测试的是计算器所以我们点击计算器图标进入app中,在命令行的logcat中我们能够看到以下新添加的内容:

07-06 11:02:41.343 2107 4351 I ActivityManager: START u0 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10200000 cmp=com.miui.calculator/.cal.CalculatorActivity bnds=[460,406][628,574] (has extras)} from uid 10019 on display 0
07-06 11:02:41.381 2107 4469 I ActivityManager: Start proc 28026:com.miui.calculator/u0a38 for activity com.miui.calculator/.cal.CalculatorActivity
07-06 11:02:41.681 2107 3694 I ActivityManager: START u0 {cmp=com.miui.calculator/.cal.NormalCalculatorActivity (has extras)} from uid 10038 on display 0
07-06 11:02:41.783 2107 2121 W ActivityManager: Unable to start service Intent { act=android.intent.action.MAIN cmp=com.miui.core/com.miui.support.internal.server.CoreService } U=0: not found
07-06 11:02:42.005 2107 2294 I ActivityManager: Displayed com.miui.calculator/.cal.NormalCalculatorActivity: +316ms (total +635ms)
07-06 11:02:46.628 2107 4123 W ActivityManager: Unable to start service Intent { act=com.talkingdata.sdk.TDAntiCheatingService flg=0x20 cmp=com.miui.calculator/com.talkingdata.sdk.TDAntiCheatingService } U=0: not found

然后我们重点关注 “/” 字符,在上面一共出现了好几次,然后我们重点关注其中前面带有
ActivityManager的那一行。

07-06 11:02:42.005 2107 2294 I ActivityManager: Displayed com.miui.calculator/.cal.NormalCalculatorActivity: +316ms (total +635ms)

我们从中找出 / 前面的 com.miui.calculator 和后面的 .cal.NormalCalculatorActivity。
可以得知:

appPackage参数为 com.miui.calculator
appActivity参数为 .cal.NormalCalculatorActivity



对于各种各样品牌的手机,对应的上述参数都不同,一定要对应的去修改,否则代码将不能运行。


前面的代码准备工作都已经做完了现在就开始利用Appium打开需要测试的软件了。

1.首先我们需要打开Appium

如果用命令行安装的,在命令行中输入appium,等待显示>  info: Console LogLevel: debug说明成功启动,若是采用软件安装,则直接打开Appium.exe,然后点击左上角机器人图标修改对应画红线的地方,划勾的一定要划上,其他地方不用改

然后点击右边三角形图标运行,等待出现,则说明测试准备完成。

info: Console LogLevel: debug

最后输入上述我们修改后的代码,直接粘贴在命令行中,等待一段时间能够看到计算器成功启动。




提示

其实我们还有另外一种简便获取上述参数的方法,不过我们得事先取得我们需要测app的安装包


- 首先我们进入Appium文件夹并且打开 appium.exe 打开左上角机器人图标,并且将Application Path 划上勾,点击Choose 选择 app包 的路径,然后将Package,Wait for Package,Launch Activitiy,Wait for Activity 都勾上,然后能够得知上面参数可以选择。


有的时候我们只需要 PackageWait for Package 这两个参数就行,但有的时候我们不只需要这两个,还需要另外两个才能用代码打开我们需要测试的app,具体的应用场合还是需要自己去选择不同的包去试一试,成功启动了才能确定所选的参数是正确的。

之后便是我们学习如何进行元素定位



下一篇:App测试之元素定位方式

更多相关文章

  1. Android为数据存储提供几种方式
  2. Adroid 之 Builder 对话框
  3. java.io.IOException: Unable to open sync connec...
  4. Android(安卓)Studio 中build.gradle文件的详细解析
  5. android 采集PCM音频数据并播放(支持USB摄像头MIC)
  6. android CTS test
  7. [掌眼]Android(安卓)WebView Long Press长按保存图片到手机
  8. android设置手机横屏与竖屏无效的解决方法
  9. Android(安卓)HttpURLConnection Post请求

随机推荐

  1. android设备计算密度,宽高!
  2. Failed to install the following Androi
  3. android 实现图片加水印
  4. android studio Unknown host 切换 阿里
  5. android控件根据屏幕大小自适应
  6. android 下载编译环境配置简要
  7. 24-Android监听精确的通话状态
  8. android篇-如何做一个简单的安卓源码查看
  9. 快捷方式
  10. Android(安卓)EventBus(普通事件/粘性事件