zoukankan      html  css  js  c++  java
  • 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之后,我们就可以把前面的三个点击事件去掉,这样就会自动授权,不需要我们手动授权了

  • 相关阅读:
    CREATE AGGREGATE
    技术文档列表
    jQuery 判断表单中多个 input text 中至少有一个不为空
    Java实现 蓝桥杯 算法提高 奥运会开幕式
    Java实现 蓝桥杯 算法提高 最长滑雪道
    Java实现 蓝桥杯 算法提高 最长滑雪道
    Java实现 蓝桥杯 算法提高 最长滑雪道
    Java实现 蓝桥杯 算法提高 最大值路径
    Java实现 蓝桥杯 算法提高 最大值路径
    Java实现 蓝桥杯 算法提高 最大值路径
  • 原文地址:https://www.cnblogs.com/zouzou-busy/p/11299917.html
Copyright © 2011-2022 走看看