AppiumDesktop录制脚本

AppiumDesktop启动页面:python

启动AppiumDesktop之后点击该页面右上角的Start New Session按钮,就会启动一个新的会话窗口(以下图),在这个窗口咱们须要配置一些Desired Capabilities信息:

platformName:'Android'    #Android手机
platformVersion:'4.3  '       #模拟器系统是4.3
deviceName:'192.168.105.101::5555'    # 这个是模拟器的设备名称web

app:'D:\\app\\SHIPPER_Android_TEST_4.1.1.0.apk'        # 安装本身待测app,类型为filepathshell

appPackage:'com.taobao.taobao'    #app的包名称app

appActivity:'com.taobao.tao.welcome.Welcome  '       #activity的名称ide

使用命令查看:adb shell dumpsys activity activitiesui

noReset:是一个bool值,选TRUE。
若是想要使用真机,必须再加一个字段udid,是text类型。this

 

 

 2.参数配置好以后能够保存下,而后启动模拟器,再点Start Session按钮就能定位元素了3d

 

定位元素信息

写Appium脚本的最重要的一个信息是定位元素,获取元素的ID或者xpath等等相似的信息。
只须要点击Inspector最左边一栏的Select按钮,而后再去点击所要获取信息的元素便可,当元素突出显示时,其信息将显示在Inspector右侧的详细视图中。有些是用accessibility id 定位,有些是xpath定位或者其余的定位信息,可是在iOS应用上Appium推荐使用accessibility id 来定位一个元素信息。
在Inspector窗口的中间是您的应用程序的层次结构,表示为XML。code

 

滑动页面(元素)

如今能够定位当前页面的元素了,可是怎么滑动到下一个页面或者怎么滑动页面上的滑动条(slider)呢?
选中Swipe。模拟在手机上的操做手势,从起点到终点各点击一下,就实现了滑动。orm

 

 

点击某一个元素

若是咱们想要点击某一个元素进行下一步操做,好比在输入框内输入文本或者弹出一个alert该怎么操做呢?
选中Tap。而后再去点击textfield或者alert咱们就能够进行下一个操做了。若是想要定位alert上的元素信息,那就在alert弹出的时候在切换到Select,而后点击想要定位的元素就好了。

 

录制脚本

这真的是一个很实用的功能。他彷佛解决了咱们一个大问题,那就是该使用哪一个API的问题以及脚本的编写规范的问题。对于初步入坑的小伙伴来讲是一个很好的参考。脚本录制功能就是那个眼睛图标,以下图:

 

脚本录制.png
脚本录制.png

 

点击该按钮之后以下图:

脚本录制.png
脚本录制.png

 

而后就能够在左边随便对App进行操做了,此处我进行的操做有:点击输入框,点击Alert,滑动滑动条,滑动屏幕,点击软键盘并输入文本(这里我选择是Python语言)。这时候Inspector生成的脚本是很是简单的,只是对你操做的步骤进行记录,还不能执行,这段脚本以下:

TouchAction(driver).tap([(167, 73)])
TouchAction(driver).tap([(81, 300)])
TouchAction(driver).tap([(303, 414)])
el1 = driver.find_element_by_accessibility_id("IntegerA")
el1.click()
el1.send_keys("Hello")
TouchAction(driver)
.press({x: 198, y: 393})
.moveTo({x: 50: y: 0})
.release()
TouchAction(driver)
.press({x: 335, y: 264})
.moveTo({x: -183: y: -3})
.release()
TouchAction(driver).tap([(191, 498)])
TouchAction(driver).tap([(357, 698)])

反正我没看懂这段代码。别担忧,这只是Inspector默认生成的极简脚本,善良的Inspectory为咱们提供了一个功能那就是将极简脚本变成可执行脚本,操做以下图:

脚本录制.png
脚本录制.png

 

如今脚本就变成了这个样子:

# This sample code uses the Appium python client
# pip install Appium-Python-Client
# Then you can paste this into a file and simply run with Python
from appium import webdriver
caps = {}
caps["platformName"] = "iOS"
caps["platformVersion"] = "10.3"
caps["deviceName"] = "iPhone 7 Plus"
caps["app"] = "http://appium.s3.amazonaws.com/TestApp7.1.app.zip"
caps["noReset"] = True
driver = webdriver.remote("http://0.0.0.0:4723/wd/hub", caps)TouchAction(driver).tap([(167, 73)])TouchAction(driver).tap([(81, 300)])TouchAction(driver).tap([(303, 414)])el1 = driver.find_element_by_accessibility_id("IntegerA")el1.click()el1.send_keys("Hello")TouchAction(driver).press({x: 198, y: 393}).moveTo({x: 50: y: 0}).release()TouchAction(driver).press({x: 335, y: 264}).moveTo({x: -183: y: -3}).release()TouchAction(driver).tap([(191, 498)])TouchAction(driver).tap([(357, 698)])driver.quit()

相关文章
相关标签/搜索