나는 셀레늄 테스트 케이스를 실행하고 이메일 형식으로 보고서를 보내는 것과 관련된 CRON을 통해 매일 스크립트 파일을 실행합니다. 이것은 내 스크립트입니다.check.sh
#!/bin/sh
set -x
./.bashrc
export CLASSPATH=/home/test/TestAutomation/lib/*:.
cd /home/test/TestAutomation/lib/
/usr/bin/java -jar selenium-server.jar &
cd
javac Api.java
java Api
cd /home/test/TestAutomation/selenium/reports/
cp result.html /home/test/TestReports
sh /home/test/repgen.sh
sleep 30
sh /home/test/masRepgen.sh
스크립트는 cron에서 잘 실행됩니다. 여기서 sh /home/test/masRepgen.sh
스크립트는 java 파일을 컴파일 및 실행하고 이메일을 보냅니다. 위의 스크립트를 아래와 같이 약간 변경했습니다.
#!/bin/sh
set -x
./.bashrc
. /home/test/blog/build.txt
cd /home/test/VT/CT/
if [ -e /home/test/VT/CT/CT__$BuildLabel ]; then
echo "Testcases has been run already"
else
export CLASSPATH=/home/test/TestAutomation/lib/*:.
cd /home/test/TestAutomation/lib/
/usr/bin/java -jar selenium-server.jar &
cd
javac Api.java
java Api
cd /home/test/TestAutomation/selenium/reports/
cp result.html /home/test/TestReports
sh /home/test/repgen.sh
sleep 30
fi
sh /home/test/masRepgen.sh
이렇게 변경한 후에는 이메일을 받을 수 없습니다. 즉, sh /home/test/masRepgen.sh
Java 클래스는 컴파일되지 않습니다. 어디에서 오류가 발생했는지 알 수 없습니다.
masRepgen.sh에는 이 콘텐츠가 포함되어 있습니다.
cd /home/test/
/home/test/jdk1.7.0_12/bin/javac SendMail.java
/home/test/jdk1.7.0_12/bin/java SendMail "http://172.20.8.50/Regression/CR__$BuildLabel/compareresults_index.html" "http://172.20.8.50/Summary__$BuildLabel/complete_summary.html"
crontab에 다음을 추가했습니다.
45 02 * * * /bin/sh check.sh >> UI.txt
답변1
export CLASSPATH=/home/test/TestAutomation/lib/*:.
위의 if 조건을 배치하면 문제가 해결될 수 있습니다. 귀하의 의견에 감사드립니다.