![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Appium
KeKe_Winner
这个作者很懒,什么都没留下…
展开
-
元素定位---6
测试步骤三要素定位、交互、断言定位1. Id定位(优先级最高)(重点)2. XPath定位(速度慢,定位灵活)(重点)3. Accessibility ID定位(desc)(重点)4. Uiautomator定位(速度快,语法复杂)XPath定位遵循w3c常用:not、contains、end_with、start_with绝对定位(不推荐使用)相对定位//* 当前页面声所有元素//*[contains(@resource-id,'login')] (重点)//*[co原创 2020-11-10 21:44:06 · 76 阅读 · 0 评论 -
PO设计模式(企业微信添加联系人)---7
PO原则:方法意义:用公共方法代表UI所提供的服务;方法应该返回其他的PageObject或者返回用于断言的数据;同样的行为不同的结果可以建模不同的方法;不要在方法内加断言;字段意义:不要暴露页面内部元素给外部;不需要建模UI内的所有元素。主要组成元素Page对象:完成对页面的封装;Driver对象:完成对web、android、ios、接口的驱动;测试用例:调用Page对象实现业务并断言;数据封装:配置文件和数据驱动;Utils:其他功能封装,改变原生框架不足。常原创 2020-11-10 19:54:25 · 494 阅读 · 0 评论 -
Appium常用端口说明---5
4723Appium Sever默认开启http服务,用来监听本地4723端口,监听脚本往端口发送的各种请求,该端口是可变的。5037adb sever开启的端口,使客户端与移动端进行通信。adb 分为三部分:adb client客户端,adb sever服务端,adb daemon在移动端的守护进程(运行在手机端)800*sever端与移动设备间进行交互的端口号,默认分配的。...原创 2020-11-09 20:23:43 · 1250 阅读 · 0 评论 -
Capability进阶---3
Capability:脚本开发过程中手机发送给服务端的相关信息:包名、android版本等基本信息,用来启动测试apk。appium.io ---- appium官网newCommandTimeout = 300 执行两条用例之间的时间,相差300s以上为超时,例如:上传文件等,默认为60sudid = “”CE9“”多个设备时,devicesName无法确定设备,使用udid管理设备autoGrantPermissions = True系统权限的弹框处理noReset Andr原创 2020-11-04 22:37:49 · 145 阅读 · 0 评论 -
android webview技术原理以及appium问题定位
使用Uiautomator抓取控件的缺点:只能通过desc获取;对于不同手机,渲染层不同,获取控件方式复用性不好。解决方式:将webview界面映射至chrome界面chrome://inspect域套接字的概念:进程与进程之间通讯的一种方式,客户端与服务端建立连接,需要有相同的套接字,和相应的服务端端口号,套接字处于监控状态,监听客户端发送的请求。获取所有webview进程:adb shell cat /proc/net/unix |grep webviewadb shell ps原创 2020-11-02 18:39:50 · 338 阅读 · 1 评论 -
Appium高级定位方法(2)
XPath定位(速度较慢)层级定位使用路径表达式选取元素/ 根目录// 当前节点,不考虑位置. 当前节点. 当前节点父节点@ 属性UiAutomator定位(容易出错)组合定位resourceID().text()text().className()父节点childSelector()兄弟定位fromParent()滚动查找toast控件识别简单的消息提醒框,比如登录成功等,归属于系统。必须使用xpath进行定位class=‘android.widget.Toast’原创 2020-10-28 20:04:30 · 321 阅读 · 0 评论 -
Appium环境安装及学习(1)
自动化工具选择Appium优点:跨平台使用,Android IOS Windows Mac;跨语言使用;底层多引擎可切换, Appium引擎主要使用Uiautomator;生态丰富,社区强大。设计理念由客户端发送请求到客户端。生态工具adbAppium destopAppium server:命令行工具Appium client:各种语言的客户封装库,用于连接appium-serverAppCrawler: 自动化遍历工具环境安装java 1.8Android sdk原创 2020-11-01 13:55:35 · 79 阅读 · 0 评论 -
微信小程序员自动化测试
关键步骤设置chromedriver正确版本( 可以使用chrome inspect查看手机小程序的chrome版本);设置chrome options传递给chrmedriver,需要设置小程序进程;使用adb proxy解决fix chromedriver的bug,desiredCapabilities.setCapability(“adbPort”,“5038”)注意:微信小程序与微信的进程不同小程序的每个窗口都是一个webview界面adb proxyhttps://ceshi原创 2020-11-01 14:34:00 · 281 阅读 · 0 评论 -
Appium相关API交互(4)
相关API的交互# 打电话driver.make_gms_call("电话号码",GsmCallActions.Call)# 发短信driver.send_sms("电话号码","短信内容")# 设置网络driver.set_network_connection(1)# 1: 飞行模式;4:data;6:wifi + data# 获取截图driver.get_screenshot_as_file('目录路径')# 录屏 华为不支持start_recording_screen(原创 2020-11-01 15:10:13 · 130 阅读 · 0 评论