使用真机进行测试

真机测试实战

从上一篇我们知道了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参数
使用真机进行测试_第1张图片




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,然后点击左上角机器人图标
修改对应画红线的地方,划勾的一定要划上,其他地方不用改

使用真机进行测试_第2张图片

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

info: Console LogLevel: debug

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




提示

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


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

使用真机进行测试_第3张图片


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

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



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

你可能感兴趣的:(移动端测试环境搭建)