欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

使用真机进行测试

程序员文章站 2022-07-13 13:23:08
...

真机测试实战

从上一篇我们知道了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测试之元素定位方式