godaddy主机到网站,广东 网站经营性备案,中文域名网站好不好优化,网站服务器怎么启动目录
一、前言
二、环境依赖
1、环境依赖项
2、环境需求与支持
三、环境配置
1、xcode安装
2、Git安装
3、Homebrew安装#xff08;用brew来安装依赖#xff09;
4、npm和nodejs安装
5、libimobiledevice安装
6、idevicesinstaller安装
7、ios-deploy安装
8、Ca…目录
一、前言
二、环境依赖
1、环境依赖项
2、环境需求与支持
三、环境配置
1、xcode安装
2、Git安装
3、Homebrew安装用brew来安装依赖
4、npm和nodejs安装
5、libimobiledevice安装
6、idevicesinstaller安装
7、ios-deploy安装
8、Carthage安装
9、Appium安装 【我安装的appium版本1.21.0】
10、appium-doctor环境检查
11、WebDriverAgent安装 【B站最通俗易懂】Python接口自动化测试从入门到精通超详细的进阶教程看完这套视频就够了 一、前言
IOS的App自动化测试与Android的一样也可以用appium来进行。但是IOS自动化依赖苹果的osx系统、Xcode构建等且封闭的系统需要苹果开发者账号才可以驱动真机。Appium的环境配置有点麻烦可能大部分时间都在处理各种稀奇古怪的报错甚至于需要重装系统。
本文旨在记录配置过程MacOS系统的Python和Java环境配置也有记录给同道中人提供参考让大家少走弯路。
二、环境依赖
1、环境依赖项
XcodeGithomebrewnpm、nodejslibimobiledeviceidevicesinstallerios-deployCarthageappiumappium-doctorWebdriveragentios-webkit-debug-proxyPython和JavaAndroid SDK
2、环境需求与支持 需求 版本最低要求 我的环境版本 Mac OSX 10.11 macOS 11.3.1 iOS 9.3 13.3、14.7 Xcode 7 12.5 Appium 1.6 1.21.0 驱动程序 对应iOS版本 XCUITest Driver ios9.3或以上 UIAutomation Driver ios9.3以下 三、环境配置
1、xcode安装
Xcode是运行在操作系统Mac OS X上的集成开发工具IDEiOS自动化测试使用Xcode主要用于将绑定了苹果开发者证书的WebDriverAgent打包至iOS手机。
安装方式有两种根据你的系统版本来选择。
方式一Mac平台的App Store安装
通过App store安装的Xcode是最新版本需要最新版macOS系统才能兼容。如果已经升级至最新系统可以直接在App store下载安装。最好不要升级至最新系统可能遇到其他兼容性问题。
方式二离线包安装
你的macOS系统不是最高版本的时候要保证最低版本需求macOS在10.12以上xcode在8.1以上。
离线包下载地址Xcode - 支持 - Apple Developer 可以选择版本
离线包的Xcode版本选择最好是根据你的系统版本发布时间来定选发布时间相近的版本。我的版本是macOS 11.3.1 、Xcode12.5
2、Git安装
安装的Xcode自带Git程序一般Xcode安装好后不需要再单独安装Git验证Git环境即可。如果后面的环境依赖安装出现关于Git的报错需要更新Git或者卸载重新安装。验证安装git --version验证git连接ping github.com能够连接成功时终端显示 安装命令brew install git
更新Gitbrew upgrade git 3、Homebrew安装用brew来安装依赖
Homebrew是一款Mac OS平台下的软件包管理工具拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令就可以实现包管理而不用你关心各种依赖和文件路径的情况十分方便快捷。类似apt-get、yum。
安装途径有两种国外源和国内园推荐使用国内源我使用国外源没成功过。
方式一国外源
官网Homebrew — The Missing Package Manager for macOS (or Linux)
在官网首页复制下面的安装命令在终端执行命令安装
/bin/bash -c $(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh) 验证安装brew -v
更新Homebrew命令brew update brew upgrade brew clean
方式二国内源
上面的官网安装方法失败率很高可以采用国内源安装。
homebrew国内源安装方法终端执行下面的命令
/bin/zsh -c $(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)
终端运行时根据提示操作 安装结束后重启终端 或者 运行 source /Users/sinosun/.bash_profile 否则可能无法使用。
终端执行brew update 保持最新版
最后验证安装brew -v 得到版本号 参考(macOS升级后安装报错解决办法)
4、npm和nodejs安装
Appium是通过Node.js开发的http服务器用来创建和控制WebDriver的session因此需要安装Node.js。npm是Node.js的包管理工具随同Node.js一起安装。
4.1、方式一brew在线安装【我的nodejs版本是16.6.0】
安装命令brew install node 此方法安装的是最新版本
验证安装node -v 得到版本号 npm -v 得到版本号 其它在线安装方法指定版本安装
终端执行命令行找到自己合适的node版本 brew search node 查询显示最高可以安装 node14 版本
安装命令brew install node版本号 (会将npm和nodejs一起安装)
绑定安装的node命令brew link --overwrite --force node版本号
验证安装node -v 得到版本号 npm -v 得到版本号 卸载node
brew uninstall node版本号 --force
例如安装的是12.18.1卸载命令brew uninstall node12 --force
4.2、方式二离线包安装
brew在线安装是从官网下载速度慢且成功率低可以通过下载离线包安装解决。
nodejs官网下载地址Node.js 点击“Current”区域稳定版。
安装包下载并安装后同样在终端中输入node -v 、 npm -v 验证
4.3、cnpm国内源安装
NPM安装插件是从NPM官网下载对应的插件包该网站的服务器在国外经常会出现下载缓慢或出现异常这时便需要找到另外的方法提供稳定的下载这个方法就是CNPM。阿里巴巴的淘宝团队把NPM官网的插件都同步到了在中国的服务器提供给我们从这个服务器上稳定下载资源。
CNPM同样是NPM的一个插件要安装的话需要在终端执行以下命令
sudo npm install -g cnpm --registryhttps://registry.npmmirror.com
验证安装cnpm -v 4.4、npm安装插件常见报错
在终端通过npm安装插件时前面加上“sudo”可以减少报错几率。加上sudo后命令以系统管理者的身份执行
如果通过npm安装插件时出现“npm ERR!”提示表示安装失败。前缀加上sudo也报错可以尝试国内源cnpm安装只需要将命令中的npm换成cnpm。
如果终端安装过程中出现“npm WARN”提示可以忽略。 5、libimobiledevice安装
libimobiledevice是一个使用原生协议与苹果IOS设备进行通信的库相当于Android的adb。appium连接iOS设备必需要此依赖库通过这个库Mac os可轻松获得iOS设备信息。支持iOS10以上系统
安装命令brew install --HEAD libimobiledevice
卸载brew uninstall --ignore-dependencies libimobiledevice
常用命令
1、idevice_id -l 显示当前所连接的设备[udid]包括 usb、WiFi 连接
2、ideviceinfo 获取设备信息
3、idevicedate 获取设备时间
4、idevicename 获取设备名称
5、idevicescreenshot 截图
6、ideviceinstaller -u [udid] -i [xxx.ipa] #xxx.ipa安装文件路径
7、ideviceinstaller -u [udid] -U [bundleId] #bundleId应用的包名
检查安装 报错参考 报错信息 Could not connect to lockdownd, error code -3 解决方法修改var/db/lockdown文件夹的读写权限 在终端找到文件夹cd var/db 找到后执行open .直接打开lockdown所在目录查看该文件的读写权限如果没有读写权限执行命令sudo chmod -R 777 /var/db/lockdown/ 在lockdown文件夹具有读写权限以后依次执行如下命令 brew update brew uninstall --ignore-dependencies libimobiledevice brew uninstall --ignore-dependencies usbmuxd brew install --HEAD usbmuxd brew unlink usbmuxd brew link usbmuxd brew install --HEAD libimobiledevice brew install ideviceinstaller 6、idevicesinstaller安装
ideviceinstaller是一个管理连接设备的工具与ios-deploy、Android的adb功能类似。
ideviceinstaller的功能与libimobiledevice差不多都可以获取iOS设备的udid、安装App、卸载App、获取bundleid等但ideviceinstaller仅支持iOS9以下系统环境libimobiledevice支持iOS10以上系统环境。
安装命令brew install ideviceinstaller
常用命令
1.ideviceinstaller -l 打印app列表 7、ios-deploy安装
ios-deploy是一个使用命令行安装ios app到连接设备的工具
原理是根据os x命令行调用系统底层函数获取连接的设备、查询/安装/卸载app
iOS10以上系统使用appium需要依赖ios-deploy
安装sudo npm install -g ios-deploy 或 sudo cnpm install -g ios-deploy
安装指定版本的ios-deploy
ios-deploy是一个不通过Xcode直接将app安装到手机上的工具
当然, 用Homebrew安装这个工具是很方便的
那么我们就要先安装Homebrew, 网上很多方法已经过时了, 而且由于墙的原因, 很多时候是安装不成功的.
ios-deploy常用命令:
1.ios-deploy -c 查看连接的设备包括通过usb和wifi连接的
2.ios-deploy -c --no-wifi 查看通过usb连接的设备
3.ios-deploy --id [udid] --bundle [xxx.app] 安装应用到指定设备其中xxx.app是Xcode编译后的ipa的路径
4.ios-deploy --id [udid] --uninstall_only --bundle_id [bundleId] 卸载指定设备上的应用根据包名也就是bundleId
5.ios-deploy --id [udid] --list_bundle_id 查看指定设备上安装的所有应用包括系统应用和第三方
例如: ios-deploy --id 770dfe115807e7d494b4721b1e4ebd6ecb9424d3 --list_bundle_id
6.ios-deploy --id [udid] --exists --bundle_id [bundleId] 检查指定设备上是否安装了某个应用
例如: ios-deploy --id 0420781d4e43f1f99935513c91e9b816f4dddc24 --exists --bundle_id com.facebook.taozhen 注意Xcode是通过离线包安装的安装ios-deploy时会报错 这个是由于Xcode没有设置版本的原因导致的设置方法进入Xcode偏好设置--点击locations--Comand Line Tools栏选择版本号
然后重新执行安装命令。如下图 检查安装 8、Carthage安装
Carthage是一款iOS项目依赖管理工具与cocoapods功能相似可以帮助管理第三方依赖类似于Java的maven。它会把第三方依赖编译成framework以framework形式将第三方依赖加入到项目中进行使用和管理。自动化测试用到的WebDriverAgent通过Carthage管理项目依赖。
安装命令brew install carthage
检查命令carthage version 9、Appium安装 【我安装的appium版本1.21.0】
appium安装有两种方式命令行版本和桌面版本。
命令行版本appium打开速度快可以开启多设备的自动化测试常用于执行脚本。
桌面版本appium打开速度慢常用于辅助元素定位。
9.1、命令行版安装
在appium官网(Redirecting)首页中有安装命令直接复制至终端安装。命令如下 1 brew install node # 获取 node.js
2 npm install -g appium # 获取 appium
3 npm install wd # 获取 appium client
4 appium # 开启 appium
5 node your-appium-test.js 上面的命令安装的是最新版本如果要安装指定版本执行下面的命令。
指定版本安装 npm install -g appium1.20.2 ---安装的版本是appium1.20.2
如果使用npm安装报错命令行前加上sudo执行 sudo npm install -g appium
卸载安装 npm uninstall -g appium
检查安装appium -v 9.1.1、官网安装不成功可以试一试淘宝镜像源 cnpm install -g appium 验证安装appium -v
9.1.2、命令行打开appium appium -a 127.0.0.1 -p4723 ---默认端口4723可以任意修改appium开启后监听端口是修改后的端口
9.2、appium官网下载离线包安装Redirecting 10、appium-doctor环境检查
appium-doctor命令可用于检查appium的相关环境是否配置成功。
安装sudo npm install -g appium-doctor
或者 sudo cnpm install -g appium-doctor 卸载npm uninstall -g appium-doctor
检查环境配置命令
appium-doctor
appium-doctor --ios
appium-doctor --android
安装目录
/usr/local/lib/node_modules/appium-doctor
10.1、iOS自动化测试环境检查
终端执行命令appium-doctor --ios后即可开始检查iOS自动化测试所需的appium环境。 检查结果中没有出现红色的“X”时表示iOS自动化测试所必需的依赖环境都安装好了。
检查结果中有黄色的“X”时(如上图)表示非必需的环境依赖可以暂时不管等以后用到了这个模块再去安装。
10.2、Mac环境Android自动化测试环境检查
终端执行命令appium-doctor --android检查Mac中通过appium对Android做自动化测试的环境。 上图中红色的“X”表示Android自动化测试所必需的环境依赖我最后再介绍这些依赖的安装。
环境安装走到这一步了就可以对iOS模拟器进行自动化测试了。如果要连接控制iOS真机还需要将webdriveragent构建至真机Mac系统才能控制手机。 11、WebDriverAgent安装
WebDriverAgent简称WDA是由Facebook推出的一款移动端测试框架。它是在iOS客户端实现了一个WebDriver的Server借助这个server可以远程控制iOS设备进行测试。官网介绍Appium驱动真实设备的地址http://appium.io/docs/en/drivers/ios-xcuitest-real-devices/
Appium与iOS手机进行通讯就是借助的WDA配置WDA至iOS手机之前需要通过Xcode将苹果开发者证书编译进WDA才会生效。这个编译证书的过程是报错几率最高的步骤我尝试好几次才找到最有效的方法。
11.1、申请苹果开发者证书
苹果开发者证书有免费和收费的对于自动化测试来说免费版的就够用了只不过通过Xcodego构建编译进WDA的证书只有7天有效期7天后还需要重新构建一次。
11.2、WebDriverAgent目录
WebDriverAgent有两种来源一种是从GitHub拉取通过Xcode编译证书后替换掉appium里面的WebDriverAgent另一种是直接使用appium集成的WebDriverAgentXcode编译证书后使用。
网络资源一般介绍第一种的比较多但是这种方法已经不适用于新版本的Appium和Xcode。从GitHub(地址git clone GitHub - facebookarchive/WebDriverAgent: A WebDriver server for iOS that runs inside the Simulator.)拉取的WebDriverAgent有很长时间没有更新了通过Xcode编译证书时有很多兼容性问题。如果选择今年发布的Appium和Xcode直接使用appium集成的WebDriverAgent基本不会报错我选择的这种方式。 11.2.1、进入appium的WebDriverAgent目录 桌面版appium的WDA路径 /Applications/Appium.app/Contents/Resources/app/node_modules/appium/node_modules/appium-webdriveragent 命令行版appium的WDA路径 /usr/local/lib/node_modules/appium/node_modules/appium-webdriveragent
在appium官方文档中说明要执行下面的操作具体起什么作用还不清楚先按照步骤操作以免后面报错。
以桌面版的appium为例终端进入appium-webdriveragent目录执行下面的命令
mkdir -p Resources/WebDriverAgent.bundle
如果你安装的appium版本在1.20以下还需要执行下面这行命令
./Scripts/bootstrap.sh -d
还是以桌面版的appium为例在Mac桌面左上角点击“前往”--“前往文件夹”--“输入WDA路径”--点击前往即可进入appium-webdriveragent目录找到“WebDriverAgent.xcodeproj”文件。 11.2.2、Xcode编译证书
双击“WebDriverAgent.xcodeproj”文件通过Xcode打开然后对“WebDriverAgentLib”、“WebDriverAgentRunner”两个文件进行证书编译修改。在Xcode编译证书之前需要先绑定申请过苹果开发者账号的Apple ID。进入Xcode的偏好设置后按照下图配置ID: 在Xcode页面找到“WebDriverAgentLib”将“Signing”里面的Bundle Identifier改成自己命名的(与iOS手机已安装应用的bundleId要不一样)然后分别将“Build Settings”、“Info”里面的Bundle Identifier改成和第一步“Signing”里面的一样。如图所示3处 设置好后当“Signing”分页出现“Signing Certificate Apple Developmentxxxxxxxx”时表示证书编译成功。
然后同样的方法修改“WebDriverAgentRunner”里面的Bundle Identifier注意此处的Bundle Identifier也是自己命名的。如下图 Xcode选择WebDriverAgentRunner连接的iOS手机 此时所有的设置都完成了开始“Product--Test”构建WebDriverAgent至iOS手机 第一次构建时会报错如下图样式是因为构建至手机的WebDriverAgent需要信任该描述文件。手机设置路径设置--通用--设备管理--选择描述文件并信任 信任描述文件后Xcode再次“Product--Test”构建一次就会成功。手机里面会出现一个“WebDriverAgentRunner-Runner”走到这一步就可以对iOS真机进行自动化测试了。 11.2.3、环境验证-----转发端口
构建WebDriverAgent至手机成功后Xcode控制台就会打印出手机的ip和端口。 终端输入 iproxy 8300 8100
-----------------该工具命令用于将手机的端口号映射到电脑上的某一个端口其中8100是手机的端口8300是映射至Mac电脑的端口
如果映射不成功执行命令安装brew install usbmuxd
端口转发成功后在浏览器Safari中输入本地地址转发端口http://localhost:8300/status得到类似下面的输出即表示WebDriverAgent服务器状态正常。 1 {2 value : {3 message : WebDriverAgent is ready to accept commands,4 state : success,5 os : {6 testmanagerdVersion : 28,7 name : iOS,8 sdkVersion : 14.5,9 version : 13.3
10 },
11 ios : {
12 ip : 192.168.3.18
13 },
14 ready : true,
15 build : {
16 time : Aug 4 2021 10:13:40,
17 productBundleIdentifier : com.facebook.WebDriverAgentRunner
18 }
19 },
20 sessionId : null # 这里显示null我也不知为啥但不影响使用
21 }
11.24、Appium启动App
通过Appium启动app并使用inspector查找app的元素在“Desired Capabilities”中输入下面的预期参数即可。 1 {2 platformName: iOS,3 automationName: XCUITest,4 platformVersion: iOS系统版本号,5 deviceName: iOS手机名称,6 bundleId: 被测试app的bundleId,7 udid: iOS手机设备号,8 xcodeOrgId: Team ID,9 xcodeSigningId: iPhone Developer
10 }
免费版的苹果开发者账号Team ID在构建WebDriverAgent的Xcode可以查看。申请的付费账号登录 developer.apple.com/account查找Team ID。 12、iOS手机设置 12.1、授权UI自动化测试 iOS手机端进入设置 -- 开发者 -- 开启“Enable UI Automation” 12.2、Safari浏览器开启远程自动化 iOS手机端进入设置 -- Safari浏览器 -- 页面最下方“高级” -- 开启“远程自动化” 13、ios-webkit-debug-proxy安装
在iOS手机上进行H5页面的自动化测试需要安装ios-webkit-debug-proxy
命令brew install ios-webkit-debug-proxy
重新安装brew reinstall ios-webkit-debug-proxy
安装成功后终端输入下面的命令查看是否能正常调起ios-webkit-debug-proxy
ios_webkit_debug_proxy -c [设备udid]:27753 -d # 注意在desired_capabilities参数中要加入startIWDP: True
14、Python安装
Python官网下载地址Python Releases for macOS | Python.org
Mac OSX自带有Python2安装的是Python3时还需要更改环境变量将Python3设为默认。
1.1、获取Python3的安装路径
终端输入命令which python3
我的安装路径是/Library/Frameworks/Python.framework/Versions/3.8/bin/python3
1.2、编辑 bash_profile 文件
终端输入命令sudo vim ~/.bash_profile
输入Mac的登录密码后进入文本操作输入 i 转为插入模式写入下面命令
PATH/Library/Frameworks/Python.framework/Versions/3.8/bin:${PATH}
export PATH
alias python/Library/Frameworks/Python.framework/Versions/3.8/bin/python3
输入完成后按“Esc”, 然后 ‘:’ 底线命令模式, 输入 wq! 退出环境变量配置。
1.3、读取和执行命令使配置生效
终端输入命令source .bash_profile
1.4、requirements.txt / requests / lxml组件安装
组件不装可能会报错终端输入命令
pip3 install -r requirements.txt
pip3 install requests
pip3 install lxml
1.5、验证
终端输入Python 展示安装的Python的版本即安装成功 15、Java安装
Java_Jdk下载地址Index of java-local/jdk 此链接为国内镜像源。
我下载的版本为jdk-8u202-macosx-x64.dmg
1.1、安装与验证
Mac OSX系统安装很简单按步骤就行。
安装好后在“系统偏好设置”中会有Java图标并且在终端中输入“java -version”后可以验证安装版本。 1.2、获取安装路径
终端中使用“open /路径”可以打开目标文件夹。 在终端中输入open /Library/Java/JavaVirtualMachines/ 在访达中可以开启安装目录。
我的java1.8安装路径/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
1.3、配置环境变量
1终端输入命令sudo vim ~/.bash_profile
2输入Mac的登录密码后进入文本操作输入 i 转为插入模式写入下面命令
JAVA_HOME/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
PATH$PATH:$JAVA_HOME/bin
export JAVA_HOME
export PATH
3按Esc退出编辑模式进入命令行模式 :wq! 保存退出。
4在终端输入命令 source .bash_profile 来读取和执行命令使配置生效。
5在终端输入命令 echo $JAVA_HOME后显示配置的home路径说明配置成功。 16、Android SDK
Android SDK下载地址
国内源下载http://tools.android-studio.org/index.php/sdk
官网下载https://www.androiddevtools.cn 下载的包解压后在目录中 tools 执行脚本android 进行升级安装: 环境变量配置
1终端输入命令sudo vim ~/.bash_profile
2终端中获取android-sdk-macosx目录的路径
我的路径是/Users/sinosun/Downloads/android-sdk-macosx
3输入Mac的登录密码后进入文本操作输入 i 转为插入模式输入下面命令
ANDROID_HOME/Users/sinosun/AutoTestdat/android-sdk-macosx
PATH$PATH:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$ANDROID_HOME/build-tools/29.0.3
export ANDROID_HOME
export PATH
4按Esc退出编辑模式进入命令行模式 :wq! 保存退出。
5在终端输入命令 source .bash_profile 来读取和执行命令使配置生效。
6验证 adb devices
此时也可以在Mac中对Android手机进行自动化测试了。
终端中输入appium-doctor 验证下iOS自动化、Android自动化测试环境的搭建是否还有问题。只要前面所有的步骤没问题基本不会出现环境问题。