appium 启动多个APP

1.desired_caps配置 autoLaunch为False ,表示初始化driver后不自动启动APP

'autoLaunch':False  #是否让Appium自动安装和启动应用,默认为True

2.获取Activity

adb shell dumpsys SurfaceFlinger

3.初始化driver完成后,打开多个APP进行切换

appium 提供打开APP方法

driver.start_activity('cn.hyh.u3dproject', '.MainActivity')#打开APP1
time.sleep(2)
driver.find_element(MobileBy.ID,'cn.hyh.u3dproject:id/btnLogin').click()driver.start_activity('com.jmar.xahl.ar.project', '.ui.activity.webview.WebViewActivity')#打开APP2

monkey,打开APP方法

os.system('adb shell monkey -p cn.hyh.u3dproject. -v 1')#monkey命令打开APP1
#-------------------------------------------------------------------------------
# @File : demo_02.py
# @Time : 2022-05-31 17:23
# @Author : mojin
# @Email : 397135766@qq.com
# @Software : PyCharm
#-------------------------------------------------------------------------------# 导入webdriverfrom appium import webdriver
import time,os
from appium.webdriver.common.mobileby import MobileBy
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.wait import WebDriverWaitdesired_caps ={'platformName': 'Android','newCommonTimeout': 500,#Appium等待接收从客户端发送的新命令的超时时长,超时后Appium认为客户端已经退出,终止会话。'noReset': True, #不在此会话之前重置应用程序状态(意思就是每次启动都当做第一次启动,因为首次进入某些应用时有的会有弹框,所以测试时可以设置为True),默认为False'autoGrantPermissions': True, #取消自动权限弹框的处理 true or false'deviceName': '0123456789ABCDEF','platform_version': '10','appPackage': "com.jmar.xahl.ar.project",'appActivity': "com.jmar.xahl.ar.project.ui.activity.splash.SplashActivity",'udid': '0123456789ABCDEF',#连接的物理设备的唯一设备标识符,可通过adb devices查看,就是一串数字和字母组成的字符'systemPort': 8200,  #appium-uiautomator2-server默认是8200'automationName': 'uiautomator2',#使用哪个自动化引擎,默认是Appium"chromedriverExecutable": r"D:\Program Files (x86)\python374\chromedriver.exe",'autoLaunch':False  #是否让Appium自动安装和启动应用,默认为True}driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
# 设置等待时间,如果不给时间的话可能会找不到元素
driver.implicitly_wait(10)#driver.launch_app()
#driver.launch_app()os.system('adb shell monkey -p cn.hyh.u3dproject. -v 1')#monkey命令打开APP1
#driver.start_activity('cn.hyh.u3dproject', '.MainActivity')#打开APP1time.sleep(2)
driver.find_element(MobileBy.ID,'cn.hyh.u3dproject:id/btnLogin').click()driver.start_activity('com.jmar.xahl.ar.project', '.ui.activity.webview.WebViewActivity')#打开APP2
#driver.start_activity('com.jmar.xahl.ar.project', '.ui.activity.im.contact.ContactActivity')
time.sleep(6)# driver0=BasePage(driver)
# time.sleep(5)
# driver
#前面一系列操作,打开了H5页面
#等待web页面出现
#WebDriverWait(driver,10,1).until(EC.visibility_of_element_located(MobileBy.CLASS_NAME,"android.widget.FrameLayout"))
#获取当前的上下文
# time.sleep(5)
contexts=driver.contexts
print("当前所有的contexts:",contexts)# wins = driver.window_handles
# print(wins)
#切换上下文,切换到webview# #也可以通过名称来切换
# #driver.switch_to.context("WEBVIEW_com.baidu.yuedu")
# driver.switch_to.context(contexts[-1])
# #获取web内容
# source=driver.page_source
# # 切回native
# driver.switch_to.context(contexts[0])
# driver.switch_to.context("NATIVE_APP") # 这样也是可以的
# #
# #
# message_module = (MobileBy.ANDROID_UIAUTOMATOR, 'new UiSelector().text("查看更多 ")')  #
# driver.find_element(*message_module).click()time.sleep(10)

appium 多个APP进行切换测试相关推荐

  1. Appium之Hybrid APP混合应用测试

    目录 前言 1. 解决方案 2. 遇到的问题 2.1 contexts只能获取NATIVE_APP,无法获取WEBVIEW 2.2 已经能够获取到WEBVIEW,但是无法切换到WEBVIEW 前言 在 ...

  2. 利用Appium对Android App进行测试

    文章目录 前言 一.软件 二.环境配置 1.安装node.js (Appium 1.11以上版本不需要安装此环境) 2.Android虚拟手机和Java环境 3.安装Appium 4.测试项目的创建 ...

  3. web系统软件测试功能点,小程序、app、web测试的区别

    APP的测试类型有 • 安装卸载测试:确认系统能正常安装应用及使用,不需要时卸载及数据清除, • 安全测试:防范隐私泄露.密码加密及传输安全.权限的合理开放.数据库安全.通信安全以及安装包反编译: • ...

  4. java+appium+mumu模拟器 APP和小程序自动化测试

    环境准备 (1)nodejs 下载地址:https://nodejs.org/en/download/ 验证:cmd输入node -v,查看版本 (2)jdk 下载地址: https://www.or ...

  5. [Appium] 搭建Android App UI自动化环境

    [Appium] 搭建Android App UI自动化环境-Windows10 一.Appium介绍 Appium是一个开源的自动化测试工具,其支持iOS和安卓平台上的原生的,基于移动浏览器的,混合 ...

  6. Web\App\接口自动测试常见面试题

    一.Web自动化测试 1.Selenium中hidden或者是display = none的元素是否可以定位到? 不能,可以写JavaScript将标签中的hidden先改为0,再定位元素 2.Sel ...

  7. appium python 抓包_Python学习教程:另辟蹊径,appium抓取app应用数据了解一下

    原标题:Python学习教程:另辟蹊径,appium抓取app应用数据了解一下 作为爬虫工程师,没有价格不知道selenium的. 什么是selenium? Selenium原本是一个用于Web应用程 ...

  8. App一键切换url环境、一键打包__Android拓展篇(Java)

    文 | Promise Sun 一.背景: 1. 2022上班第一天,整理一下过去的工作,发现这方面的小知识点,去年忘记记录博客了,于是就有了这篇文章.分享给大家,希望对有需要的朋友有帮助. 2. 项 ...

  9. Android 8.0 App内切换语言不生效的问题记录

    国内大部分简单应该都只做了中文简体版,但是有部分项目需要面向国际化,甚至可能就是主打国外市场.因此我们有时候会遇到需要APP内做多语言切换的功能需求. 如何做多语言切换,网上资料还是很多的,本文也不是 ...

最新文章

  1. PlantCom:基于内参的宿主相关丰度定量分析揭示植物根系微生物组的微生物总量变化
  2. html 图片自动切换插件,jquery图片切换插件
  3. mysql中int(m)_mysql中int(M) tinyint(M)中M的作用
  4. 拷贝构造,深度拷贝,关于delete和default相关的操作,explicit,类赋初值,构造函数和析构函数,成员函数和内联函数,关于内存存储,默认参数,静态函数和普通函数,const函数,友元
  5. 以后再也不去字节面试了…
  6. 排序系列之---冒泡排序
  7. mysql慢查询日志轮转_MySQL slow log相关参数解释
  8. “假冒hao123”“北大青鸟”被黑 钓鱼挂马两不误
  9. 从 0 到 1 实现 React 系列 —— 组件和 state|props
  10. netbeans php 断点调试,windows7 + iis7 + fastcgi + php5 + netbeans + xdebug 调试 php
  11. python源码中的学习笔记_第7章_字符串
  12. 解放前端工程师——手把手教你开发自己的自定义列表和自定义表单系列之三表格
  13. php gd support = off,PHP GD库中GD函数的用法详解
  14. 网络安全中非常好用的webshell检测工具!
  15. 中小型局域网上网管理组网方案
  16. 基于 Netty 重构 RPC 框架
  17. [146]PyUserInput模拟鼠标和键盘模拟
  18. vue 图片转base64格式的方法
  19. 关于AD17 原理图设置差分出现Number of nets in differential pair ** is 1 instead of 2的问题
  20. 达梦数据库修改pagesize

热门文章

  1. 淮阴工学院计算机技能训练,淮阴工学院学分制实施方案(试行)
  2. ADN电话本信息的简单解析
  3. jodconverter word文档转PDF
  4. 苹果向2周内新购iPad一代用户退款100美元
  5. TKM32F499评估板串口通信实验
  6. Trait 特质特性
  7. maya计算机内存不足请保存,Maya渲染时提示内存不足的六种解决办法
  8. insmod源码分析
  9. iOS8 系统键盘分析 ,与第三方键盘
  10. python计算时间差_Python:计算时间差