【移动端】企业微信移动app测试实战
Menu:企业微信移动app测试实战(1)
adb devices #查看连接的手机设备
adb shell #进到手机系统
adb logcat #能够抓取到崩溃日志
adb shell dumpsys window|grep mCurrent #获取当前页面的包名和activity name
adb logcat |grep -i displayed #获取 app入口 packagename 和activityname #启动应用前经过的欢迎页、广告才进入首页# -i 表示忽略大小写
adb logcat |grep -i 'activitymanager' #也可以获取 app入口的包名和页面名,有的时候使用上面的命令拿不到启动页面的名称,可以使用这个命令,此命令windows上 通过git bash来运行
aapt dump badging mobike.apk | grep launchable-activity #分析 apk包 获取包名和启动页名
adb install path/to/apk文件 #安装apk文件#appium caps配置 #等待idle 设置时间为0 ,默认是等待10s ,设定完成后完成提速
caps['settings[waitForIdleTimeout]'] = 0#windows:
将上面的命令中 grep 换成 findstr#通过命令行方式来验证获取的包名和启动页名称是否正确
启动应用: #该命令行通过appium server获取得到adb shell am start -W -n <package-name> <activity-name> -S #命令行方式启动应用,通过这种方式来验证包名和启动页名字是否正确#adb shell am start -W -n com.tencent.wework/.launch.LaunchSplashActivity企业微信实战1-企业微信自动打卡
打卡用例前提条件:已登录状态(noRest=True)打卡用例:1.打开【企业微信】应用2.等待直到进入主页3.点击下方导航栏中的【工作台】进入到工作台界面4.在页面上查找【打卡】标签,点击打卡,进入到打卡页面5.切换到【外出打卡】tap6.点击【第X次外出】,验证外出打卡成功
实现滑动效果
1.touch_action , 根据手机屏幕宽度、高度 来滑动一定位置
2.移动端xml文件 滚动查找元素
移动端xml文件 滚动查找元素
# 滚动查找 "打卡" 元素self.driver.find_element(MobileBy.ANDROID_UIAUTOMATOR,'new UiScrollable''(new UiSelector().''scrollable(true).''instance(0)).''scrollIntoView(''new UiSelector().''text("打卡").instance(0));').click()
"""
企业微信实战1-企业微信自动打卡
打卡用例前提条件:已登录状态(noRest=True)打卡用例:1.打开【企业微信】应用2.等待直到进入主页3.点击下方导航栏中的【工作台】进入到工作台界面4.在页面上查找【打卡】标签,点击打卡,进入到打卡页面5.切换到【外出打卡】tap6.点击【第X次外出】,验证外出打卡成功
"""
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# This sample code uses the Appium python client
# pip install Appium-Python-Client
# Then you can paste this into a file and simply run with Python
# appium-python-client 客户端脚本
from appium import webdriver
from appium.webdriver.common.mobileby import MobileBy"""
改造1:pytest
"""class TestWeChat:def setup(self):caps = {}caps["platformName"] = "android"caps["deviceName"] = "emulator-5554"caps["appPackage"] = "com.tencent.wework"caps["appActivity"] = ".launch.LaunchSplashActivity"caps["noReset"] = "true"caps["noReset"] = "true"caps['skipServerInstallation'] = 'true' # 跳过 uiautomator2 server的安装caps['skipDeviceInitialization'] = 'true' # 跳过设备初始化# caps['dontStopAppOnReset'] = 'true' # 启动之前不停止appcaps['settings[waitForIdleTimeout]'] = 0# 与server 建立连接,初始化一个driver 创建session,返回一个sessionidself.driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)self.driver.implicitly_wait(10)"""打卡功能"""def test_daka(self):# 步骤1:点击工作台# el1 = self.driver.find_element_by_xpath("/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.LinearLayout/android.view.ViewGroup/android.widget.RelativeLayout[3]/android.widget.TextView")el1 = self.driver.find_element(MobileBy.XPATH,"//*[@text='工作台']")el1.click()# 滚动查找 "打卡" 元素self.driver.find_element(MobileBy.ANDROID_UIAUTOMATOR,'new UiScrollable''(new UiSelector().''scrollable(true).''instance(0)).''scrollIntoView(''new UiSelector().''text("打卡").instance(0));').click()# el2 = self.driver.find_element_by_xpath("/hierarchy/android.widget.FrameLayout/android.widget.FrameLayout/android.widget.LinearLayout/android.widget.FrameLayout/android.widget.RelativeLayout/android.widget.FrameLayout[2]/android.widget.RelativeLayout/android.view.ViewGroup/android.support.v7.widget.RecyclerView/android.widget.RelativeLayout[10]/android.widget.LinearLayout/android.widget.TextView")# el3 = self.driver.find_element_by_id("com.tencent.wework:id/gcx")# 点击"外出打卡"el3 = self.driver.find_element(MobileBy.ID, "com.tencent.wework:id/gcx")el3.click()# 点击第N次外出打卡self.driver.find_element(MobileBy.XPATH,"//*[contains(@text, '次外出')]").click()# 验证打卡成功result = self.driver.find_element(MobileBy.ID,'com.tencent.wework:id/mk').textassert '打卡成功' in resultdef teardown(self):# 消毁sessionself.driver.quit()
是否在每个测试步骤都需要加上断言?1、测试用例编写过程中的中间步骤,执行过程当中一般不需要加断言,除非中间操作过程当中要加入一些数据的验证,toast验证,等等。2、最后的一行代码,要加入断言作为验证这条用例的真正结果。
【移动端】企业微信移动app测试实战相关推荐
- 判断当前入口是PC端企业微信还是PC端浏览器。或者是APP端企业微信
function isQyweixin(){//判断当前入口是PC端还是APP端let flag = navigator.userAgent.match(/(phone|pad|pod|iPhone| ...
- 精通移动App测试实战:技术、工具和案例
本文是根据书籍<精通移动App测试实战:技术.工具和案例>进行学习记录,方便后期查阅,感谢书籍作者提供的学习机会. 目录 第1章 Android系统基础内容介绍 1.6创建模拟器 第2章J ...
- vue实现网页端企业微信扫码登录功能(前端部分)
时至今日,企业微信在企业日常工作中的使用越来越频繁也越来越重要,不少企业已使用企业微信进行着日常的工作安排管理.在这种背景下,各类系统和企业微信对接的需求也不断增加,今天要说的就是一个比较常见的需求 ...
- 《移动App测试实战》读书笔记
最近看完了<移动App测试实战>,这里做一点笔记,后面可以重温. 功能测试自动化 轻量接口自动化测试(JMeter):JMeter是一款开源测试工具,多用于接口测试 用例的分层: CGI: ...
- 《移动App测试实战》——2.2 App UI层面的自动化
本节书摘来自华章出版社<移动App测试实战>一 书中的第2章,第2.2节,作者:邱鹏 陈吉 潘晓明,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 2.2 Ap ...
- 企业微信手机端可以退出吗?会影响电脑端企业微信吗?
现在很多企业选择企业微信作为移动办公软件,企业微信打破了传统办公软件的地域限制,可以在手机端和电脑端进行登录,随时可以进行工作事宜. 前言 现在很多企业选择企业微信作为移动办公软件,企业微信打破了传统 ...
- 《移动App测试实战》——1.2 测试用例设计和评审
本节书摘来自华章出版社<移动App测试实战>一 书中的第1章,第1.2节,作者:邱鹏 陈吉 潘晓明,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 1.2 测试 ...
- 《精通引动APP测试实战:技术、工具和案例》---Android 开发环境搭建
文章目录 一,环境搭建 1)Java环境(JDK) 2)Eclipse 开发工具 3)Android SDK 二,SDK和AVD的配置 1)SDK和AVD 2)Android SDK Manager下 ...
- 新书出版了 - 移动App测试实战
好久没有更新blog了,算是憋了一个大招 :) 下面是这本书的前言. 前 言 现在已经是一个移动互联网的时代,借助手机等移动设备,人们可以完成资讯的获取.社交.游戏,以及日常生活的各种应用,甚至很多工 ...
- Zabbix 3.0 配置企业微信报警(注册---测试)
一.申请企业微信 1.登录企业微信官网,点击企业注册 二.配置企业微信 1.邀请管理员使用企业微信,如果有多个人直接添加新成员 2.管理员收到邀请,下载手机版企业微信,使用微信号登陆即可 3.创建应用 ...
最新文章
- 回调函数在C/C++中的使用
- 什么是机器人底盘 答案在这里!
- Akka2使用探索1(Remoting)
- QML绘制不同类型的图表
- 告别30元!喜茶承诺今年绝不涨价:不再推29元以上产品
- GDAL库三个读取Jpeg2000格式驱动测试
- 【effective c++】资源管理
- 0基础入门VTD-实操静态道路建模4
- matlab如何绘制函数方程,如何使用MatLab来绘制函数曲线方程图像?
- 原生js实现点击“上一张”、“下一张”按钮切换图片
- 用16进制编辑器编写一个DLL文件
- 使用Daemontools监控管理服务
- windows清理缓存性能加速
- 阿里天猫小镇的实质就是为了圈地!
- 当前最新it技术了解
- HTML实例网页代码 简单的个人博客网站设计与实现 (div+css)
- redis主从完整配置说明
- 手机测试人员的思维过程
- [C#] C#深入浅出4th Edition [2]
- Soot -- 中间代码Jimple介绍
热门文章
- 领峰:普通人如何炒白银技巧和方法有哪些
- HDU - 3533 Escape
- 《实变函数简明教程》,第三章:可测函数,连续函数复合可测函数是可测函数
- 计算机专业英语问卷调查,关于英语调查问卷的总结
- Hanselminutes Podcast 244-Benjamin van der Veen的Kayak,OWIN,开源Web服务器等
- 量化回测系统 股票回测系统 极简回测 策略开发
- html背景颜色渐变代码
- 计算机网络技术自主招生考试题,清华等17所高校2017年自主招生笔试真题
- php中notice怎么去掉,怎么关闭php的notice
- 几种平均数的物理意义应用场景