AppiumDesktop

AppiumDesktop启动页面:

修改中文

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

platformName:'Android'    #Android手机

platformVersion:'4.3  '       #模拟器系统是4.3

deviceName:'192.168.105.101::5555'    # 这个是模拟器的设备名称

app:'D:\\app\\SHIPPER_Android_TEST_4.1.1.0.apk'        # 安装自己待测app,类型为filepath

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

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

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


noReset:是一个bool值,选TRUE。

如果想要使用真机,必须再加一个字段udid,是text类型。

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

定位元素信息

写Appium脚本的最重要的一个信息是定位元素,获取元素的ID或者xpath等等类似的信息。

只需要点击Inspector最左边一栏的Select按钮,然后再去点击所要获取信息的元素即可,当元素突出显示时,其信息将显示在Inspector右侧的详细视图中。有些是用accessibility id 定位,有些是xpath定位或者其他的定位信息,但是在iOS应用上Appium推荐使用accessibility id 来定位一个元素信息。

在Inspector窗口的中间是您的应用程序的层次结构,表示为XML。


点击某一个元素

如果我们想要点击某一个元素进行下一步操作,比如在输入框内输入文本或者弹出一个alert该怎么操作呢?

选中Tap。然后再去点击textfield或者alert我们就可以进行下一个操作了。如果想要定位alert上的元素信息,那就在alert弹出的时候在切换到Select,然后点击想要定位的元素就行了。


录制脚本

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

点击该按钮以后如下图:

然后就可以在左边随便对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为我们提供了一个功能那就是将极简脚本变成可执行脚本,操作如下图:

现在脚本就变成了这个样子:

# 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 time import sleep

from appium import webdriver

from appium.webdriver.common.touch_action import TouchAction

caps = {}

caps["platformName"] = "Android"

caps["platformVersion"] = "7.1.1"

caps["deviceName"] = "ea39deaa"

caps["appPackage"] = "com.jxmfkj.www.company.ayzx"

caps["appActivity"] = "com.xdtech.news.greatriver.start.SplashActivity"

driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)

sleep(3)

TouchAction(driver).tap(x=825, y=151).perform()

sleep(3)

TouchAction(driver).tap(x=974, y=1821).perform()

sleep(3)

TouchAction(driver).tap(x=359, y=1808).perform()

sleep(3)

TouchAction(driver).tap(x=732, y=1840).perform()

sleep(3)

TouchAction(driver).tap(x=97, y=1836).perform()

sleep(10)

driver.quit()

这样是不是就和我们写的脚本格式一样了,你学会了吗?

在学习过程中遇到问题可以留言,互相学习,共同进步!

你可能感兴趣的:(AppiumDesktop)