如何在Mac OS上设置Appium,以便在Android和iOS设备上从JAVA类运行自动测试
我和阿皮姆面对的问题是,我决定如下。如果不使用SUDO,我无法找到为Appium安装所需组件的方法。在使用SUDO安装了所有这些之后,然后尝试运行Appium,我得到了一个错误,即Appium和NODE应该在没有SUDO的情况下安装。尝试在线搜索解决方案花了我相当长的时间,因为几乎没有在线教程可以让Appium在MAC上运行,同时使用JAVA开发测试。下面是关于如何在Mac OS上设置Appium并在Java类中运行第一个测试的分步说明。只需将命令复制并粘贴到Mac上的终端,您就可以进行设置。我希望在线上有更多关于Appium的分步教程。Appium开发者编写的教程非常模糊,我甚至不想建议在他们的网站上寻找答案。由Igor Vishnevskiy回答。 我一直在互联网上到处寻找答案,但什么也找不到。我花了一些时间来完成这项工作。我希望本快速指南能帮助下一位工程师节省一些时间,在安卓设备上设置Appium以运行自动化。如果NODE或Appium本身是使用SUDO安装的,则Appium将不会运行,如果不使用SUDO,MAC也不允许您安装。不过,还有一个变通办法。我的步骤使安装和设置Appium成为可能,而无需使用SUDO进行安装。一切都经过测试,一切正常。以下是步骤。享受吧 使用以下步骤设置Appium时可能存在一个问题。如果在创建数据或将数据保存到某些目录时遇到一些错误,这是由于对这些目录设置了写入权限造成的。您需要做的是将CHMOD设置为777,以便安装Appium组件时尝试写入目录,然后重新运行所有步骤。 第1步: 安装Java6。您将需要Java6和Appium。Mac OS的JAVA 6必须从苹果的支持页面下载: 第二步: 在bash中,使用以下格式添加以下路径:如何在Mac OS上设置Appium,以便在Android和iOS设备上从JAVA类运行自动测试,java,android,macos,ui-automation,appium,Java,Android,Macos,Ui Automation,Appium,我和阿皮姆面对的问题是,我决定如下。如果不使用SUDO,我无法找到为Appium安装所需组件的方法。在使用SUDO安装了所有这些之后,然后尝试运行Appium,我得到了一个错误,即Appium和NODE应该在没有SUDO的情况下安装。尝试在线搜索解决方案花了我相当长的时间,因为几乎没有在线教程可以让Appium在MAC上运行,同时使用JAVA开发测试。下面是关于如何在Mac OS上设置Appium并在Java类中运行第一个测试的分步说明。只需将命令复制并粘贴到Mac上的终端,您就可以进行设置。我
export PATH=$HOME/local/bin:$PATH
第三步:
Setup Maven(下载并设置Maven的Bash概要文件路径):
------>
这就是Bash配置文件的外观:
export PATH="/Users/your_username/Desktop/adt-bundle-mac-x86_64-20140702/sdk/platform-tools":$PATH
export PATH="/Users/your_username/Desktop/adt-bundle-mac-x86_64-20140702/sdk/tools":$PATH
export PATH=$HOME/local/bin:$PATH
export ANDROID_HOME=/Users/your_username/Desktop/adt-bundle-mac-x86_64-20140321/sdk
export PATH="/Users/your_username/Desktop/apache-maven-3.2.2/bin":$PATH
export JAVA_HOME=$(/usr/libexec/java_home -v 1.6)
echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc
. ~/.bashrc
mkdir ~/local
mkdir ~/node-latest-install
cd ~/node-latest-install
curl http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1
./configure --prefix=~/local
make install
sudo ln -s /path_to_maven_folder/bin/mvn /usr/bin/mvm
npm ln -s /Users/[your username]/Desktop/Appium/Tools/apache-maven-3.2.5/bin/mvn /usr/bin/mvn
$ mvn –version
显然,要在Android设备上运行测试,您需要下载Android SDK并将其添加到您的Bash配置文件中。要在iOS设备上运行测试,只需安装XCode,无需将其添加到Bash配置文件中。但必须添加Android SDK。
第4步:
将以下命令序列复制并粘贴到终端窗口中,然后按ENTER键。把它全部复制粘贴在一起就行了。安装NODE需要一些时间,所以请耐心等待
echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc
. ~/.bashrc
mkdir ~/local
mkdir ~/node-latest-install
cd ~/node-latest-install
curl http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1
./configure --prefix=~/local
make install
第五步:
步骤4中的安装完成后,在终端窗口中运行以下命令:
curl https://www.npmjs.com/install.sh | sh
第6步:
然后在终端窗口中执行以下命令:
npm install -g grunt-cli
npm install -g appium
npm install wd
open -e .bash_profile
第7步:
然后在终端窗口中执行以下命令:
npm install -g grunt-cli
npm install -g appium
npm install wd
open -e .bash_profile
第8步:
然后在终端窗口中执行以下命令:
npm install -g grunt-cli
npm install -g appium
npm install wd
open -e .bash_profile
第9步:
然后在终端窗口中执行以下命令以启动Appium服务器:
appium &
(步骤9将启动服务器)
第10步:
从单独的终端窗口
cd到工作区中JAVA项目的根目录。
(示例:cd/Users/ivishnevskiy/Documents/workspace/ApiumJUnit
)
第11步:
将Android设备连接到USB和MAC电脑
第12步:
在步骤10的同一终端窗口中,运行以下命令以启动Appium测试:
mvn -Dtest=test.java.com.saucelabs.appium.AndroidContactsTest test
其中test.java.com.saucelabs.appium是一个包名
和
AndroidContactsTest是一个类名
如果您仍然需要帮助进行设置。让我知道。我可以帮忙。我的LinkedIn:
在您的设备上设置APPIUM后,请按照我的下一个教程在ECLIPSE中创建,并在实际的iOS设备(而不是模拟器)上运行您的第一个测试:
对不起,有点凌乱,从我的笔记上取下来 考虑 您的系统环境位于.bash_配置文件中 您必须在那里添加jre jdk文件 如果您想从mac上运行适用于android和ios的appium,也可以使用android sdk 有一个ui自动机,你必须安装它 appium中有一个安装dr,您可以检查是否正确安装了appium 这是我为[android设备和ios设备]在ios上运行appium所采取的步骤; 我注意每一步 有些步骤可能是不必要的 我希望它能帮助你 转到终端:
export PATH="/Users/your_username/Desktop/adt-bundle-mac-x86_64-20140702/sdk/platform-tools":$PATH
export PATH="/Users/your_username/Desktop/adt-bundle-mac-x86_64-20140702/sdk/tools":$PATH
export PATH=$HOME/local/bin:$PATH
export ANDROID_HOME=/Users/your_username/Desktop/adt-bundle-mac-x86_64-20140321/sdk
export PATH="/Users/your_username/Desktop/apache-maven-3.2.2/bin":$PATH
export JAVA_HOME=$(/usr/libexec/java_home -v 1.6)
echo 'export PATH=$HOME/local/bin:$PATH' >> ~/.bashrc
. ~/.bashrc
mkdir ~/local
mkdir ~/node-latest-install
cd ~/node-latest-install
curl http://nodejs.org/dist/node-latest.tar.gz | tar xz --strip-components=1
./configure --prefix=~/local
make install
sudo ln -s /path_to_maven_folder/bin/mvn /usr/bin/mvm
npm ln -s /Users/[your username]/Desktop/Appium/Tools/apache-maven-3.2.5/bin/mvn /usr/bin/mvn
$ mvn –version
下载适用于iOS的android捆绑包,然后运行命令
tools/android update sdk --no-ui
curl https://www.npmjs.org/install.sh | sh
npm install -g grunt-cli
npm install -g appium
npm install wd
====================================
打开并编辑.bash_配置文件
open-e.bash_配置文件
如果您的计算机路径中没有.bash_配置文件,请创建一个。在下面输入命令以创建新文件。创建后,请执行步骤2
touch.bash_个人资料
步骤3
添加并保存
并再次在终端运行
导出ANDROID_HOME=/Applications/Appium/Tools/ANDROID sdk macosx/
导出路径=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform tools
步骤4设置java主页导出
JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK/HOME
并将其添加到bash概要文件中
安装Eclipse:
在eclipse中安装测试ng添加selenium库 添加maven 新java项目 udid>>在xcode中查找udi 在模拟器中安装应用程序 默认写入 com.apple.Finder AppleShowAllFiles TRUE 去找finder\ 在XCODE设备中启用ui自动机
设置>>开发人员 安装brew ruby-e“$(curl-fsSL )" 安装idevice brew安装ideviceinstaller 添加maven jar fi
brew install carthage
npm install -g ios-deploy
npm install -g deviceconsole
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew update
brew install node
npm install -g npm
open -e .bash_profile
export ANDROID_HOME=/Users/user/Library/Android/sdk
export PATH=$ANDROID_HOME/platform-tools:$PATH
export PATH=$ANDROID_HOME/tools:$PATH
export JAVA_HOME=$(/Library/Java/JavaVirtualMachines/jdk1.8.0_141.jdk)
export PATH=${JAVA_HOME}/Contents/Home/bin:$PATH
export PATH=/usr/local/bin:/usr/local/sbin:~/bin:$PATH
export PATH=$PATH:/opt/bin:$PATH
npm install -g appium@1.6.0-beta1
npm install wd
cd /usr/local/lib/node_modules/appium/node_modules/appium-xcuitest-driver/WebDriverAgent
brew install carthage
npm i -g webpack
cd
appium
[Appium] Welcome to Appium v1.6.0-beta1
[Appium] Appium REST http interface listener started on 0.0.0.0:4723
public AppiumDriver<WebElement> setUp() throws Exception {
builder = new AppiumServiceBuilder();
//builder.usingAnyFreePort();
//builder.withIPAddress("0.0.0.0");
//builder.usingPort(4723);
builder.withCapabilities(cap);
builder.withArgument(GeneralServerFlag.SESSION_OVERRIDE);
builder.withArgument(GeneralServerFlag.LOG_LEVEL,"error");
builder.withAppiumJS(newFile("/usr/local/lib/node_modules/appium/build/lib/main.js"));
builder.usingDriverExecutable(new File("/usr/local/bin/node"));
service = AppiumDriverLocalService.buildService(builder);
service.start();
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("app", "/Users/user/Documents/yourapp.app");
capabilities.setCapability("noReset", "false");
capabilities.setCapability(MobileCapabilityType.VERSION, "12.0");
capabilities.setCapability(MobileCapabilityType.PLATFORM, "iOS");
capabilities.setCapability(MobileCapabilityType.UDID,"abcddjkfg...");
capabilities.setCapability("bundleId", "com...");
capabilities.setCapability(MobileCapabilityType.AUTOMATION_NAME, "XCUITest");
capabilities.setCapability(MobileCapabilityType.DEVICE_NAME, "user's iPhone");
driver = new IOSDriver<>(new URL("http://0.0.0.0:4723/wd/hub"), capabilities);
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
return driver;
}
echo $PATH