appium 自动化操作定位的三种方式
2018-11-01 本文已影响8人
数据运营python
前面已经把测试的环境搭建好,接下来是要对测试的app进行自动化的操作
1. 元素的定位的三种方式
1.1 用默认的 uiautomatorviewer 进行定位
把mumu虚拟机打开,并且连接上,打开对应的要测试的程序。在安装的 ..\sdk\tools\ 目录下打开 uiautomatorviewer.bat,显示如下图。点击uiautomatorviewer左上角的第二个图标按钮 Device Screenshot获取快照,这个时候就可以对快照的页面元素进行定位,在右下角可以看到对应的resource-id,class,text这些基础的属性
image
1.2 LazyUiAutomatorViewer 插件
通过安装该插件 LazyUiAutomatorViewer ,启动后界面跟第一种方式的操作一样,唯一不一样的是右下角的xpath,fullindexXpath,uiaSelector这些属性。
1.3 appium 的Automatic Server
1.3.1 启动appium后,点击如下图的右边的第一个按钮
1.3.2 设置capabilities的属性
在capabilities设置对应的信息,该信息是前面一章提到的,启动app对应的参数,这个时候appium就是一个客户端,设置后,点击“Start Session”
1.3.3 进行定位
上图的标识1:点击按钮开始录制脚本,通过操作左边的界面,并且通过标识3模拟相应的操作。停止录制后,在Recorder 里面可以选择生成的脚本的语言。
上图的标识2:搜索对应的元素,而不需要在一堆xml里面查找
上图的标识3,4:显示对应的xpath,并且可以模拟用户的点击,输入等操作
2 自动化测试涉及到的一些基本操作
2.1 查找元素:find_element_by_id,find_element_by_xpath 这两个方法比较常用
2.2 模拟键盘的回车操作 driver.press_keycode(66)
2.3 元素的点击事件ele.click()
2.4模拟输入信息ele.send_keys("输入的内容")
2.5由于网络或者其他原因,到时对应的元素还没有出来,这个时候如果直接获取数据会报错,可以设置固定的等待时间driver.implicitly_wait(3) ,值得单位是秒。这样不需要用sleep的方式
关注公众号