• 移动端的UI自动化测试摸索


    涉及到的软件:appium、SDK、AVD、夜神模拟器、AIrtest、pycharm

    以下是基于window环境

    一、首先部署的环境是:appium+SDK+AVD+pycharm

    1.java环境:java - version

    2.node 环境:node -V

    下载地址:https://nodejs.org/en/ 

    3.SDK 安装

    下载地址:http://tools.android-studio.org/index.php/sdk

    4.运行SDK Manager.exe 安装Android版本8.0

    参考文章:http://www.testclass.net/appium/appium-base-sdk/
    5.运行AVD.Manager.exe 创建Android虚拟机
    参考文章:http://www.testclass.net/appium/appium-base-sdk/

    6.获取appPackage和appActivity

    https://blog.csdn.net/mtbaby/article/details/78676477
    主要的两行代码:

    desired_caps['appPackage'] = 'com.android.calculator2'
    desired_caps['appActivity'] = '.Calculator'

    7.appium 下载:appium-doctor

    下载地址:https://bitbucket.org/appium/appium.app/downloads/

    path要配置

    %ANDROID_HOME%	ools;%Appium_Home%;
    %JAVA_HOME%in;%JAVA_HOME%jrein;C:Windowssystem32;C:Windows;C:WindowsSystem32Wbem;C:WindowsSystem32WindowsPowerShellv1.0;C:Program Files (x86)NVIDIA CorporationPhysXCommon;D:ProgramFileTortoiseSVNin;%JMETER_HOME%in;%ANT_HOME%in;D:ProgramFilegitcmd;D:ProgramFilegit;E:WorkSpacemysqlmysql-5.7.23-winx64in;E:WorkSpace
    ode;;%ANDROID_HOME%platform-tools;%ANDROID_HOME%	ools;%Appium_Home%;E:WorkSpaceappium
    ode_modules.bin;E:WorkSpacePython;E:WorkSpacePythonpip-19.0.3;E:WorkSpacePythonScripts;E:WorkSpaceNoxin

    执行顺序:
    1.AVD Manager.exe 点击执行 出现ANdroid 模拟器 保证模拟器能正常运行    --移动端
    2.先启动appium 服务端 出现welcome 时,再执行python代码   ---服务端
    3.然后在pycharm中执行测试代码 --客户端

    运行成功的代码

    运行成功的代码
    "计算器  基于ANdroid6.0模拟器 "
    #coding=utf-8
    from appium import webdriver
    
    desired_caps = {}
    desired_caps['platformName'] = 'Android'
    desired_caps['platformVersion'] = '6.0'
    desired_caps['deviceName'] = 'Android Emulator'
    desired_caps['appPackage'] = 'com.android.calculator2'
    desired_caps['appActivity'] = '.Calculator'
    
    driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
    
    driver.find_element_by_name("1").click()
    
    driver.find_element_by_name("5").click()
    
    driver.find_element_by_name("9").click()
    
    driver.find_element_by_name("delete").click()
    
    driver.find_element_by_name("9").click()
    
    driver.find_element_by_name("5").click()
    
    driver.find_element_by_name("+").click()
    
    driver.find_element_by_name("6").click()
    
    driver.find_element_by_name("=").click()
    
    driver.quit()
    
    "安装高血压大夫.app"
    #coding=utf-8
    from appium import webdriver
    import time
    
    import os
    PATH=lambda p:os.path.abspath(os.path.join(os.path.dirname(__file__),p)
    
    )
    desired_caps = {}
    desired_caps['platformName'] = 'Android'
    desired_caps['platformVersion'] = '6.0'
    desired_caps['deviceName'] = 'Android Emulator'
    desired_caps['appPackage'] = 'com.XXXXr'
    desired_caps['appActivity'] = 'com.XXXXXXX.SplashActivity'
    desired_caps['app'] = PATH('E:\高血压大夫.apk')
    driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps)
    #
    driver.install_app('E:高血压大夫.apk')
    time.sleep(10)

    二Airtest+夜神模拟器+pycharm

    1.Airtest  官网下载  --不建议下最新版本的

    2.夜神模拟器官网下载

    3.将模拟器的E:WorkSpaceNoxin 添加到path里边

    4.在电脑端开启夜神模拟器,熟悉模拟器的相关操作(如:主页、旋转、等等)

    5.夜神模拟器开启USB调试(设置-版本号,连续点击三次以上-再次返回设置界面,显示了开发者选项-进入开发者选项,勾选USB调试)

    6.打开AIrtest软件,右侧点击远程连接,输入:adb connect  127.0.0.1:62001,并点击连接

    adb connect 127.0.0.1:62001
    模拟器 adb连接代码
    网易Mumu adb connect 127.0.0.1:7555
    夜神 adb connect 127.0.0.1:62001
    逍遥 adb connect 127.0.0.1:21503
    iTools adb connect 127.0.0.1:54001
    天天 adb connect 127.0.0.1:6555
    海马玩 adb connect 127.0.0.1:26744
    BlueStacks adb connect 127.0.0.1:5555

    7.Artesti设备列表显示待连接的设备,在connect的右侧倒三角,选择use  javacap,再次点击connect,显示模拟器正在显示的界面。

    8.Airtest:  图像识别  poco:UI 识别的测试框架,用于定位元素,如元素属性 id ,name 等等类似

    运行成功的代码: 待补充

  • 相关阅读:
    DDD(Domain Driven Design) 架构设计
    兴哥:美团下一个十年,要让新一批管理者成长起来
    Java设计模式-Builder构造者模式
    社会需要转型变革,自己更需要转型变革-屡败屡战
    Guava 源码分析之Cache的实现原理
    缓存算法(FIFO 、LRU、LFU三种算法的区别)
    Guava---缓存之LRU算法
    Boost.Asio 网络编程([译]Boost.Asio基本原理)
    浅谈 Boost.Asio 的多线程模型
    boost.asio系列——io_service
  • 原文地址:https://www.cnblogs.com/eosclover/p/10434411.html
Copyright © 2020-2023  润新知