关于appium的简单理解

Posted 方缘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于appium的简单理解相关的知识,希望对你有一定的参考价值。

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

以上是关于关于appium的简单理解的主要内容,如果未能解决你的问题,请参考以下文章

关于 appium get_attribute 方法的坑

appium 初探

Appium Python 二:理论概念理解

几个关于js数组方法reduce的经典片段

关于CSS的个人理解

有关于appium自动化测试的问题