搭建好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

版权声明:本文为huainanhai原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/huainanhai/p/11671016.html