搭建好appium环境后,要学会定位app页面上的元素。下面是2款元素定位工具

  • uiautomatorviewer   -- Android SDK自带的元素定位工具,由Google开发的
  • Inspecor  -- appium Inspector是appium自带的一个元素定位工具

Android SDK在4.1以后提供了下面2种工具来支持UI自动化测试:

  • uiautomatorviewer – 一个图形界面工具来扫描和分析应用的UI控件
  • uiautomator – 一个测试的Java库,包含了创建UI测试的各种API和执行自动化测试的引擎

PS:切记不能搞混uiautomator和uiautomatorviewer!!!

下面是用Python实现:怎么在夜神模拟器安装淘宝app和定位淘宝的搜索框

from appium import webdriver
import time
desired_caps = {} -- 用字典格式表示,key和value要一一对应
desired_caps['platformName'] = 'Android' #android的apk还是IOS的ipa
desired_caps['platformVersion'] = '8.0' #android系统的版本号
desired_caps['deviceName'] = '127.0.0.1:62001' #手机设备名称,通过adb devices 查看
desired_caps['appPackage'] = 'com.taobao.taobao' #apk的包名
desired_caps['appActivity'] = 'com.taobao.tao.welcome.Welcome' #apk的launcherActivity
#desired_caps['unicodeKeyboard'] = True #使用unicodeKeyboard的编码方式来发送字符串
#desired_caps['resetKeyboard'] = True #将键盘给隐藏起来
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired_caps) #启动服务器地址,后面跟的是手机信息
# 休眠五秒等待页面加载完成
time.sleep(5) driver.find_element_by_id("com.taobao.taobao:id/home_searchedit").click() # driver.quit()

 上面的代码解释:

"http://127.0.0.1:4723/wd/hub"的解释:

127.0.0.1    -- 环回地址(loopback address),用来测试本机的TCP/IP协议栈。等价于localhost(本机)

4723  -- appium默认端口号,不是固定的,可以修改,但不能冲突

PS:cmd查看当前占用的端口号,可输入以下命令:

  • netstat -ano   -- 查看当前所有占用的端口
  • netstat -ano | findstr "4723"   -- 查看端口号4723被哪个程序占用

/wd/hub:

从上面的图片,我们可以看到:WebDriver类在初始化时定义了一个地址,除了端口号不一样,其它的和我们传的是一样的,也有/wd/hub。因此我们就可以简单的把/wd/hub理解为——规定。

参考链接:https://www.cnblogs.com/du-hong/p/11056638.html

https://www.cnblogs.com/captainmeng/p/8387236.html

最新文章

  1. 一个Activity掌握Android5.0新控件 (转)
  2. 3-1创建Sql Sever数据库登录名
  3. Java基础之在窗口中绘图——利用多态性使用鼠标自由绘图(Sketcher 7 with a crosshair cursor)
  4. jdk源码调试功能
  5. 在大型软件中用Word做报表: 书签的应用
  6. [CSS3 + HTML5] Modernizr
  7. AS3: Socket 数据包 收 发
  8. HTTP协议头部与Keep-Alive模式详解
  9. JavaScript模板引擎
  10. Android APK反编译详解(非常有用)
  11. Shell出现cd命令无法识别
  12. C# List<T> To DataTable
  13. canvas动态图标
  14. 使用Vagrant搭建本地python开发环境
  15. php 对象数组互转
  16. Tomcat 9.0 配置问题 403 Access Denied
  17. JavaScript高级程序设计学习(四)之引用类型
  18. 利用vue-cli3快速搭建vue项目详细过程
  19. SQL注入漏洞解决方法
  20. Android 6.0+ RecyclerView嵌套在ScrollView中显示不全

热门文章

  1. 4. java 流程控制
  2. R语言-记号体系
  3. springboot+lucene实现公众号关键词回复智能问答
  4. MySQL属性SQL_MODE学习笔记
  5. 实现简易JDBC框架
  6. 面试官:你看过Redis数据结构底层实现吗?
  7. Elasticsearch Query DSL 语言介绍
  8. C# shell32.dll 的用法
  9. shell 编程练习题2
  10. DesignPattern系列__08UML相关知识