zoukankan      html  css  js  c++  java
  • Appium+Python-入门实例(计算器)

    一、创建项目

     二、创建python文件

     三、添加Appium-Python-Client

      通俗地说,Pycharm是编辑器 用来写代码的,Appium是测试框架 用来告诉手机设备要做什么事,Appium-Python-Client是驱动包 用来关联python和appium的,即Pycharm写好脚本后,会通过Appium-Python-Client调用Appium,让Appium告诉手机设备去做脚本里定义好的事情。

    四、实例演示

      自动化场景:自动打开计算器,触发点击7+9=16的操作,具体准备事项如下:

    1、电脑连接真机,手机打开开发者调试模式,并且打开要调用的软件,接下来需要查询设备名和app包名:

    1)获取当前设备名:adb devices

    2)获取当前app和当前activity:adb shell dumpsys window w |findstr / |findstr name=

    2、打开UI Automator Viewer,点击按钮会自动捕获手机当前窗口,此时把鼠标放到想要定位的元素上时,右侧会展示相关信息,这里用id来定位,具体如下:

    1)数字7的resource-id:com.android.calculator2:id/digit_7

    2)运算符+的rescource-id:com.android.calculator2:id/op_add

    3)数字9的resource-id:com.android.calculator2:id/digit_9

    4)=的resource-id:com.android.calculator2:id/eq 

     3、代码准备

     1 from appium import webdriver
     2 import time
     3 
     4 calculator = {
     5     'platformName':'Android', # android的apk
     6     'deviceName':'WTKDU16905017501', # 手机设备名称,通过adb devices查看
     7     'platformVersion':'8.0', # android系统的版本号
     8     'appPackage':'com.android.calculator2', # apk包名
     9     'appActivity':'com.android.calculator2.Calculator' # apk的launcherActivity
    10 }
    11 # 默认开启4723端口用于和android通讯
    12 driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub',calculator)
    13 time.sleep(2)
    14 
    15 def cal():
    16     driver.find_element_by_id("com.android.calculator2:id/digit_7").click() # 用id元素定位到7
    17     driver.find_element_by_id("com.android.calculator2:id/op_add").click() # 用id元素定位到+
    18     driver.find_element_by_id("com.android.calculator2:id/digit_9").click() # 用id元素定位到9
    19     driver.find_element_by_id("com.android.calculator2:id/eq").click() # 用id元素定位到=
    20     driver.quit() # 运行完成后退出
    21 cal() #调用cal

     4、运行appium,如图

    5、万事俱备,接下来只需运行脚本就可以触发自动化测试,如下:

    注:运行脚本时可能会遇到appium在android7.0以上版本找不到元素问题,到时可以参考:https://testerhome.com/topics/9684

      其他报错问题,可以参考,或许会有帮助:https://www.cnblogs.com/wangcp-2014/p/6137088.html

    附上gif效果图

     

    以上便开启自动化测试的大门,请坚持!!!

  • 相关阅读:
    XMPP资源绑定(Resource Binding)与单台设备登录控制
    解决Eclipse建立Maven项目后无src/main/java资源文件夹的办法
    quartz做集群配置较短的时间间隔会重复执行任务的问题
    同一服务器部署多个tomcat时的端口号修改详情
    Java RSA加密算法生成公钥和私钥
    CSS3动画(重要)
    CSS3 过渡
    CSS3 3D 转换
    CSS3 2D 转换
    CSS3 文本效果(阴影)
  • 原文地址:https://www.cnblogs.com/Chilam007/p/12727220.html
Copyright © 2011-2022 走看看