Automatic Testing Environment Installation Guide ( Mac RobotFramework Appium) - 18570580798/study GitHub Wiki

Mac RobotFramework环境安装 参考资料: https://blog.csdn.net/dongqiushan/article/details/53326214

  1. 查看当前系统默认的Python路径

which python

==> /usr/bin/python

  1. 查看当前python 版本

Python --version

==> Python 2.7.10

  1. 安装 python 的包管理工具pip

curl https://bootstrap.pypa.io/ez_setup.py -o - | python

easy_install pip

  1. 安装 brew包管理器

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  1. 安装Python(mac已有忽略本步)

brew install python

==> /usr/local/bin/python 版本:2.7.11

  1. 安装wxPython

brew install wxPython (brew命令安装的是3.0版本,可能存在一些问题,可手动安装)

手动下载安装地址: https://sourceforge.net/projects/wxpython/files/wxPython/2.8.12.1/

  1. 安装robotframework框架

sudo pip install robotframework

  1. 安装robotframework-ride

sudo pip install -U robotframework-ride==2.0a1

  1. 安装robotframework-requests

sudo pip install robotframework-requests

  1. 安装 requests模块

sudo pip install requests

以上10个步骤是自动化框架安装的基本命令,此时应该能通过命令 ride.py打开RIDE编辑器

  1. 启动RIDE

ride.py

看到RF弹出表示RobotFramework环境安装成功

Mac Appium + IOS/Android环境配置 参考资料:

https://www.jianshu.com/p/a2b79cd8bf38

https://www.cnblogs.com/wonderful0714/p/5692549.html

  1. 进入App Store,下载Xcode

  2. 下载brew,如果已经安装,请忽略

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

  1. 安装libimobiledevice

brew install libimobiledevice –HEAD

  1. 安装carthage

brew install carthage

  1. 安装node.js

nodejs下载地址:https://nodejs.org/en/download/ (下载mac下的pkg文件一键安装就行)

  1. 安装cnpm

npm install -g cnpm --registry=https://registry.npm.taobao.org

  1. 安装ios-deploy

ios-deploy可以用来安装卸载ios应用。cnpm有个问题,就是安装的node_module会全部放在当前路径下。所以我们使用cnpm的时候,需要切换到/usr/local/lib(node模块默认安装路径)

在终端输入:

cd /usr/local/lib

cnpm install -g ios-deploy

  1. 安装xcpretty

gem install xcpretty

安装xcpretty,经常安装失败,没反应,但是大家耐心等待吧,如果时间较长的话,建议大家切换个目录重新安装。可以更换gem源:

gem sources --add https://gems.ruby-china.org/ --remove https://rubygems.org/

如果gem版本过低需要升级。

  1. 安装appium

cnpm install -g [email protected] (@1.6.3可以去除,去除后会自动安装最新版本)

安装appium-desktop版本,可以直接用来获取获取app的页面元素信息,建议另安装该版本或者直接安装appium-desktop版本,进入appium官网下载安装即可。

安装appium-doctor,检测appium是否安装成功

npm install appium-doctor -g

安装完成后,执行appium-doctor检查appium安装是否完全(如果提示找不到文件,则进入appium安装目录/appium-doctor/目录下,执行./appium-doctor.js),检查结果如下

以上有部分软件未安装,接下来弥补上。

a. Xcode Command Line Tools

$ xcode-select --install

xcode-select: note: install requested for command line developer tools

b. Android SDK

下载地址:https://developer.android.com/studio/install.html

下载完成之后,安装并下载SDK,配置环境变量

vim /etc/profile

export ANDROID_HOME=/Users/macbook/Library/Android/sdk(路径写自己的安装路径)

export PATH=$PATH:$ANDROID_HOME/tools

export PATH=$PATH:$ANDROID_HOME/platform-tools

c. 下载java后安装,配置环境变量

vim /etc/profile

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_71.jdk/Contents/Home(路径写自己的安装路径)

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

配置完成后,需要刷新配置文件

source /etc/profile

再次检查Appium成功安装

10.安装appium-xcuitest-driver依赖

进入appium安装目录,查找目录下的WebDriverAgent,进入WebDriverAgent后,执行以下命令

mkdir -p Resources/WebDriverAgent.bundle

sh ./Scripts/bootstrap.sh

  1. 进入WebDriverAgent目录,找到WebDriverAgent.xcodeproj,双击打开,默认就是用Xcode打开的

  2. 编译WebDriverAgentLib(如以下截图设置即可)

切换到WebdriverAgentLib,编辑如下内容,然后点击左上角那个播放按钮进行编译。配置好后点击编译按钮,是build succeed的就可继续进行。(关于team,可即时注册个人开发者账号,激活后填入即可,此处会返回10位ID,后面连接真机时会用到)

  1. 编译WebDriverAgentRunner

        首先编辑general里的内容,和上面大同小异,也是需要勾选自动签名和选择开发者帐号。配置好后点击编译按钮,是build succeed的就可继续进行。
    
  2. 获取手机的udid

把你的手机设备通过usb连上电脑,然后打开itunes,然后选中你的iPhone,点击一下序列号,然后会弹出udid。

  1. 建立服务WebDriverAgent (手机和MAC都在同一个网段下,且都能连接外网)关闭Xcode,进入WebDriverAgent 文件夹(需要开启usb调试权限)

cd /usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent xcodebuild -project WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination 'id=真机的udid' test

这时候可以看到手机上多了一个WebdriverAgent的app,则表示环境已经配置成功。第一次会提示不受信任的开发者,需要进入设置-通用-设备管理(描述文件) 信任你的apple id。

Appium连接真机获取元素信息(需安装appium-desktop版本)

‘’noReset": "true", -- 不重装apk,默认是true,非必填

"platformName": "iOS", --设置应用平台,必填

“platformVersion": "10.3", -- 设置当前平台的系统版本,设置两位就可以了,必填

”deviceName": "iPhone7", --设置当前连接MAC本的手机名称,在设置里可以查到手机名,必填

”packageName": "com.samsclub.now", --设置当前启动应用的packageName,Android必填

”activityName": "com.sng.LauncherActivity", --设置当前启动应用的activityName,Android必填

”alias": "Myapp1", --IOS虚拟机启动参数,真机测试不要该参数

”automationName": "XCUIText", -- IOS参数

“bundleId": "com.testi.test.uuaatt",--设置当前应用的activename,这个启动名称可以跟相应的开发人员要,也可以自己通过其他工具看一下(工具的话请大家问度娘吧~~),IOS参数,与app可二选一

”app": "com.apple.calculator", -- IOS参数,与bundleId可二选一

"udid":" ", --设置当前手机的udid,通过iTunes拷贝过来,IOS真机测试必填

"xcodeOrgId":"123ADE4Y56", --十位字符的组织ID是苹果开发证书的组织单位,appium可以通过十位组织单位ID找到相应的组织,IOS真机测试必填(注意: 连接真机时,测试app的打包签名证书必须要与xcodeOrgId里的一致,否则会报证书错误,错误代码是65)

”xcodeSigningId": "iPhone Developer", --这里参数是固定的,就这样写,IOS真机测试必填

“wdaLocalPort":"8100" -- 默认手机连接MAC本使用的端口,默认是8100,非必填

“unicodeKeyboard":"True"

“resetKeyboard":"True" -- 加入这两个参数,则可以输入中文

            填写以上参数,连接手机后,点击Start Session按钮,等待启动,即可看到测试app的全部元素信息。

RIDE自动化脚本编写简述 RIDE介绍: https://www.cnblogs.com/baby0814/p/6374954.html

AppiumLibrary常用关键字:

https://www.cnblogs.com/lynn-li/p/6290734.html

http://serhatbolsu.github.io/robotframework-appiumlibrary/AppiumLibrary.html

ubuntu搭建robotFramework +Appium自动化测试环境 参考资料:

https://blog.csdn.net/soul_lover/article/details/77945154

https://blog.csdn.net/heart_1014/article/details/52956200

一. 安装Android + JAVA 下载jdk : http://www.oracle.com/technetwork/java/javase/downloads/index-jsp-138363.html 解压之后,将JAVA_HOME加入PATH $sudo vim /etc/profile

JAVE_HOME=/usr/local/jave/jdk1.8.0_141

PATH=$PATH:$JAVE_HOME/bin

CLASSPATH=$JAVA_HOME/lib/

export PATH JAVA_HOME CLASSPATH

$source /etc/profile //使文件中加入的变量生效

$java -version

下载android sdk:http://www.androiddevtools.cn/ 选择SDK Tools 下载linux版本的SDK,根据目录中的Readme.txt的提示执行: tools/android update sdk --no-ui

将androd sdk目录加入PATH $sudo vim /etc/profile

ANDROID_HOME=/usr/local/android-sdk-linux

PATH=$PATH:$JAVE_HOME/bin:$ANDROID_HOME/bin

export PATH JAVA_HOME CLASSPATH ANDROID_HOME

$source /etc/profile

运行android $android

二.安装Appium 1、安装node

$ apt-get install node.js

2、安装npm

$ apt-get install npm

安装nodejs可能失败,因为从apt-get上下载的nodes版本太旧了,可以使用以下方法安装:

1.下载node

sudo apt remove npm //卸载npm

sudo apt remove node //卸载node

cd /usr/local/bin //进入该目录中,若有node或者npm文件,将他删除删除

去node.js官网下载最新版或者最稳定版的node.js Linux安装包

2.安装node

tar -xJf node-v9.5.0-linux-x64.tar.xz //解压命令(注意包名变更为下载的包名)

sudo mv node-v9.5.0-linux-x64 /opt/ //移动到opt目录下

建立执行链接

sudo ln -s /opt/node-v9.5.0-linux-x64/bin/node /usr/local/bin/node

sudo ln -s /opt/node-v9.5.0-linux-x64/bin/npm /usr/local/bin/npm

验证是否安装成功

node -v

npm -v

3、安装cnpm

$ npm install -g cnpm

创建链接:ln -s cnpm安装路径 /usr/bin/cnpm

cnpm安装路径的寻找:找到node安装目录,则可以找到cnpm的安装目录

4、安装appium

cnpm install -g appium

使用以上命令安装的是最新版本的appium,可能存在兼容问题,可以指定安装版本

sudo cnpm install -g [email protected](安装最新版会报错,所以安装1.8.1版本)

创建链接:ln -s appium安装路径 /usr/bin/appium

ln -s /opt/node-v9.5.0-linux-x64/lib/node_modules/appium/build/lib/main.js /usr/bin/ local /appium

5、启动Appium

$ Appium

三.安装robotFramework 1.安装pip

$sudo apt-get install python-pip

2.用pip安装robotframwork及其他库

$pip install robotframwork

$pip install robotframwork-ride

$pip install robotframework-appiumlibrary //appium库

$pip install robotframework-selenium2library

$pip install requests

$pip install robotframework-requests

3.安装wxpython2.8

$echo "deb http://archive.ubuntu.com/ubuntu wily main universe" | sudo tee /etc/apt/sources.list.d/wily-copies.list

$sudo apt update

$sudo apt install python-wxgtk2.8

$sudo rm /etc/apt/sources.list.d/wily-copies.list

$sudo apt update

四.打开Android模拟器(待研究) 1.列出镜像

$android list target

2.创建模拟器

$android create avd -n emulator-24 -t 18 --abi default/x86_64 //-n 模拟器的名称 -t 为android list target 的id

3.运行模拟器

$emulator -avd emulator-24

五.用robotframework打开app 1.http://localhost:4723/wd/hub:Appium所在的url路径(这里appium搭建在本机,所以url格式固定不变)

2.platformName:被测的平台名称,Android或ios

3.platformVersion:平台版本,如Android的版本号

4.deviceName:设备名称,即运行得模拟器或真机的设备型号

查看方式:

$adb devices

5.app:被测应用的存储路径

6.appPackage:app的包名

adb -s emulator-24 shell pm list package –f 命令中emulator-24为对应设备名称

7.appActivity:app的activity名

8.adb命令获取当前启动的apk的packageName和activity

adb shell logcat | grep ActivityManager //查多个

adb shell dumpsys window | grep mCurrentFocus //查当前运行(手机连接电脑,启动app,保持app前端运行,执行该命令)