• 自动化测试学习笔记


    自动化测试按被测平台划分,分为web和app,其中app又分为android和ios。

    ios系统使用UIAutomation库,android系统使用UIAutomator框架。

    web可以使用selenium,app可以使用appium。

    appium支持selenium支持的所有语言,且可以使用selenium的api。

    appium目前最新版本是1.6.3

    appium客户端(appium server的GUI图形化操作界面)最新版本是1.5.3

    appium GUI目前还只支持到iOS10以下基于UIAutomation框架的测试,iOS10以后苹果已经更改为XCUITest

    自动化测试项目的搭建

    开发环境

    Mac系统最新版是2017年10月12日更新macOS High Sierra(10.13),之前还有macOS Sierra(10.12.3)和OS X Yosemite(10.10.5)

    Xcode最新版已经是9.1,OS X Yosemite(10.10.5)无法安装最新版的Xcode

    搭建满足UIAutomation和XCUITest的测试环境

    开发工具:Xcode 8.2.1(iOS10.2)+ Xcode7.3.1(iOS9.3)

    iOS10 以下支持UIAutomation

    appium GUI1.5.3 + Xcode7.3.1(iOS9.3) + appium-python-client

    iOS10 以上支持XCUITest

    appium1.6.3 + app-inspector + Xcode8.2.1(iOS10.2) + appium-python-client

    前期准备,需要安装的辅助工具
    homebrew
    npm/cnpm
    node

    安装homebrew

    首先命令行检查是否安装:ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

    如果mac没有安装homebrew的话,需要先安装homebrew:curl -LsSf http://github.com/mxcl/homebrew/tarball/master | tar xvz -C/usr/local --strip 1

    查看homebrew版本: brew -v

    homebrew自检:brew doctor

    安装node(安装nodejs后,npm会自动安装好)

    使用homebrew安装node,命令行:brew install node

    查看node版本: node -v

    查看npm版本: npm -v

    安装appium,appium-doctor  命令行:npm install -g appium 命令行: npm install -g appium-doctor

    执行npm install -g appium,可能会遇到的问题:

    ╭─────────────────────────────────────╮
    │ │
    │ Update available 5.4.2 → 5.5.1 │
    │ Run npm i -g npm to update │
    │ │
    ╰─────────────────────────────────────╯

    npm ERR! cb() never called!

    根据提示,命令行:npm i -g npm

    继续报错:

    npm ERR! code EINTEGRITY
    命令行:npm cache clean --force

    然后再次执行,命令行:npm i -g npm,这次安装成功了。

    再次安装appium,命令行:npm install -g appium

    以上过程比较慢,与网络和wall有关,期间也打开过科学上网软件,因此网络上也有很多使用cnpm指定源的做法。

    安装appium GUI,appium和appium GUI只要安装其中一项就可以启动服务,但是如果要用到其中的inspector去检查元素的xpath,所以还是安装了。

    下载地址

    https://bitbucket.org/appium/appium.app/downloads/

    安装最新的版本1.5.3就行,但是即使最新的,也只能支持iOS10以下系统的元素检查。

    使用appium-doctor检查appium环境

    命令行:appium-doctor //appium-doctor --ios 只检测iOS环境

    info AppiumDoctor Appium Doctor v.1.4.1
    info AppiumDoctor ### Diagnostic starting ###
    info AppiumDoctor ✔ The Node.js binary was found at: /usr/local/bin/node
    info AppiumDoctor ✔ Node version is 6.3.1
    info AppiumDoctor ✔ Xcode is installed at: /Applications/Xcode_7.3.1.app/Contents/Developer
    info AppiumDoctor ✔ Xcode Command Line Tools are installed.
    info AppiumDoctor ✔ DevToolsSecurity is enabled.
    info AppiumDoctor ✔ The Authorization DB is set up properly.
    info AppiumDoctor ✔ Carthage was found at: /usr/local/bin/carthage
    info AppiumDoctor ✔ HOME is set to: /Users/iSteven
    info AppiumDoctor ✔ ANDROID_HOME is set to: /Users/iSteven/Library/Android/sdk
    info AppiumDoctor ✔ JAVA_HOME is set to: /Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home
    info AppiumDoctor ✔ adb exists at: /Users/iSteven/Library/Android/sdk/platform-tools/adb
    info AppiumDoctor ✔ android exists at: /Users/iSteven/Library/Android/sdk/tools/android
    info AppiumDoctor ✔ emulator exists at: /Users/iSteven/Library/Android/sdk/tools/emulator
    info AppiumDoctor ✔ Bin directory of $JAVA_HOME is set
    info AppiumDoctor ### Diagnostic completed, no fix needed. ###
    info AppiumDoctor
    info AppiumDoctor Everything looks good, bye!
    info AppiumDoctor

    ✖ Xcode Command Line Tools are NOT installed!
    命令行 xcode-select --install #按照提示安装即可
    ✖ Carthage was NOT found!
    命令行 brew install carthage #carthage:类似cocoapods管理第三方代码,自动将工程编译为动态库,所以仅支持iOS8以上,对Xcode版本有要求。

    WARN AppiumDoctor ✖ ANDROID_HOME is NOT set!
    建议安装AS,可以解决其他Android环境的其他问题 Android Studio
    下载地址 https://developer.android.com/studio/index.html?hl=zh-cn
    设置 ANDROID_HOME 路径
    https://stackoverflow.com/questions/19986214/setting-android-home-enviromental-variable-on-mac-os-x
    设置 JAVA_HOME 路径
    Mac OS X 下查看和设置JAVA_HOME
    https://stackoverflow.com/questions/6588390/where-is-java-home-on-osx-sierra-10-12-el-capitan-10-11-yosemite-10-10

    在.bash_profile文件中设置JAVA和Android环境变量

    #android sdk
    export ANDROID_HOME=~/Library/Android/sdk
    #export ANDROID_HOME=~/Downloads/adt-bundle-mac-x86_64-20140702/sdk
    export PATH=$PATH:$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools:$ANDROID_HOME/build-tools/android-4.4W:$ANDROID_HOME/build-tools/26.0.1

    #java_home
    JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home"
    CLASSPAHT=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    PATH=$JAVA_HOME/bin:$PATH:
    export JAVA_HOME
    export CLASSPATH

    以下未测试

    #android sdk
    export ANDROID_HOME=~/Library/Android/sdk
    export PATH="$HOME/.yarn/bin:$PATH"
    #java_home
    export JAVA_HOME=$(/usr/libexec/java_home)
    export PATH=$JAVA_HOME/bin:$PATH
    export CLASS_PATH=$JAVA_HOME/lib

    安装appium client端,有ruby,python,java三个版本。

    python版

    pip安装,命令行:pip install Appium-Python-Client

    如果安装过程出现 could not create ‘/Library/Python/2.7/site-packages/appium’: Permission denied 错误,使用 pip install Appium-Python-Client –user 命令可以安装成功。

    源码安装,下载地址:https://github.com/appium/python-client

    tar -xvf Appium-Python-Client-X.X.tar.gz
    cd Appium-Python-Client-X.X
    python setup.py install

    github安装

    git clone git@github.com:appium/python-client.git
    cd python-client
    python setup.py install

    安装 Selenium WebDriver

    pip安装,pip install -U selenium

    源码安装,下载地址:https://pypi.python.org/pypi/selenium

    解压以后,从终端进入selenium webdriver 目录,运行命令行:python setup.py install

    安装app-inspector

    npm install app-inspector -g

    其他相关安装

    brew install libimobiledevice --HEAD

    brew install ideviceinstaller

    npm install -g ios-deploy

    sudo gem install xcpretty

    2017年12月12日

    MAC升级selenium

    sudo pip install -U selenium

    定位元素原则:通过url定位不灵活,在测试和生产环境切换不方便,尽量使用通用元素

    2018年08月13日

    Install Xcode(9.4.1) from App Store

    Download Appium-1.6.2.dmg from http://appium.io/

    2018年08月14日

    # node -v

    v9.11.1 (当前版本)

    # npm -v

    5.6.0 (当前版本)

    # npm i npm (无效,升级是失败,原因待查)

    升级MAC系统

    Sierra 10.13.6

    2018年08月15日

    命令行升级appium

    # npm install -g appium (成功与否与网络有很大关系)

    # npm install -g appium@你想用的版本 (未测试)

    https://blog.csdn.net/ei__nino/article/details/17340685(npm国内镜像,未测试)

  • 相关阅读:
    nodejs程序发布的jenkins自动化脚本和问题记录
    jenkins代码rsync推送脚本带日志记录和代码分机房处理示例
    django入门到精通⑥消息管理器的升级处理,对关键词进行过滤示例
    django入门到精通⑤mako模板的使用
    django入门到精通④jinja2模板的使用
    django入门到精通③template模板功能和常用标签过滤器的使用
    hdfs副本调整不生效
    macOS 系统中,开发工具列表
    查看系统中安装了哪些python版本
    -p py, --python py target interpreter for which to create a virtual (either absolute path or identifier string) 中 identifier string 的含义
  • 原文地址:https://www.cnblogs.com/sgwjj/p/7691605.html
Copyright © 2020-2023  润新知