TestNG запустить по клику Suite

других не было:)

А вот у меня проблема, не получается сделать так, как писал, товарищ  polusok.

<?xml version="1.0" encoding="UTF-8"?>
<project>
 
<taskdef resource="testngtasks" classpath="testng.jar"/>
<target name="test">
<testng>
<classpath>
<pathelement location="selenium-server-standalone-2.21.0.jar"/>
      <pathelement location="bin"/>
</classpath>
<xmlfileset dir="." includes="testng.xml"/>
</testng>
</target>
</project>
 
При запуске анта , поулчаю такую ошибку:
Unable to locate tools.jar.  Expected  to find it  in C:\program files (x86)\java\jre6\lib\tools.jar
buildfile: build.xml does not exist!
 
Действительно по указанному пути нет джарника tools.jar  и не было никогда, где его взять?
Непонятно почему он пишет что файл build.xml does not exist, этот файл есть , лежит в папке с проектом, а apache-ant-1.8.3 - лежит в папке workspace.  Не поможете решить эту проблему?
И ещё впорос: у меня есть файл testng.xml , который лежит в моём проекте, есть файл build.xml, который тоже лежит в проекте, а файл ant.bat лежит в c:\workspace\apache-ant-1.8.3\bin\   , то есть в папке со всеми проектами. Может быть у меня расположение файлов неверное, помогите пожалуйста!

у вас проблемы с антом и вам надо в первую очередь разобраться с ним, а потом уже с запуском тестов

на джарника, вам надо поставить JDK и там уже в папке lib, есть нужный вам файл

для того, чтобы все заработало, вам надо будет установить JAVA_HOME на ваш JDK. 

 

на счет расположения файлов, если вы определили ant в системных переменных, то неважно, где ant.bat.

он должен запускать с любой точки системы

 

но снчала, решите все конфигурационные проблемы, чтобы запуск анта был без проблем, а дальше уже посмотрим, почему тесты не запускаются.

С антом вроде бы разобрался и всё нудное ДОустановил. Теперь проблема вот в чём, после запуска ant test, получаю ошибку:

 

 

 

c:\workspace\apache-ant-1.8.3\bin>ant test

Buildfile: c:\workspace\apache-ant-1.8.3\bin\build.xml

    [taskdef] Could not load definitions from resource testngtasks. It cold not be found.

 

test:

BUILD FAILED

c:\workspace\apache-ant-1.8.3\bin\build.xml:6: Problem: failed to create task or type testing

Couse: The name is undefined.

Action: Check the spelling.

Action: Check that any custom tasks/types have been declared.

Action: Check that any <presetdef>/<macrode> declarations have taken place.

 

Total time: 0 seconds

 

а где у вас находиться testng.jar?

У меня есть батник, который должен запускать все тесты, в нём указаны такие  параметры, там есть и путь к testng.jar

 

set javaTestProjectPath=%~dp0
set TESTNGFILE=testng.xml
set path=C:/Program Files (x86)/Java/jre6/bin
set CLASSPATH=c:/workspace/Webdriver_Project/Webdriver_Project.jar
set SELENIUM_HOME=D:/work/Silenium/selenium-2.20.0/libs
set TESTNG_HOME=c:/eclipse/plugins/org.testng.eclipse_6.4.0.20120308_1617
set JUNIT_HOME=C:/eclipse/plugins/org.junit_4.8.2.v4_8_2_v20110321-1705

java -Dbrowser=*firefox -cp bin;%SELENIUM_HOME%/selenium-java-2.20.0.jar;%TESTNG_HOME%/lib/testng.jar;%JUNIT_HOME%/junit.jar org.testng.TestNG %* testng.xml

С Maven, в командной строке "mvn test" - решит вашу проблему.

У меня был опыт писать тесты без мавена, сейчас понимаю, потерял много времени на решение проблемы типа этой.

 

З.Ы (Так я запускал свои тесты "раньше"):

set ProjectPath=D:\auto_tst
echo %ProjectPath%
set classpath=%ProjectPath%\bin;%ProjectPath%\Lib\*
echo %classpath%
java org.testng.TestNG testng.xml

testng.xml:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd">
<suite name="Suite" parallel="none">
  <test name="Test" preserve-order="true">
    <classes>
      <class name="neck.be.test.BookingTest"/>
    </classes>
  </test> <!-- Test -->
</suite> <!-- Suite -->
 

ну так этот бантик работает или нет?

и этот бантик запускает тесты напрямую через testng.jar

а вопросы были об ant

похоже, что не работает, раз тесты не выполняются, я просто и через testng.jar пробовал и при помощи ant и никак не получается запустить тесты

как быть с linux ?
как запустить тест сюта на linux, используя ant?

можно ant или maven или напрямую через bash scripting

да могут быть особенности настройки этих инструментов

но подход остается таким же, как и был до этого

тесты запускаются удаленно на машине линукс

установил ант  на линукс
отдает ant -version

создал  run_suite.sh файл
в нём прописал команды

ant clean
ant compile
ant run
ant mail

дал права доступа файлу на выполнение

потом командой сrontab -e  настроил время выполнение файла  run_suite.sh, но странно тесты не запускаются
а если запускать вручную командами то  роботает, но при пересилке писем выкидывает

sendemail:
     [mail] Failed to send email: javax.mail.internet.MimeMessage

в класспас добавил .jarники mail, ant-javamail, activation
не мгу разобраться куда копать

 

а если запускать без ant mail, то все запускает и проходит?

и второе, можно посмотреть описание таргета ant mail?

на локальной машине все ок
письма приходят

на сервере
 

ругается на строку : 

sendemail:
     [mail] Failed to send email: javax.mail.internet.MimeMessage

BUILD FAILED
/var/www/ria_test/Java_ria/build.xml:116: java.lang.ClassNotFoundException: javax.mail.internet.MimeMessage

<mail mailhost="smtp.gmail.com" mailport="465" subject="Testing report " user="maksim.mazurkevych" password="pass" enableStartTLS="on" charset="utf-8" ssl="yes">
     

<target name="sendemail">
    <mail mailhost="smtp.gmail.com" mailport="465" subject="Testing report " user="maksim.mazurkevych" password="pass" enableStartTLS="on" charset="utf-8" ssl="yes">
      <from address="maksim.mazurkevych@gmail.com"/>
      <replyto address="maksim.mazurkevych@gmail.com"/>
      <to address="maksim.mazurkevych@gmail.com"/>
        <to address="demonister@gmail.com"/>
      <message>Test-suite was completed</message>
      <attachments>
        <fileset dir="${ws.home}/test-output">
          <include name="emailable-report.html"/>
        </fileset>
      </attachments>
        <attachments>
                <fileset dir="${ws.home}/XSLT_Reports/output">
                  <include name="overview.html"/>
                </fileset>
              </attachments>
        <attachments>
            <fileset dir="${ws.home}/src/logs">
                          <include name="Application.log">
                            </include>
            </fileset>
        </attachments>
        
        
    </mail>  
        </target>

 




 

а как вы jar добавляли?

вот ссылку вам в придачу

http://stackoverflow.com/questions/9178829/how-to-programmatically-add-ant-library-dependencies-for-mail-task

с джарами там все ок
письма отправляются

но сам вебдрайвер не запускается
   [testng] org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output:
   [testng] Error: no display specified

потому как настроить remote webdriver ?

public RemoteWebDriver getWebDriver() {
            if (driver == null) {
            DesiredCapabilities capability = DesiredCapabilities.firefox();
            try {
            driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capability);
            } catch (MalformedURLException e) {
            e.printStackTrace();
            }
            //driver = new EventFiringWebDriver(dr);
            driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
            }
            return driver;

}

//--------------------

FAILED: testcaseB2
org.openqa.selenium.remote.UnreachableBrowserException: Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure.



 

1. так с емейлами все хорошо? 

2. я так понимаю,  что вы хотите запустить тесты на удалленой машине? какая там ОСь? если это linux значит вам надо поднять вирутальный дисплей.

update: ответ скорее всего здесь http://automated-testing.info/forum/kak-nastroit-testy-na-servere