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

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

②、验证aapt环境是否正常

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

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

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

四、写脚本

1platformName:这里是android的apk2.deviceName:手机设备名称,可以通过adb devices查看3.platformVersion:android系统的版本号(如6.0.1)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
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
proxy
File “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_session
response = self.execute(RemoteCommand.NEW_SESSION, parameters)
File “D:\python3.7\lib\site-packages\selenium\webdriver\remote\webdriver.py”, line 321, in execute
self.error_handler.check_response(response)
File “D:\python3.7\lib\site-packages\selenium\webdriver\remote\errorhandler.py”, line 242, in check_response
raise 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中启动正常

=====

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

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

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

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

===========================

后面又遇到一个问题

在部分android机型(目前在vivo中有遇到)上每次运行最新版的appium-desktop都需要安装AppiumSetting以及Unlock,并且安装过程需要用户手动来确认,即使测试机上已经安装了这两个组件,运行appium也会要求安装,对于测试以及脚本的调试来说非常不便。

appium第一个脚本相关推荐

  1. 有史以来的第一个脚本 找出三个数的最大数字

    其实老师后来上课的时候我才知道只是要找出三个数中最大的一个,而我当时却本着从小到大排列的思想去写脚本了,也由于是第一次写脚本所以也费了好长的时间. 刚开始看到这个题目的时候觉得很简单,这一贯是我眼高手 ...

  2. VBScript教程-第一章. 脚本的定义和术语

    最近一直很郁闷一件事, 大学毕业开始就有的一本微软脚本指南的书到现在也一点没看. 所以突发奇想想把它读完, 原书为英文, 看起来稍稍有些不爽, 准备顺便翻译并根据这几年积累的那么一点点知识添加和注释一 ...

  3. shell脚本编译规范(编写第一个脚本,脚本变量的作用,类型 ,了解read命令,let命令,环境变量和预定义变量)

    文章目录 shell脚本编译规范 shell脚本应用场景 shell编程规范 编写第一个脚本 执行脚本文件四种方法 echo输出友好提示信息 管道与重定向 管道操作符号"|" sh ...

  4. 第一个脚本-HelloWorld

    目录 前言 脚本的作用 创建脚本 开始编写我们这次的'HelloWorld'的对话框 前言 我的扩展主要使用:Tampermonkey,当然其他的有类似功能的也可以,我们就将这些统称为油猴吧. 本节主 ...

  5. shell脚本 简介 及 第一个脚本程序

    文章目录 什么是 shell脚本 shell脚本优点 第一个脚本的编写与执行 编写第一个脚本 执行脚本 什么是 shell脚本 shell 脚本就是利用 shell 的功能所写的一个程序( progr ...

  6. 【Unity入门】8.生成第一个脚本

    [Unity入门]生成第一个脚本     大家好,我是Lampard~~     欢迎来到Unity入门系列博客,所学知识来自B站阿发老师~感谢 (一)搭建开发环境 (1)下载visual studi ...

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

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

  8. ubuntu下的第一个脚本file.sh

    1.新建空文档,写入shell命令: #!/bin/sh cd /home/plg ./usb 第一行一定要有,一开始参考网上写的#!/usr/bin/sh,会提示错误 bash: ./file.sh ...

  9. 利用for循环完成你的第一个脚本

    脚本涉及内容: ping -c# IP :向目标IP发送#个包,测试是否可达. 命令状态结果: 成功:0 失败:1-255 说明:当你执行完成一条命令时,使用echo $?即可测试命令是否成执行,如果 ...

最新文章

  1. 关于SAP BW提示“Carry out repairs in non-original only
  2. Tianchi发布完整开源数据集!
  3. vue路由history模式,nginx配置
  4. 计算机主板风扇安装,5个装机注意事项 让你装电脑少走弯路
  5. [导入]SQL中的临时表和表变量
  6. 非计算机专业的学生,简谈非计算机专业的计算机教育
  7. iis php 数据库乱码,如何解决php插入数据乱码问题
  8. python 概率分布_python实现概率分布
  9. Linux+.NetCore+Nginx搭建集群
  10. MSBuild编译扩展
  11. 装系统可能会出现的问题--无法装在该磁盘,因为格式的原因
  12. 白板推导系列Pytorch-隐马尔可夫模型-解码问题
  13. SLAM学习笔记-------------(12)建图
  14. MATLAB2020a WIN10安装教程
  15. 微信小程序云函数使用教程【超详细】
  16. 关于等值连接,自然连接的理解
  17. 积微——荀子《强国篇》,给每个职场人士推荐
  18. RedHat 7.8下Redis安装和配置
  19. 青藤云安全获六千万A轮融资 自适应安全平台营收过千万
  20. 数据库——MySQL概述

热门文章

  1. springboot项目导出excel 合并单元格表格
  2. SEE Conf 大会直播邀请函丨体验技术风向标
  3. 内核管理 之 编译内核操作流程 ──为新手指南
  4. 【windows11 技巧】win11如何关闭你要以何方式打开此文件
  5. 【C++】约瑟夫环问题:任给正整数n和k,按下述方法可以得到1,2, …n的一个置换:将数字1,2,…,n环形排列,按顺时针方向自1开始报数,报到K时输出该位置上的数字,并使其出列。
  6. 自己动手提高ubuntu性能
  7. bzoj刷题(shui)记录
  8. JSP——JSTL定制标签 - 递归标签显示属性结构
  9. 清华博士生导师亲授:高考志愿计算机/AI专业填报指南
  10. 用FreeMarker生成Word文档