Selenium webdriver 为mac创建了shell脚本,但运行时出错

Selenium webdriver 为mac创建了shell脚本,但运行时出错,selenium-webdriver,jbehave,serenity-bdd,Selenium Webdriver,Jbehave,Serenity Bdd,运行_QA.sh: #!/bin/bash set v # ------------------------------------------------------- # 0 : Do NOT execute tests for the platform # Anything else(e.g. 1) Execute tests for the platform # ------------------------------------------------------- expor

运行_QA.sh:

#!/bin/bash
set v

# -------------------------------------------------------
# 0 : Do NOT execute tests for the platform
# Anything else(e.g. 1)  Execute tests for the platform
# -------------------------------------------------------
export PROJECT_DIR=$CD
# TEST SUITE CAPBILITIES
# include or exclude test scenarios and/or story files (e.g. "-    skip,+checkout")
# -: means exclude
# +: means include
export PARAM="-skip,+Delta"

# MAVEN EXECUTION PROFILE
export SINGLETHREAD=singlethread
export PARALLEL=parallel
export MULTITHREAD=multithread

# set profile for building
export PROFILE=$SINGLETHREAD

# TEST RESULTS LOCATION
export TEST_RESULTS=TestResults


# =================================== DESKTOP   ========================================

# ---------- Delta (English) ----------


#:DESKTOP_DT_EN

# chrome, iexplorer, firefox
export BROWSER=firefox
export BRAND=TIMBERLAND
export TEST_ENV=NA
export LAN=EN
export PLATFORM=DESKTOP

export  SOURCE=${PROJECT_DIR}/src/test/resources/test_data/$BRAND/$TEST_ENV
export DESTINATION=${PROJECT_DIR}/src/test/resources


echo --- Creating Test Results folder...

#MD       $PROJECT_DIR/$TEST_RESULTS/$BRAND_$TEST_ENV_$PLATFORM_$LAN_$TEST_RESULTS$/site/serenity

#echo --- Testing DESKTOP_DT_EN
export BASE_URL=http://qa.timberland.com/

export META_FILTER=$PARAM
echo --- calling run.sh file...

#$PROJECT_DIR
#echo "test"
#source=/Users/oletis/git/automation/TimberlandSuite
call %PROJECT_DIR%\run.sh
run.sh:

#!/bin/bash
#set v
echo --------------------------------------------------------------------------------------
echo Test Environment: $BRAND:$TEST_ENV_$PLATFORM_$LAN
echo $BRAND
echo $TEST_ENV
echo $PLATFORM
echo $LAN
echo $BASE_URL
echo --------------------------------------------------------------------------------------

#::echo Removing previous test results...
#::IF exist     $PROJECT_DIR/$TEST_RESULTS/$BRAND_$TEST_ENV_$PLATFORM_$LAN_$TEST_RESULTS  DEL /S /Q /F  $PROJECT_DIR/$TEST_RESULTS/$BRAND_$TEST_ENV_$PLATFORM_$LAN_$TEST_RESULTS |  echo > /dev/null
#::echo Done
#::echo

echo cd to project directory…
cd "${PROJECT_DIR}"
echo Done
echo .



set DEFAULTPROFILE=$SINGLETHREAD


echo thread

if [ $PROFILE=$MULTITHREAD ]
then
    export DEFAULTPROFILE=$MULTITHREAD
    echo here
elif
    [ $PROFILE=$SINGLETHREAD ]
then
    export DEFAULTPROFILE=$SINGLETHREAD
    echo hereo
elif
    [ $PROFILE=$PARALLEL ]
then
    export DEFAULTPROFILE=$PARALLEL
    echo sdsf
else
    echo ****************** Invalid profile configuration... 
    echo ****************** Using default profile: "$DEFAULTPROFILE"
fi



echo bush

echo --- Running in $DEFAULTPROFILE mode ---


echo --- Deleting table files from $DESTINATION... 
if [ -e $destionation/*.table ] DEL /Q /F $DESTINATION/*.table
    echo Done
else
    echo ****** No files deleted
    echo.
fi

echo Preparing test-data files...
# copy test_data to appropriate files
cp -f "$SOURCE/$LAN_General.table" "$DESTINATION/General.table"
echo Done
echo
# )

echo Cleaning...
.mvn clean  
echo Done
echo.

echo Compiling...
.mvn compile  
echo Done
echo.

echo Executing...
# the metafilter=-skip is configured in Serenity.properties file, so no need to pass it as a parameter
# . mvn verify -Dmetafilter="-skip" | echo >> log.txt
# to run with checkstyle and OMD use -DskipTests. To disable code compliance use -DskipCodeCompliance=true 
# . mvn verify -DskipTests -Dwebdriver.driver=$BROWSER -Dwebdriver.base.url="$BASE_URL"
# . mvn verify -Dmetafilter=$META_FILTER  -Dwebdriver.driver=$BROWSER -Dwebdriver.base.url="$BASE_URL" -Dbrand="$BRAND"


if [ $PROFILE==$MULTITHREAD ]; then{
    #echo Starting in myversion
    .mvn integration-test -P $DEFAULTPROFILE -Dlan=$LAN -Dbrand=$BRAND -Dtestenv=$TEST_ENV -Dmetafilter=$META_FILTER  -Dwebdriver.driver=$BROWSER -Dwebdriver.base.url="$BASE_URL" -Dplatform=$PLATFORM
    .mvn serenity:aggregate -P $DEFAULTPROFILE
}


elif [ $PROFILE==$SINGLETHREAD ];
then {
    echo SINGLETHREAD
    # .mvn verify -Dmetafilter=$META_FILTER  -Dwebdriver.driver=$BROWSER -Dwebdriver.base.url="$BASE_URL" -Dbrand.name="$BRAND"


    if [ $PLATFORM=="BROWSERSTACK" ]; then {
        .mvn verify -P $DEFAULTPROFILE -DproxySet=true -DproxyHost=proxy4.wipro.com -DproxyPort=8080 -DproxyUser=PA257736 -DproxyPass=Fossil#in -Dlan=$LAN -Dbrand=$BRAND -Dmetafilter=$META_FILTER -Dplatform=$PLATFORM -Dbrowserstack.os=$BROWSERSTACK_OS -Dbrowserstack.os.version=$BROWSERSTACK_OS_VERSION -Dbrowserstack.browser=$BROWSER -Dbrowserstack.browser.version=$BROWSER_VERSION -Dbrowserstack.build=BROWSERSTACK_BUILD -Dbrowserstack.url=$BROWSERSTACK_URL -Dwebdriver.base.url="$BASE_URL"
    }
    else
        .mvn verify -P $DEFAULTPROFILE -Dlan=$LAN -Dbrand=$BRAND -Dtestenv=$TEST_ENV -Dmetafilter=$META_FILTER  -Dwebdriver.driver=$BROWSER -Dwebdriver.base.url="$BASE_URL" -Dplatform=$PLATFORM
    fi
}

fi



echo Execution Done
echo


echo a


date=$(date +"%d%m%y")
echo $date
timestamp=$(date +"%H%M")
echo $timestamp
echo s



echo --- Copying test result to $TEST_RESULTS folder... 
if ![ -e $PROJECT_DIR/$TEST_RESULTS MD $PROJECT_DIR/$TEST_RESULTS ]
    #XCP /E "$PROJECT_DIR/target/*.*" "$PROJECT_DIR/"$TEST_RESULTS"/"$BRAND"_"$TEST_ENV"_"$PLATFORM"_"$LAN"_"$TEST_RESULTS"/*.*"  | echo > /dev/null
    XCP /E "$PROJECT_DIR/target/*.*" "$PROJECT_DIR/$TEST_RESULTS/$BRAND_$TEST_ENV_$PLATFORM_$BROWSER_$LAN_$date_$timestamp/*.*"  | echo > /dev/null
fi
echo Done
echo
当我运行它时,命令未找到错误即将出现

l-185002536:timberlandsuite imguser$sh run_QA.sh

:未找到命令

:未找到命令

:未找到命令

:未找到命令

:未找到命令

:未找到命令

:未找到命令

:未找到命令

:未找到命令

:未找到命令

:未找到命令

:未找到命令

:未找到命令

:未找到命令

:未找到命令

:未找到命令

:未找到命令

:未找到命令

---正在创建测试结果文件夹

:未找到命令

:未找到命令

:未找到命令

---正在调用run.sh文件

:未找到命令

运行_QA.sh:第63行:调用:未找到命令


您可以使用
bash-n
检查文件的语法,并使用
bash-x
在执行命令时显示命令。另外,
call%PROJECT\u DIR%\run.sh
是批处理文件语法,而不是bash。如果您对某些问题感到困惑,请尝试创建一个再现问题的最小示例: