1、可以使用android-sdk中的aapt工具

①、选择一个版本的build_tools,加入path环境变量中

②、验证aapt环境是否正常

3、下载你要测试的包到本地,放入某一地址中(随意):aapt dump badging D:\Users\4admin\Desktop\jianshu_xpgod.apk(包的位置)

然后就可以获得包的所有信息,如包名、LauncheActivity

4、然后就可以开始写脚本啦

四、写脚本

1platformName:这里是android的apk

2.deviceName:手机设备名称,可以通过adb devices查看

3.platformVersion:android系统的版本号

4.appPackage:apk包名

5.appActivity:apk的launcherActivity

注意!!!:这些信息基本都能在这里找到,一定不能写错

以下代码是照抄的网上资源

 1 from appium import webdriver;
 2 from appium import version;
 3 #from selenium import webdriver;10 #from appium import webDriver
11 pack_info={
12 'platformName':'android',
13 'deviceName':'215a343c0804',
14 'platformVersion':'23',(也可以写版本号,如7.1.2)
15 'appPackage':'hykb.xmcy.hykb',(包名一定不能写错啊)
16 'appActivity':'com.xmcy.hykb.app.ui.splash.SplashActivity'
   "noReset": "True"(发现每次启动实际上是一个重装过程,这样每次都会重置权限,这个开关True就是不重装,False就是重装)

17 }
18
19 drive=webdriver.Remote('http://127.0.0.1:4723/wd/hub',pack_info);
20 #drive=webdriver.Remote('http://127.0.0.1:4723/wd/hub',pack_info);

运行后,

第一个问题:提示no moudle  name'selenium',虽然不知道运行appium相关为什么要用selenium,但很明显还需要按照这个第三方,下载就是了(pip install selenium)

第二个问题:第一个问题已经解决,那么确认连上手机、打开appium-client,运行py代码,正常应该要在设备中打开这个指定的app,实际却提示以下错误栈

Traceback (most recent call last):File "C:/Users/4399-3046/PycharmProjects/test_case/appium_test.py", line 19, in <module>drive=webdriver.Remote('http://127.0.0.1:4723/wd/hub',pack_info);File "D:\python3.7\lib\appium\webdriver\webdriver.py", line 129, in __init__proxyFile "D:\python3.7\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 157, in __init__self.start_session(capabilities, browser_profile)File "D:\python3.7\lib\appium\webdriver\webdriver.py", line 204, in start_sessionresponse = self.execute(RemoteCommand.NEW_SESSION, parameters)File "D:\python3.7\lib\site-packages\selenium\webdriver\remote\webdriver.py", line 321, in executeself.error_handler.check_response(response)File "D:\python3.7\lib\site-packages\selenium\webdriver\remote\errorhandler.py", line 242, in check_responseraise exception_class(message, screen, stacktrace)
selenium.common.exceptions.SessionNotCreatedException: Message: A new session could not be created. (Original error: Could not extract PIDs from ps output. PIDS: [], Procs: ["bad pid 'uiautomator'"])

百度了一下,意思大概是:无法创建一个新的回话,因为启动的activity从来没有被启动~~~啥意思??我指定的启动Activity也没写错呀~然后网上说要指定一个【

'appWaitActivity':'com.xmcy.hykb.app.ui.startup.role.RoleActivity'

】,加了还是错误(其实关键我不知道这个appwaitActivity从哪里获取)

1 > info: [debug] Responding to client with error: {"status":33,"value":{"message":"A new session could not be created. (Original error: Could not extract PIDs from ps output. PIDS: [], Procs: [\"bad pid 'uiautomator'\"])","origValue":"Could not extract PIDs from ps output. PIDS: [], Procs: [\"bad pid 'uiautomator'\"]"},"sessionId":null}
2 > info: <-- POST /wd/hub/session 500 11260.389 ms - 288 

第二次尝试:仔细看了一下appium控制台的报错信息,找到以下信息:

百度了一下,说是要在appium/node_modules\appium-adb\lib\adb.js中加入以下代码,保存后,重启appium;--------------------------------加这个是因为我的手机版本号是7.0以上的,7.0以上Uautomator不兼容的问题,最终重启后,终于正常

======

最终,app中启动正常

=====

发现另外一个问题,虽然上面已经启动成功

①、当我电脑上即打开了夜神模拟器,又链接了电脑,此时,再运行代码,会提示,找不到目标计算机

但等我关掉两个模拟器,又正常了

是不是一次不能链接太多设备??

转载于:https://www.cnblogs.com/shenyexiaoqingxin/p/10443324.html

appium---第一个脚本--启动一个已存在的app相关推荐

  1. appium第一个脚本

    1.可以使用android-sdk中的aapt工具 ①.选择一个版本的build_tools,加入path环境变量中 ②.验证aapt环境是否正常 3.下载你要测试的包到本地,放入某一地址中(随意): ...

  2. android intent隐式启动一个隐藏图标的APP

    intent隐式启动被隐藏图标的activity的方法 今天开发安卓的时候遇到了一个问题,被隐藏掉图标的apk程序,用另一个apk隐式启动的时候,报错. 网上百度了一圈,都说加上category.DE ...

  3. php脚本启动,有没有办法启动一个PHP脚本并获得状态?

    是否可以使用js在Web服务器上在后台启动php脚本并让它运行,即使您更改页面或根本不访问该站点,如果您第二次调用该php脚本也可以获取当前状态? 这个php脚本将处理数小时的数据,每个循环的睡眠时间 ...

  4. Android程序暂停sh,init进程 解析Android启动脚本init.rc 修改它使不启动android init.rc中启动一个sh文件...

    Android启动后,系统执行的第一个进程是一个名称为init 的可执行程序.提供了以下的功能:设备管理.解析启动脚本.执行基本的功能.启动各种服务.代码的路径: system/core/init,编 ...

  5. 第一章 Hadoop启动Shell启动脚本分析--基于hadoop-0.20.2-cdh3u1

    我的新浪微博:http://weibo.com/freshairbrucewoo. 欢迎大家相互交流,共同提高技术. 第一章 Hadoop启动Shell启动脚本分析 第一节 start-all.sh脚 ...

  6. python 10053_python 写的selenium脚本不能循环,循环时会报 [WinError 10053] 你的主机中的软件中止了一个已建立的连接。错误,求大佬解答下...

    用python写了一段自动化脚本,在循环的时候报ConnectionAbortedError: [WinError 10053] 你的主机中的软件中止了一个已建立的连接.错误,第一次执行没有问题,就是 ...

  7. 实现android应用程序自动化测试的批处理脚本,简单入手移动端并发自动化测试:Appium+Robot+ 批处理脚本...

    一.前言 好久没写帖子,去年晋升为 leader 之后工作比较忙,去年为团队的产品建立了一轮的移动端(Android&iOS)的自动化测试,到今天为止跑了将近半年,前期感觉还行,但随着用例的增 ...

  8. 如何在QEMU上执行iOS并启动一个交互式bash shell,内含整个安装流程并且提供了相关工具(二)

    我们在上一篇文章中介绍如何在QEMU上执行iOS并启动一个交互式bash shell,在第这篇文章中,我们将详细介绍为实现这些目标所进行的一些具体的项目研究. 本文的研究项目是以该项目为基础进行的,我 ...

  9. bat脚本启动Java服务

    bat脚本启动Java服务 1.终端cmd窗口运行jar 2. bat脚本启动jar包 3.后台启动bat脚本 4. 运行bat只启动一次jar服务及停止脚本 5.注意事项 6.所用资源 1.终端cm ...

最新文章

  1. 导师:学AI的不懂计算机视觉,那你别学了
  2. poj-1031-fence(不是我写的,我只是想看着方便)
  3. 格式字符串语法,摘取自JDK6
  4. Moore-Penrose广义逆:可解决MATLAB报错“矩阵接近奇异值,或者缩放错误。结果可能不准确”
  5. Python 定时任务框架 APScheduler
  6. 用计算机弹奏hop,关于职称计算机Photohop模拟练习题参考
  7. 现在要吃软饭的,都这么明目张胆了吗?
  8. #从零开始学Swift2.0# No.4 枚举, 元组, 数组和字典
  9. Android 功耗(11)---Android 功耗分析之wakelock
  10. Android Intent的使用
  11. MySQL Err126错误[Err] 126 - Incorrect key file for table '.\device\table_name.MYI'; try to repair it
  12. 腾讯位置服务开发应用-使用教程,案例分享,知识总结
  13. l360清零软件无响应_爱普生Epson L360 清零软件
  14. html播放器滚动字幕,HTML 滚动字幕
  15. 【分享】VMwareESXI详细黑群晖教程 DS36156
  16. jquery 图片裁剪 java,jQuery实现图片上传和裁剪插件Croppie
  17. 科技爱好者周刊:第 74 期
  18. 2020全国高校计算机能力挑战赛(word模拟题)
  19. logistic混沌 matlab,混沌映射(序列)matlab算法“小全”:Logistic、Henon、帐篷、kent(含混沌二值图像生成函数)...
  20. crt 生成pem_linux下pem转crt命令_crt转pem方法

热门文章

  1. 揭秘 Google 成长史:荒诞梦想的副产品
  2. dnf跨6服务器维护,地下城与勇士DNF2018全跨区表一览
  3. HDU 2075 JAVA
  4. 10.2国庆作业(PWM实验)
  5. Realsense L515使用
  6. Java调用Zebra条码打印机打印条码、中英文数字条码混合标签,可自由控制格式和排版
  7. 使用IDL显示DICOM文件的信息
  8. 2019,塞翁失马,败走麦城
  9. mysql多字段in用法
  10. c++多态之 运行时多态与编译时多态