MAC安装STAF详解

MAC安装STAF详解

1.简介:Software Test Automation Framework (STAF) 是由IBM开发的开源、跨平台、支持多语言并且基于可重用的组件来构建的自动化测试框架。它封装了不同平台和不同语言间通信的复杂性,提供了消息、互斥、同步、日志等可复用的服务,使用户可以在此基础上方便快速地构建自动化测试解决方案。STAF在功能级别实施服务调用。STAF官方文档为MAC提供了三种安装方式,此处使用.bin文件加jdk的方式安装。

2.下载:去STAF官网http://staf.sourceforge.net/getcurrent.php下载 STAF3426-setup-macosx-universal.bin,由于staf并未为MAC提供绑定jre的安装包,因此还需要去oracle官网下载jdk。如下图:
jdk和staf

3.安装:STAF的安装需要jre环境。因此先安装jdk。双击.dmg文件按提示进行安装即可,MAC中jdk默认安装在/Library/Java。配置jdk环境变量:在用户根目录下.bash_profile文件(没有的话自己touch)中配置如下信息:

JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_40.jdk/Contents/Home
PATH=$JAVA_HOME/bin:$PATH:.
CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:.
export JAVA_HOME
export PATH
export CLASSPATH

注意此处的/jdk1.8.0_40.jdk应为你自己jdk的版本。详细过程参照:https://blog.csdn.net/vvv_110/article/details/72897142
安装STAF:
以管理员身份运行STAF3426-setup-macosx-universal.bin文件,根据提示进行安装。默认安装在/Library/staf文件夹中,此文件夹结构如下:

LICENSE.htm		    bin			            lib
NOTICES.htm		    codepage		        samples
STAFEnv.sh		    docs			        startSTAFProc.sh
STAFReg.inf		    include
Uninstall_STAF		install.properties

其中STAFEnv.sh脚本用于配置staf的环境变量,startSTAFPRoc.sh脚本用于初始化staf,lib目录存放相关的依赖包,bin文件存放可执行文件。bin目录如下:

CAList.crt		    STAF			         STAFExecProxy
FmtLog			    STAF.cfg		         STAFLog.pm
IPv4			    STAF.pl			         STAFLoop
IPv6			    STAF2.pl		         STAFMon.pm
PLSTAF.pm		    STAFDefault.crt		     STAFProc
PLSTAFService.pm 	STAFDefault.key		     STAFReg

其中STAF.cfg是STAF的配置文件。
STAF配置:修改STAF.cfg文件如下:

# Turn on tracing of internal errors and deprecated options
trace enable tracepoints "error deprecated"

# Enable TCP/IP connections
#interface ssl library STAFTCP option Secure=Yes option Port=6550
interface tcp library STAFTCP option Secure=No  option Port=6500

# Set default local trust
trust machine local://local level 5
trust machine 10.2**.251.9 level 5

# Add default service loader
serviceloader library STAFDSLS

其中 trust machine是你需要连接的机器的IP地址。可以参照:https://blog.csdn.net/hqzxsc2006/article/details/81289099
修改完STAF.cfg还需要修改/etc/hosts中【127.0.0.1 localhost】为【本机ip localhost】否则STAF在启动时会找不到ip地址。修改完source /etc/hosts让配置生效,接着运行STAFEnv.sh配置STAF环境变量。配置完/etc/profile应该会有STAF的PATH。接着运行staf/bin/STAFProc &启动STAF,打开Activity Monitor搜索staf便可以看到STAFProc进程,到此就大功告成了~~
在这里插入图片描述

4.常见问题

  1. dyld: Library not loaded: /opt/dev/autobuild/build/rel/macosx/staf/retail/lib/libSTAF.dylib
    Referenced from: /Library/staf/bin/./STAFProc
    Reason: image not found
    解决方案:创建/opt/dev/autobuild/build/rel/macosx/staf/retail/lib/目录并将staf/lib/libSTAF.dylib copy过去。

  2. Error on Interface definition line:
    interface tcp library STAFTCP option Secure=No option Port=6500
    Error code: 47
    Reason : Error creating interface. STAFConnectionProviderConstruct: Could not determine logical/physical identifier.Error code: 22 Reason: Error getting hostent structure: gethostbyaddr() RC=1
    解决方案: gethostbyaddr() 获取不到主机ip,将/etc/hosts中【127.0.0.1 localhost】为【本机ip localhost】并source /etc/hosts让配置生效

  3. Error creating local interface
    Error code: 10
    Reason : STAFDynamicLibrary: dlopen(libSTAFLIPC.dylib, 6): image not found:
    解决方案:这个问题是因为STAF没加进环境变量,因此找不到相关包,运行staf/STAFEnv.sh进行配置并source /etc/profile使配置文件生效。

PS:这是根据前几天自己的安装经验总结出来的,如果有写的不对的欢迎大家批评指正,也欢迎大家一起探讨~~

你可能感兴趣的:(MAC安装STAF详解)