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测试实战相关推荐

  1. 判断当前入口是PC端企业微信还是PC端浏览器。或者是APP端企业微信

    function isQyweixin(){//判断当前入口是PC端还是APP端let flag = navigator.userAgent.match(/(phone|pad|pod|iPhone| ...

  2. 精通移动App测试实战:技术、工具和案例

    本文是根据书籍<精通移动App测试实战:技术.工具和案例>进行学习记录,方便后期查阅,感谢书籍作者提供的学习机会. 目录 第1章 Android系统基础内容介绍 1.6创建模拟器 第2章J ...

  3. vue实现网页端企业微信扫码登录功能(前端部分)

     时至今日,企业微信在企业日常工作中的使用越来越频繁也越来越重要,不少企业已使用企业微信进行着日常的工作安排管理.在这种背景下,各类系统和企业微信对接的需求也不断增加,今天要说的就是一个比较常见的需求 ...

  4. 《移动App测试实战》读书笔记

    最近看完了<移动App测试实战>,这里做一点笔记,后面可以重温. 功能测试自动化 轻量接口自动化测试(JMeter):JMeter是一款开源测试工具,多用于接口测试 用例的分层: CGI: ...

  5. 《移动App测试实战》——2.2 App UI层面的自动化

    本节书摘来自华章出版社<移动App测试实战>一 书中的第2章,第2.2节,作者:邱鹏 陈吉 潘晓明,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 2.2 Ap ...

  6. 企业微信手机端可以退出吗?会影响电脑端企业微信吗?

    现在很多企业选择企业微信作为移动办公软件,企业微信打破了传统办公软件的地域限制,可以在手机端和电脑端进行登录,随时可以进行工作事宜. 前言 现在很多企业选择企业微信作为移动办公软件,企业微信打破了传统 ...

  7. 《移动App测试实战》——1.2 测试用例设计和评审

    本节书摘来自华章出版社<移动App测试实战>一 书中的第1章,第1.2节,作者:邱鹏 陈吉 潘晓明,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 1.2 测试 ...

  8. 《精通引动APP测试实战:技术、工具和案例》---Android 开发环境搭建

    文章目录 一,环境搭建 1)Java环境(JDK) 2)Eclipse 开发工具 3)Android SDK 二,SDK和AVD的配置 1)SDK和AVD 2)Android SDK Manager下 ...

  9. 新书出版了 - 移动App测试实战

    好久没有更新blog了,算是憋了一个大招 :) 下面是这本书的前言. 前 言 现在已经是一个移动互联网的时代,借助手机等移动设备,人们可以完成资讯的获取.社交.游戏,以及日常生活的各种应用,甚至很多工 ...

  10. Zabbix 3.0 配置企业微信报警(注册---测试)

    一.申请企业微信 1.登录企业微信官网,点击企业注册 二.配置企业微信 1.邀请管理员使用企业微信,如果有多个人直接添加新成员 2.管理员收到邀请,下载手机版企业微信,使用微信号登陆即可 3.创建应用 ...

最新文章

  1. 回调函数在C/C++中的使用
  2. 什么是机器人底盘 答案在这里!
  3. Akka2使用探索1(Remoting)
  4. QML绘制不同类型的图表
  5. 告别30元!喜茶承诺今年绝不涨价:不再推29元以上产品
  6. GDAL库三个读取Jpeg2000格式驱动测试
  7. 【effective c++】资源管理
  8. 0基础入门VTD-实操静态道路建模4
  9. matlab如何绘制函数方程,如何使用MatLab来绘制函数曲线方程图像?
  10. 原生js实现点击“上一张”、“下一张”按钮切换图片
  11. 用16进制编辑器编写一个DLL文件
  12. 使用Daemontools监控管理服务
  13. windows清理缓存性能加速
  14. 阿里天猫小镇的实质就是为了圈地!
  15. 当前最新it技术了解
  16. HTML实例网页代码 简单的个人博客网站设计与实现 (div+css)
  17. redis主从完整配置说明
  18. 手机测试人员的思维过程
  19. [C#] C#深入浅出4th Edition [2]
  20. Soot -- 中间代码Jimple介绍

热门文章

  1. 领峰:普通人如何炒白银技巧和方法有哪些
  2. HDU - 3533 Escape
  3. 《实变函数简明教程》,第三章:可测函数,连续函数复合可测函数是可测函数
  4. 计算机专业英语问卷调查,关于英语调查问卷的总结
  5. Hanselminutes Podcast 244-Benjamin van der Veen的Kayak,OWIN,开源Web服务器等
  6. 量化回测系统 股票回测系统 极简回测 策略开发
  7. html背景颜色渐变代码
  8. 计算机网络技术自主招生考试题,清华等17所高校2017年自主招生笔试真题
  9. php中notice怎么去掉,怎么关闭php的notice
  10. 几种平均数的物理意义应用场景