城建设投资公司网站,花都网站建设网页设计,硅谷电视剧他们做的是网站还是软件,推广公司好做吗获取应用包名和入口activity#xff1a;aapt命令
aapt目录#xff1a;
安卓sdk的build-tools目录下(如果要在cmd里直接运行#xff0c;要配置环境变量#xff0c;否则需要在aapt所在目录下打开cmd)
示例#xff1a;
adt-bundle-windows-x86_64-20140702\sdk\build-too…获取应用包名和入口activityaapt命令
aapt目录
安卓sdk的build-tools目录下(如果要在cmd里直接运行要配置环境变量否则需要在aapt所在目录下打开cmd)
示例
adt-bundle-windows-x86_64-20140702\sdk\build-tools\android-4.4W
命令语法
aapt dump badging apk安装包名
示例
aapt dump badging D:\Python全栈自动化\python_工具\appium模拟器\Future-release-2018.apk 搜索launchable-activity得到的是启动页面的Activity 部分代码
#启动页两种方式
desired_caps[appActivity] .activity.addition.WelcomeActivity
desired_caps[appActivity] com.xxzb.fenwoo.activity.addition.WelcomeActivity实际效果 二. Hybird Webview
Hybird混合应用程序在应用程序中嵌入了webview通过webview访问网页
webview是一个基于webkit引擎展现web页面的控件
作用 显示和渲染web界面 直接使用html文件(网络或apk资源包assets)作布局 可和javascript交互调用
三. Native APP
传统的原生APP开发模式Android基于Java语言底层调用Google提供的APIIOS基于Objective C或者Swift底层调用Apple官方提供的API
tips 在手机/模拟器中点击关于手机中的版本号5下出来开发者选项 在开发者选项中勾选上显示布局边界 如果是html的界面那界面不会有布局边界显示如有则说明是native的界面
四. Android布局类型 五. 常见控件
TextView 文本控件展示文本/文字
EditText 可编辑输入框用于接收用户输入的数据
Button 按钮用户通过点击Button触发一系列的事件
CheckBox 复选/多选按钮
ImageView 图片控件用于显示图片
ProgressBar 加载进度条表示正在加载一些数据
六. 控件属性
index 索引
text 文本描述新版本需要使用findElementByAndroidUIAutomator(“new UiSelector().text(“师资团队”)”)
resource-id 控件资源的id唯一有的控件/布局可能没有
content-desc 内容描述(为残疾人士设置的属性如使用talkback会发出content-desc中描述信息声音)
findElementByAndroidUIAutomator(‘new UiSelector().description(“我的柠檬”)’)
bounds 控件/布局界限
[480 1179] 描述控件/布局的起始坐标X, Y轴
[720 1280] 描述控件/布局的终止坐标X, Y轴
附录 七. appium-app页面元素定位 通过id定位元素resource-id 通过text定位(已舍弃) 通过ClassName定位classname 通过AccessibilityId定位content-desc 通过AndroidUiAutomator定位 通过xpath定位
id, class, accessibility id, -android uiautomator, xpath
代码演示
#resource-id定位
driver.find_element_by_id(com.xxzb.fenwoo:id/layout_borrow_money)#classname定位
driver.find_element_by_class_name(android.widget.RelativeLayout)#content-desc定位
driver.find_element_by_accessibility_id()#uiautomator(所有属性都支持)定位
driver.find_element_by_android_uiautomator(new UiSelector().resourceId(com.xxzb.fenwoo:id/layout_item3))#xpath定位
driver.find_element_by_xpath(//android.widget.TextView[text\借款期限\])八. UI Automator
UI自动化测试框架安卓移动端app
要求Android 4.3以上 提供了一系列API执行UI测试在系统或者第三方app上面 允许在被测设备上执行操作比如打开系统设置菜单 适合编写黑盒自动化测试
UI Automator框架的主要特点 元素定位UI Automator Viewer 扫描、分析待测应用的UI组件的图像工具 元素操作Accessing device state 在目标设备和app上的各种操作 元素识别UI Automator APIs 在多个应用程序中捕获和操作UI组件
九. UI Automator Viewer
元素识别工具UI Automator Viewer
在安卓的SDK下的tools目录中 十. UI Automators APIs
UiObject类安卓组件对象
对象有许多模拟实际操作手机的方法和属性比如文本的编辑、手势操作等
类似web自动化中元素对象(webelement)有点击、输入操作等
UiSelector类
通过组件的各种属性与节点关系定位组件
调用方法new UiSelector().resourceId(“”)
new UiSelector().className(“android.widget.LinearLayout”).resourceId(“com.xxzb.fenwoo:id/layout_item3”)
因为函数的返回值就是实例化对象本身那么它可以不断的调用很多方法 UiDevice类提供了一系列方法和属性来模拟在手机上的实际操作(更高一级类似于document或者window)
获取设备信息屏幕分辨率、选装状态、亮灭屏…
操作按键、坐标操作、滑动、拖拽、截图…
十一. AndroidUiAutomator定位(在java中双引号才表示字符串因此定位表达式必须是双引号)
使用UiAutomator中的UiSelector类来处理元素定位
在python客户端appium库中通过uiautomator来获取元素的方法为driver.find_element_by_android_uiautomator()
该方法的参数为UiSelector类定位元素的表达式new UiSelector().函数名称(“定位表达式”)
new UiSelector().函数名称(“定位表达式”)
实例化一个UiSelector对象然后通过实例调用接口
示例
driver.find_element_by_android_uiautomator(‘new UiSelector().resourceId(“com.xxzb.fenwoo:id/btn_login”)’)
十二. 实例
from appium import webdriver
from selenium.webdriver.support.wait import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC
from appium.webdriver.common.mobileby import MobileBy#由你来主动告诉appium server我要操作哪个设备上的哪个app
#Desired Capabilities——键值名。键名都是已经定义好的#操作对象的信息准备
desired_caps {}
#操作系统——目标机
desired_caps[platformName] Android
#系统版本
desired_caps[platformVersion] 5.1.1
#设备名字
desired_caps[deviceName] Android Emulator
#app信息
#包名
desired_caps[appPackage] com.xxzb.fenwoo
#首页
desired_caps[appActivity] .activity.MainActivity#连接appium server并告诉其要操作的对象
driver webdriver.Remote(http://127.0.0.1:4723/wd/hub, desired_caps)#等待
WebDriverWait(driver, 30, 1).until(EC.visibility_of_element_located((MobileBy.ID, com.xxzb.fenwoo:id/btn_login)))#点击登录注册按钮
driver.find_element_by_id(com.xxzb.fenwoo:id/btn_login).click()#等待
WebDriverWait(driver, 30, 1).until(EC.visibility_of_element_located((MobileBy.ID, com.xxzb.fenwoo:id/et_phone)))#输入用户名
driver.find_element_by_id(com.xxzb.fenwoo:id/et_phone).send_keys(18684720553)#下一步
driver.find_element_by_id(com.xxzb.fenwoo:id/btn_next_step).click()十三. appium功能介绍 最后下方这份完整的软件测试视频学习教程已经整理上传完成朋友们如果需要可以自行免费领取 【保证100%免费】