2014-02-13 3 views
0

В настоящее время у меня есть репетитор GitHub, который содержит 4 теста Selenium/Maven. Я могу запускать каждый тест по отдельности на моей локальной машине с помощью теста МВНАКак сделать Jenkins запустить мой тест Maven/Selenium GitHub

У меня Дженкинс работает также на моей локальной машине и создал Maven проект, чтобы вытащить мой GitHub Repository, выберите pom.xml в одном из test (P_ProfileChangeMavenTest), а затем выполнить тест в качестве моей цели maven.

Когда Jenkins запускает мой тест, он начинает работать, хотя мой проект maven, но не подтягивает браузер Firefox, чтобы взаимодействовать с моим тестом.

pom.xml

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 
    <groupId>com.test.profilechange</groupId> 
    <artifactId>Profile</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <name>Profile</name> 
    <description>PRofile</description> 
    <dependencies> 
     <dependency> 
      <groupId>junit</groupId> 
      <artifactId>junit</artifactId> 
      <version>4.11</version> 
      <scope>test</scope> 
     </dependency> 
     <dependency> 
      <groupId>org.seleniumhq.selenium</groupId> 
      <artifactId>selenium-java</artifactId> 
      <version>2.39.0</version> 
     </dependency> 
     <dependency> 
      <groupId>org.slf4j</groupId> 
      <artifactId>slf4j-api</artifactId> 
      <version>1.7.5</version> 
     </dependency> 
     <dependency> 
      <groupId>org.apache.maven.surefire</groupId> 
      <artifactId>surefire</artifactId> 
      <version>2.16</version> 
      <type>pom</type> 
     </dependency> 
    </dependencies> 
</project> 

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

вся помощь будет принята с благодарностью, так как мне нужно получить эту работу как можно скорее.

Спасибо, продвинутый!

+0

согласно вашей ошибке, он говорит, что «элемент не видимый исключение». давайте поговорим о Google. – sircapsalot

ответ

0

То, что я нашел для нас, работает с помощью testNg для запуска тестов. Мы создаем файл XML с различными тестами, которые мы хотим запустить, и мы используем

тест МВН -D TestNG = testname.xml

TestNG является большой рамка для тестирования интеграции стиля в то время как система тестирования Unit J больше предназначен для модульных испытаний.

Образец файла xml будет примерно таким.

<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd"> 
<suite name=" Report - Create New Report and Add Fields By Double Click and Filter by Right Clicking" parallel="none" verbose="1"> 
    <test verbose="1" name="is site available" preserve-order="true"> 
    <classes> 
     <class name="com.somecompany.qa.seleniumautomation.PucDD"> 
     <methods> 
      <include name="siteAvailable" /> 
     </methods> 
     </class> 
    </classes> 
    </test> 
    <test verbose="1" name="Login as 'admin' 'password'" preserve-order="true"> 
    <classes> 
     <class name="com.somecompany.qa.seleniumautomation.PucDD"> 
     <methods> 
      <parameter name="login.user" value="admin" /> 
      <parameter name="login.password" value="password" /> 
      <include name="login" /> 
     </methods> 
     </class> 
    </classes> 
    </test> 
    <test verbose="1" name="Create a new Report based on the provided data source" preserve-order="true"> 
    <classes> 
     <class name="com.somecompany.qa.seleniumautomation.Reports"> 
     <methods> 
      <parameter name="data.source.name" value="Orders" />  
      <include name="createNewReport"/> 
     </methods> 
     </class> 
    </classes> 
    </test> 
    <test verbose="1" name="Add the passed fields to the report by double clicking and add the passed filters by right clicking the field." preserve-order="true"> 
    <classes> 
     <class name="com.company.qa.seleniumautomation.Reports"> 
     <methods> 
      <parameter name="login.user" value="admin" /> 
      <parameter name="login.password" value="password" /> 
      <parameter name="fields" value="Customer Number,Customer Name,Order Date,Status,Shipped Date" /> 
      <parameter name="filterCriteria" value="Customer Number:lte=300,Customer Number:gte=150,Product Lines:contains=a" /> 
      <include name="addFilters"/> 
     </methods> 
     </class> 
    </classes> 
    </test> 
    <test verbose="1" name="Close the report" preserve-order="true"> 
    <classes> 
     <class name="com.company.qa.seleniumautomation.Reports"> 
     <methods> 
      <include name="close"/> 
     </methods> 
     </class> 
    </classes> 
    </test> 
</suite> 
+0

Это потребовало бы, чтобы я полностью изменил свой проект (на что я могу смотреть, но не желаю этого делать). Я думаю, что моя главная проблема - Дженкинс не запускает веб-браузер для запуска своего теста – user2683183

+0

@ user2683183 Используете ли вы Selenium RC или Web Driver? –

0

работа jenkins работает на собственном клиенте. он не имеет видимого интерфейса, поэтому вы не прошли тест.

вы должны изменить тестировать код для использования удаленного WebDriver или Selenium Grid

//need to start a selenium standalone server 
DesiredCapabilities capability = DesiredCapabilities.firefox(); 
WebDriver driver = new RemoteWebDriver(new URL("http://SERVER_ADDRESS:4444/wd/hub"), capability); 

сослаться на Selenium Grid Wiki для более detaisl

0

Если начать Jenkins с помощью командной строки, и если вы запускаете тесты, то вы можете увидеть запуск тестов в браузере.

Команды для запуска Jenkins с помощью командной строки: Java -jar jenkins.war

Надеется, что это помогает.

0

Попробуйте запустить его как администратор из командной строки, работал для меня.

0

Если вы на Windows:

1) .go в командной строке: типа "ЦМД"

2) .С Ctl + Shft + Enter (открыть как администратор)

3). Тип «Услуги.msc»

4).Он откроет службы Windows, выберите «Jenkins» Service, щелкните правой кнопкой мыши & и откройте вкладку «Вход в систему» ​​и выберите «Локальная системная учетная запись» и выберите «Разрешить службе взаимодействовать с рабочим столом».

enter image description here

5) .С OK.

6). Откроется диалоговое окно. Нажмите «Просмотр сообщения» в окне «Программа, запущенная на этом компьютере, пытается отобразить сообщение».

enter image description here

Теперь вы можете увидеть тесты, работающие на той же машине ... наслаждайтесь!

Смежные вопросы