嘿~大家好,我是测试袁4U:
前面章节中,讲解了环境搭建以及元素的,接下来就是通过这些来启动 APP,如何启动 app 呢?
首先要获取包名,然后获取 launcherActivity。获取这两个关键东西的很多,这里就不一一多说,小伙伴们可以各显。
今天来带你们实操一波。废话不多说,开始每日课程吧!
学测试,寻知音,领资料, 领取
@乐搏软件测试
Appium+Python 实例
一、启动APP
在这里主要给大家推荐一个sdk自带的实用工具aapt。aapt 即 Android Asset Packaging Tool,在SDK的build-tools目录下。该工具可以查看apk包名和launcherActivity,当然还有更多的功能,有兴趣的可以查看相关资料。
(1) 之一步: aapt, 在 android-sdk 里面 双 击 SDK-manager, buidl-tools。
勾选 build-tools,随便选一个版本,我这里选的是 24 的版本:
完成后,在D:androidsdkandroid-sdk-windowsbuild-tools24.0.0目录下找到aapt.exe,将这个路径设置环境变量,添加到 path 下:
打开 cmd,输入 aapt 出现如下界面,说明环境 OK 了:
(2) 第二步:获取 apk 包名,分以下三步:
将准备测试的 APK 放到 D 盘某个目录,如 D:test打开 cmd,输入指令 aapt dump badging D:testxxx.apk(APK 的全名,如手机.apk)以手机.apk 为例,如下图:
这里就可以看到 apk 的包名:com.taobao.taobao,你也可以直接把 apk 放在桌面上,输入指令后拖到 cmd 框。
(3) 第三步:获取 launcherActivity,接着上一步操作,cmd 屏幕拖到中间 l 找到 auncherActivity ,这里可以看到,的 launcherActivity 值为com.taobao.tao.welcome.Welcome。
(4) 第四步:写自动化脚本。
platformName:这里是 android 的 apkdeviceName:手机设备名称,通过 adb devices 查看platformVersion:android 系统的版本号appPackage:apk 包名appActivity:apk 的 launcherActivity
# coding=utf-8
from appium import webdriverd esired_caps = {
‘platformName’: ‘Android’,
‘deviceName’: ’30d4e606′,
‘platformVersion’: ‘5.0’,
# apk 包名
‘appPackage’: ‘com.taobao.taobao’,
# apk 的 launcherActivity
‘appActivity’:’com.taobao.tao.welcome.Welcome’
}
driver = webdriver.Remote (https://127.0.0.1:4723/wd/hub, desired_caps)
127.0.0.1 这个地址是怎么来的呢?如下图:
(5)第五步:运行 appium,启动 appium,右上角点三角形按钮,变成正方形,就是启动状态。
确认手机连上电脑:
在 pycharm 运行脚本,随后在手机上会弹出安装下面两个软件的提示,安装后,桌面上多两个图标。那么恭喜你启动成功!
二、APP 元素实例
(1) 之一步:连接手机,需要确保以下三点:
cmd 打开输入 adb devices,确认手机已连上打开手机页面,让屏幕处于点亮状态点左上角安卓机器人按钮 Devices Screenshot 按钮刷新页面
(2) 第二步:元素移动鼠标到需要的元素上,如搜索输入框:
右下角可以看到元素对应的属性
text:搭配新宠不能缺
resource-id:com.taobao.taobao:id/home_searchedit
class:android.widget.EditText
(3) 点搜索框:
(4) 前面启动 app 后,休眠五秒,等待页面加载完成,通过 id来到搜索框, 然后 ,代码实现如下:
# coding=utf-8
from appium import webdriver import time
desired_caps = {
‘platformName’: ‘Android’,
‘deviceName’: ’30d4e606′,
‘platformVersion’: ‘5.0’, ‘appPackage’: ‘com.taobao.taobao’, ‘appActivity’:’com.taobao.tao.welcome.Welcome’,
}
driver = webdriver.Remote (https://127.0.0.1:4723/wd/hub, desired_caps) # 休眠五秒等待页面加载完成
time.sleep(5)
driver.find_element_by_id(“com.taobao.taobao:id/home_searchedit”)
.click
appium 的 webdriver 提供了 11 种元素,在 selenium 的基础上扩展了三个,可以在 pycharm 里面输入 driver.find_element_by 然后会自动匹配出来。
三、APP 实例
下面来写一个用户名密码的自动化脚本:
#coding:utf-8 import time import os
from appium import webdriver
from selenium.webdriver.support.ui import WebDriverWait
PATH=lambda p:os.path.abspath(os.path.join(os.path.dirname( file ),p))
#初始化desired_caps=
#使用哪种移动desired_caps[‘platformName’]=’Android’ #Android 版本desired_caps[‘platformVersion’]=’6.0.1′ #启动哪种设备,是真机还是模拟器?
desired_caps[‘deviceName’]=’Galaxy S6 edge’ #App 的绝对路径desired_caps[‘app’]=PATH(‘D:kuyu.apk’)
driver=webdriver.Remote(https://127.0.0.1:4723/wd/hub,desired_caps)#初始化
desired_caps[‘unicodeKeyboard’]=True,#使用unicodeKeyboard 的编码方式来发送字串
desired_caps[‘resetKeyboard’]=True#将键盘给隐起来WebDriverWait(driver,20).until(lambda the_driver: the_driver.find_element_by_id(“com.kuyu:id/tv_login”).is_displayed) driver.find_element_by_id(“com.kuyu:id/tv_login”).click
#输入用户名driver.find_element_by_id(“com.kuyu:id/et_email”).send_keys(“”) #输入密码driver.find_element_by_id(“com.kuyu:id/et_pwd”).send_keys(“”)
# 登录driver.find_element_by_id(“com.kuyu:id/tv_login”).click
#这里加了一个等待,判断指定的元素出现则为登录成功(等待不懂没有关系, 以后会再讲解如何设置等待)
WebDriverWait(driver,20).until(lambda the_driver: the_driver.find_element_by_id(“com.kuyu:id/include_study_iv_add”).is_di splayed)
print(u”登录成功”) driver.quit
好啦,今天我们从Appium案例中走了一遍流程,熟悉了一遍之前我们学过的知识,多实战几次会愈加的熟练。到这期为止我们已经从头到尾的学习+复习了一遍Appium,随着移动互联 与App发展的越来越好,App测试也成为了必不可少的一个重要工作与岗位,当你想做好测试,做一名好的测试猿甚至是高级测试工程师的话,可不只是目前所学这么一点点内容而已哦,所以加油吧!
下期内容呢~各位敬请期待吧。
那么拜拜啦~下一期再见
@乐搏软件测试 我
免费获取更多测试学习资料教学
底部 “ 点赞 + 在看 ” 这个秋天会有幸运降临哦!
以上就是与app软件测试相关内容,是关于软件的分享。看完主流软件测试工具后,希望这对大家有所帮助!