appium简单使用
2024-10-20 18:49:39
App 测试通常会用到的工具
- adb :Android 的控制工具,用于获取Android的各种数据和控制
- Appium Desktop:内嵌了Appium Server和Inspector的综合工具
- appium Server:Appium的核心工具,命令行工具
- Appium Client:各种语言的客户端封装库,用于链接appium server
- AppCrawler 自动遍历工具
appium 常用配置
capability
- App Apk 地址
- appPackage包名
- appActivity Activity名字
- automationName 默认使用uiautomator
- noReset fullReset 是否在测试前后重置相关环境
- autoGrantPermissions 自动赋予App权限
- uicodeKeyBoard resetKeyBoard是否需要输入非英文之外的语言并在测试完成后重置输入法
定位
- id
- Accessibility ID
- XPath
- Toast 识别
@Override
public synchronized void onAccessibilityEvent(AccessibilityEvent event){
Logger.debug("Catch toast messsage" +event);
if(text !=null && !text.isempty()){
setToastMessage(text);
}
if(originalistener!=null){
originalistener.onAccessibilityEvent(event);
}
}
交互
- click
- sendkeys
- swipe
- touch action
断言
元素是否存在:find_elements
元素属性正确性:get_attribute
xUnit常用断言类型
- 传统xUnit 风格的assert()系列
- Hamcrest 断言:基于更灵活的Matchers断言方式
参数化
- 参数化:根据传入的数据,对测试用例进行迭代调用
- 数据驱动:基于数据完成流程调度,通常数据来源自外部数据文件
- 参数化是数据驱动的基础和特例
数据驱动 - 参数化数据读取自外部文件:使用YAML, JSON读取
- 测试步骤读取自外部文件:定制执行引擎
- 断言步骤读取自外部文件:定制执行引擎
最新文章
- WPF 自定义窗口
- win7下安装mysql后修改密码
- 仿原生app,native特效
- php中的常用数组函数(七) 数组合并 array_merge()和array_merge_recursive()
- BZOJ3067 : Hyperdrome
- 如何在linux console中显示当前你在的branch?
- iOS开发——面试笔试精华(一)
- hdu1814 Peaceful Commission,2-sat
- U盘安装Win7
- Permanent Generation Removal Overview(译文)
- linux-kernel-4.4 移植 (2)解决上部遗留DMA-PL330的问题
- 当多线程并发遇到Actor
- BZOJ2040[2009国家集训队]拯救Protoss的故乡——模拟费用流+线段树+树链剖分
- Golang--选择、循环语法总结
- mac终端不好用?用brew神器代替
- 百练-16年9月推免-C题-图像旋转
- 【3】JVM-OutOfMemory异常重现
- FJWC2019 最短路
- 算法笔记_041:寻找和为定值的多个数(Java)
- Flask系列(十一)整合Flask中的目录结构(sqlalchemy-utils)