• appium--desktop


    appium desktop简单使用

    下载地址https://github.com/appium/appium-desktop/releases

    Appium Desktop与Appium不是同一个东西。Appium Desktop是对于Appium而言,是一个拥有更多相关工具的图形化界面。

    安装完直接启动,启动成功是如下的页面

    点击start server启动一个服务

    左下角的链接是文档说明,可以查看相对应的文档。

    设备id和appPackage,appActivity都可以通过adb devices获取(可以看我的adb文章),如果是模拟器,需要先连接

    如果没有安装,需要在增加一个参数app,后面放app的绝对路径

    这样配置好之后,就会自动打开我们的app,启动之后,会打开一个页面,这个页面可以帮助我们分析各个元素的属性等等内容

    我们选中开启,单击tap就会进入下一步

    温馨提示:如果页面和手机的页面没有同步,点击刷新按钮

     录制脚本

    appium--desktop提供了我们录制脚本的功能,就像selenium的录制脚本一样

    启动appium desktop之后,开始录制

    选择一个控件之后,点击tap,就会在上面出现一行代码,录制完成之后,点击右上角的 Show/Hide Boilerplate Code在点击复制,这样就把我们录制好的脚本转成了对应语言的脚本

     把录制好的脚本放到pycharm里,加以改造,加上隐式等待,要不然会报错

     1 # This sample code uses the Appium python client
     2 # pip install Appium-Python-Client
     3 # Then you can paste this into a file and simply run with Python
     4 
     5 from appium import webdriver
     6 
     7 caps = {}
     8 caps["platformName"] = "Android"
     9 caps["deviceName"] = "CLB0219314000452"
    10 caps["appPackage"] = "com.xueqiu.android"
    11 caps["appActivity"] = ".view.WelcomeActivityAlias"
    12 caps["platfromVersion"] = "9.0.0"
    13 
    14 driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
    15 driver.implicitly_wait(15)
    16 el1 = driver.find_element_by_id("com.XXX")
    17 el1.click()
    18 el2 = driver.find_element_by_id("com.android.packageinstaller:id/permission_allow_button")
    19 el2.click()
    20 el2.click()
    21 el3 = driver.find_element_by_xpath("/hierameLayout/android.wid")
    22 el3.click()
    23 
    24 driver.quit()

    这样我们就可以使用pycharm启动我们的脚本了

    自动允许权限

    上面脚本有四个点击事件,其中前面的三个点击事件是允许权限的,我们可以设置 autoGrantPermissions为True,在来改动我们的脚本

    # 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"] = "Android"
    caps["deviceName"] = "CLB0219314000452"
    caps["appPackage"] = "com.xueqiu.android"
    caps["appActivity"] = ".view.WelcomeActivityAlias"
    caps["platfromVersion"] = "9.0.0"
    caps["autoGrantPermissions"] = True  # 设置自动授权权限
    
    driver = webdriver.Remote("http://localhost:4723/wd/hub", caps)
    driver.implicitly_wait(15)
    
    el3 = driver.find_element_by_xpath("/t.FrameLayout[1]/androidget.ImageView")
    el3.click()
    
    driver.quit()

    设置了autoGrantPermissions为True之后,我们就可以把前面的三个点击事件去掉,这样就会自动授权,不需要我们手动授权了

  • 相关阅读:
    九章强化最后一章
    强化第一章
    双指针
    数据结构强化1
    动态规划强化
    动态规划
    selenium上传文件,怎么操作
    在python 3.6的eclipse中,导入from lxml import etree老是提示,Unresolved import:etree的错误
    在python 3.6下用pip 安装第三方库,比如pip install requests,老是报错 Fatal error in launcher: Unable to create process using '"'
    python3 + selenium + eclipse 中报错:'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home
  • 原文地址:https://www.cnblogs.com/zouzou-busy/p/11299917.html
Copyright © 2020-2023  润新知