首页 文章 精选 留言 我的

精选列表

搜索[自动出价],共10000篇文章
优秀的个人博客,低调大师

appium自动化测试环境部署_Android

对于一台干净的windows要做appium测试需要的环境如下(针对python): android sdk java(jdk) adb Emulator Node.js Appium(一个最新的1.0.2版本,一个1.4.16版本,随意安装哪个) Python上安装appium-python-client插件 1、我们先把下载androidsdk,打开安装文件下一步到结束: 安装完成后配置环境变量: 添加%ANDROID_HOME%变量值为C:\Program Files (x86)\Android\android-sdk(即你安装的目录) 在PATH变量里添加%ANDROID_HOME%/tools和%ANDROID_HOME%/platform-tools路径 注:有些SDK安装完成后可能是platform目录,需要手动建一个platform-tools的路径 并把adb相关文件放到这个目录里。 另外还需要手动建一个build-tools的文件夹,后面用模拟器时需要这个。 检查AndroidSDK环境是否配置好,运行cmd---输入android-h查看: 出现这些信息说明androidsdk环境已配置好。 2、安装jdk,很简单安装直接下一步到结束,然后配置环境变量: 添加%JAVA_HOME%变量,值为C:\Program Files (x86)\Java\jdk1.8.0_60(即你安装的目录) 在PATH变量里添加%JAVA_HOME%\bin和%JAVA_HOME%\jre\bin目录 3、Adb.exe文件放到在第一步中建的platform-tools目录下: Adb主要用于连接安卓手机。 4、安装node,也是直接打开安装文件点击下一步到结束,然后配置环境变量: 安装完成后,我们要设置环境变量: 在PATH变量里添加C:\Program Files\nodejs(即你的安装目录) 检查node是否安装成功,进入cmd---输入node –v看是否出现版本信息: 5、安装appium客户端,我这里安装的是1.0.2版本,打开安装文件自己会直接安装完成 在PATH里添加C:\Program Files (x86)\Appium\node_modules\.bin 6、安装appium-python-client,前提时你python环境已经是好的 可以通过pip来安装,建议使用pycharm软件安装,非常方便 7、最后我们进入cmd---输入appium-doctor验证appium测试环境是否都ok: 本文转自niedongri 51CTO博客,原文链接:http://blog.51cto.com/laomomo/1932248,如需转载请自行联系原作者

优秀的个人博客,低调大师

iOS脚本自动编译静态包/静态库

在iOS开发中,有时候为了项目模块间的相互独立性,降低模块间的耦合,通常将底层相对稳定的模块抽取出来,形成SDK,以静态包或者静态库的形式引入项目。这中间免不了编译打包静态包/库,通常的做法是模拟器和真机分别编译,然后再将两个静态包或者库lipo合并成一个。这样的工作做多了,难免觉得麻烦,想省事儿,整一脚本变得自然而然了。 喜欢我的可以关注收藏我的个人博客:RobberJJ 1. 创建一个静态包/库工程(已有请跳过这一步) 创建如下图: Build Lib 在Trargets下面,点击左下角的“+”,选择添加一个新的Target, 然后选择“Aggregate”选项,新建一个集合类target,如下图所示: Build Target 2. 给集合类添加依赖 在Targets下面选中我们新建的集合类,然后Build Phases --> Target Dependencies 下面添加我们需要编译的静态库,如下图所示: 添加依赖 3. 添加脚本 在Targets下面选中我们新建的集合类,然后在Build Phases下,点击左上角的“+”,选择"New Run Script Phase"选项,如下图: 添加运行脚本 然后设置我们运行的脚本的所在位置,如下图所示: 设置脚本位置 注意: ../scripts/build-framework.sh 表示脚本的位置在当前工程的上一个目录下地scripts文件夹下. 当然"../"也可以用"${SRCROOT}/../"来代替. 脚本位置可根据实际情况自行设置。 4. 选择我们创建的集合类的target,编译 在编译时,你可能会遇到下面的错误: Permission denied. 这是因为shell脚本,还没有添加可执行的权限。 解决办法:在终端上, cd 进入到脚本所在的文件夹; 然后使用 chmod +x ./yourShellName.sh 命令, 成功之后,就可以正常的运行Xcode工程了。 5. 指定target 一般来说我们编译的target名称,跟我们的project工程的名称是一样的,但是,如果我们修改了我们的target名称,需要在我们制定脚本的位置后面跟上我们需要编译的target名称,既:脚本位置+空格+target名称。如下图: 指定target 喜欢我的可以关注收藏我的个人博客:RobberJJ 6. shell脚本源码 编译library的脚本 #!/bin/sh #要build的target名 target_Name=${PROJECT_NAME} if [[ $1 ]] then target_Name=$1 fi UNIVERSAL_OUTPUT_FOLDER="${SRCROOT}/${PROJECT_NAME}_Products" # 创建输出目录,并删除之前的文件 rm -rf "${UNIVERSAL_OUTPUT_FOLDER}" mkdir -p "${UNIVERSAL_OUTPUT_FOLDER}" # 分别编译真机和模拟器版本 xcodebuild -target "${target_Name}" ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk iphoneos BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" clean build xcodebuild -target "${target_Name}" ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk iphonesimulator BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" clean build #复制头文件到目标文件夹 HEADER_FOLDER="${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/include/${target_Name}" if [[ -d "${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/usr/local/include" ]] then HEADER_FOLDER="${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/usr/local/include" fi cp -R "${HEADER_FOLDER}" "${UNIVERSAL_OUTPUT_FOLDER}" #合成模拟器和真机.a包 lipo -create "${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/lib${target_Name}.a" "${BUILD_DIR}/${CONFIGURATION}-iphoneos/lib${target_Name}.a" -output "${UNIVERSAL_OUTPUT_FOLDER}/lib${target_Name}.a" # 判断build文件夹是否存在,存在则删除 if [ -d "${SRCROOT}/build" ] then rm -rf "${SRCROOT}/build" fi #打开目标文件夹 open "${UNIVERSAL_OUTPUT_FOLDER}" 编译framework的shell脚本 #!/bin/sh #要build的target名 TARGET_NAME=${PROJECT_NAME} if [[ $1 ]] then TARGET_NAME=$1 fi UNIVERSAL_OUTPUT_FOLDER="${SRCROOT}/${PROJECT_NAME}_Products/" #创建输出目录,并删除之前的framework文件 mkdir -p "${UNIVERSAL_OUTPUT_FOLDER}" rm -rf "${UNIVERSAL_OUTPUT_FOLDER}/${TARGET_NAME}.framework" #分别编译模拟器和真机的Framework xcodebuild -target "${TARGET_NAME}" ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk iphoneos BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" clean build xcodebuild -target "${TARGET_NAME}" ONLY_ACTIVE_ARCH=NO -configuration ${CONFIGURATION} -sdk iphonesimulator BUILD_DIR="${BUILD_DIR}" BUILD_ROOT="${BUILD_ROOT}" clean build #拷贝framework到univer目录 cp -R "${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/${TARGET_NAME}.framework" "${UNIVERSAL_OUTPUT_FOLDER}" #合并framework,输出最终的framework到build目录 lipo -create -output "${UNIVERSAL_OUTPUT_FOLDER}/${TARGET_NAME}.framework/${TARGET_NAME}" "${BUILD_DIR}/${CONFIGURATION}-iphonesimulator/${TARGET_NAME}.framework/${TARGET_NAME}" "${BUILD_DIR}/${CONFIGURATION}-iphoneos/${TARGET_NAME}.framework/${TARGET_NAME}" #删除编译之后生成的无关的配置文件 dir_path="${UNIVERSAL_OUTPUT_FOLDER}/${TARGET_NAME}.framework/" for file in ls $dir_path do if [[ ${file} =~ ".xcconfig" ]] then rm -f "${dir_path}/${file}" fi done #判断build文件夹是否存在,存在则删除 if [ -d "${SRCROOT}/build" ] then rm -rf "${SRCROOT}/build" fi rm -rf "${BUILD_DIR}/${CONFIGURATION}-iphonesimulator" "${BUILD_DIR}/${CONFIGURATION}-iphoneos" #打开合并后的文件夹 open "${UNIVERSAL_OUTPUT_FOLDER}"

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册