1、安装成功后,双击图标启动appium

2、输入host:0.0.0.0 ,port:4723,点击start server,启动appium,如下图所示,启动成功

3、点击搜索图标,打开定位工具Inspector,Start Inspector Session

4、Desired Capabilities,输入设备信息,或者编辑json文件,点击另存为,保存该设备信息

{
"platformName": "Android",
"deviceName": "GSL0217302005195",
"platformVersion": "8.0.0",
"appPackage": "com.tencent.mm",
"appActivity": "com.tencent.mm.ui.LauncherUI",
"noReset": true
}

platformName:平台名称,Android或IOS

deviceName:手机设备名称,通过adb命令获取,adb devices

platformVersion:手机系统版本

appPackage:APP的包名

appActivity:APP的Activity

noReset:true不重新安装APP,false重新安装APP

5、点击Sart Session,打开指定APP开始定位元素

获取APP包名命令:
不带任何选项:列出所有的应用的包名
adb shell pm list package

-s:列出系统应用
adb shell pm list package -s

-3:列出第三方应用
adb shell pm list package -3

-f:列出应用包名及对应的apk名及存放位置
adb shell pm list package -f

-i:列出应用包名及其安装来源
adb shell pm list package -i
结果显示例子:
package:com.zhihu.android installer=com.xiaomi.market

命令最后增加 FILTER:过滤关键字,可以很方便地查找自己想要的应用

参数组合使用,例如,查找三方应用中知乎的包名、apk存放位置、安装来源:

[xuxu:~]$ adb shell pm list package -f -3 -i zhihu
package:/data/app/com.zhihu.android-1.apk=com.zhihu.android installer=com.xiaomi.market

pm path 列出对应包名的 .apk 位置
[xuxu:~]$ adb shell pm path com.tencent.mobileqq
package:/data/app/com.tencent.mobileqq-1.apk

pm list instrumentation , 列出含有单元测试 case 的应用,后面可跟参数 -f (与 pm list package 中一样),以及 [TARGET-PACKAGE]

pm dump , 后跟包名,列出指定应用的 dump 信息,里面有各种信息,自行查看
adb shell pm dump com.tencent.mobileqq

命令行窗口获取当前运行的Activity命令:

adb shell dumpsys activity | findstr -i run

adb命令微博推荐:https://www.cnblogs.com/bravesnail/articles/5850335.html

获取activity微博推荐:https://blog.csdn.net/hty1053240123/article/details/54312614

注:

appium1.5以后,不支持name定位

但是可以用text定位方式,如driver.findElementByAndroidUIAutomator("text(\"6\")"),但是driver不能是appium driver,只能改成 Android driver

appium1.7的使用的更多相关文章

  1. Appium0.18.x迁移到Appium1.x须知事项(灰常实用,解答了本人几个疑问)

    英文原版:https://github.com/appium/appium/blob/master/docs/en/advanced-concepts/migrating-to-1-0.md Migr ...

  2. Appium0.18.x迁移到Appium1.x须知事项

    英文原版:https://github.com/appium/appium/blob/master/docs/en/advanced-concepts/migrating-to-1-0.md Migr ...

  3. 基于Appium1.6.X的WebDriverAgent编译、安装

    转自:http://www.cnblogs.com/baconLiu/p/6861431.html tips:WebDriverAgent是Appium1.6.3以后版本新添加的模块,为了让appiu ...

  4. Appium1.6 定位iOS元素和操作元素

    元素定位方式  第一种:通过Appium1.6的Inspector来查看 具体安装方式前面的随笔已经介绍了:http://www.cnblogs.com/meitian/p/7360017.html ...

  5. Appium1.6启动iOS真机

      前提:已经安装了Appium1.6版本,我这里用的是GUI版本   环境要求: 真机iOS9.3及以上 macOS 10.11或10.12 Xcode7及以上   安装步骤如下 第一步:iOS真机 ...

  6. Appium1.6 GUI界面介绍

    Appium1.6安装详见随笔:http://www.cnblogs.com/meitian/p/7360017.html   下面具体介绍一下GUI界面 1.appium server配置页面 2. ...

  7. Appium1.6,安装WebDriverAgent(WDA)

    前提说明:Appium1.6通过WebDriverAgent来操作iOS,所以需要在Appium下安装一份WebDriverAgent,并且将程序安装到iOS真机上 (如果是模拟器不需要这步骤)   ...

  8. Appium 教您完美win10安装Appium1.7.2支持win客户端自动化

    参考内容: https://testerhome.com/topics/10193https://testerhome.com/topics/8223https://testerhome.com/to ...

  9. 使用appium1.4在android8.0真机上测试程序时报错command failed shell "ps 'uiautomator'"的解决方式

    appium1.4,运行自动化脚本时提示 org.openqa.selenium.SessionNotCreatedException: A new session could not be crea ...

随机推荐

  1. tensorflow报错

    libcublas.so.9.0: cannot open shared object file: No such file or directory 输入命令: sudo ldconfig/usr/ ...

  2. 解决PageHelper.startPage(page, size)后,关于PageInfo的total等属性不正确等问题

    在解决PageHelper.startPage(page, size);的位置问题后,又遇到total等信息错误,主要还是不细心,两个不同的List实例化进PageInfo,不能混在一起,同时要确保这 ...

  3. Dictonary(Python)(一)

    基本用法: .keys .values .items >>> D = dict(a=1,b=2,c=3) >>> D {'a': 1, 'b': 2, 'c': 3 ...

  4. 分布式存储Ceph之PG状态详解

    https://www.jianshu.com/p/36c2d5682d87 1. PG介绍 继上次分享的<Ceph介绍及原理架构分享>,这次主要来分享Ceph中的PG各种状态详解,PG是 ...

  5. java html生成图片html2canvas,Canvas2Image

    <html> <div id="pic" style="margin-left: 500px;position:fixed;opacity:0;&quo ...

  6. 52、saleforce 第一篇

    View the Schema 1.点击setup 2.在QuickFind and Search中输入Schema Builder 先点击clear all 去除所有现实的UML,然后选择Line_ ...

  7. spring+freemarker 乱码解决办法

    这样应该可以了~ <!-- freemarker config --> <bean id="freemarkerConfig" class="org.s ...

  8. C++——右值引用

    1.绑定到一个将要销毁的右值的引用——移动 2.左值表达式——对象的身份:右值表达式——对象的值 ; int& r=i; int&& rr=i;//×,左值不能绑定到右值引用 ...

  9. activiti7流程实例启动

    package com.zcc.acvitivi; import org.activiti.engine.ProcessEngine;import org.activiti.engine.Proces ...

  10. Java内部类类型

    可以在类中的任何位置定义内部类,并在其中编写Java语句.有三种类型的内部类. 内部类的类型取决于位置和声明的方式. 成员内部类 局部内部类 匿名内部类 成员内部类 成员内部类在类中声明的方式与声明成 ...