В моем коде я запускаю несколько тестов, используя Appium и SeeTest.Io.Когда я запускаю код из Eclipse, он работает нормально и отправляет электронное письмо после теста.
package apptest;
import java.net.URL;
import java.util.Properties;
import javax.mail.MessagingException;
import javax.mail.internet.AddressException;
import org.openqa.selenium.By;
import org.testng.ITestResult;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.BeforeMethod;
import org.testng.annotations.Optional;
import org.testng.annotations.Parameters;
import org.testng.annotations.Test;
import com.experitest.appium.SeeTestClient;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.android.AndroidElement;
public class WP_Login extends BaseTest implements GlobalConstants {
protected AndroidDriver<AndroidElement> driver = null;
protected SeeTestClient client;
protected String ReportURL = System.getenv("ReportURL");
protected String TestName = System.getenv("testName");
@BeforeMethod
@Parameters("deviceQuery")
public void setUp(@Optional("@os='android'") String deviceQuery) throws Exception{
init(deviceQuery);
// Init application / device capabilities
/*dc.setCapability(MobileCapabilityType.APP, "cloud:com.consul.android.smartbeer.staging/com.whirlpool.ted.View.SplashActivity");
dc.setCapability(AndroidMobileCapabilityType.APP_PACKAGE, "com.consul.android.smartbeer.staging");
dc.setCapability(AndroidMobileCapabilityType.APP_ACTIVITY, "com.whirlpool.ted.View.SplashActivity");*/
dc.setCapability("testName", "wp_TED_Login");
dc.setCapability("deviceQuery",S8+"or"+S7+"or"+S6Edge+"or"+S7Edge);
//dc.setCapability("deviceQuery",androidnuvem);
driver = new AndroidDriver<>(new URL(getProperty("url",cloudProperties) +"/wd/hub"), dc);
client = new SeeTestClient(driver);
}
@Test
public void testeLogin() {
driver.installApp("cloud:com.consul.smartbeer/com.whirlpool.ted.View.SplashActivity");
client.launch("com.consul.smartbeer/com.whirlpool.ted.View.SplashActivity", false, true);
try{Thread.sleep(esperandogifinicial);} catch(Exception ignore){}
driver.findElement(By.xpath("//*[@text='Acesse sua conta']")).click();
driver.findElement(By.xpath("//*[@id='edEmail']")).sendKeys("tedmonitoramento@gmail.com");
driver.findElement(By.xpath("//*[@id='edPassword']")).sendKeys("Smart2000");
driver.findElement(By.xpath("//*[@text='Entrar']")).click();
}
/*@Test
public void testeLoginQA() {
driver.installApp("cloud:com.consul.android.smartbeer.staging/com.whirlpool.ted.View.SplashActivity");
client.launch("com.consul.android.smartbeer.staging/com.whirlpool.ted.View.SplashActivity", false, true);
try{Thread.sleep(esperandogifinicial);} catch(Exception ignore){}
driver.findElement(By.xpath("//*[@text='Acesse sua conta']")).click();
driver.findElement(By.xpath("//*[@id='edEmail']")).sendKeys("tedmonitoramento@gmail.com");
driver.findElement(By.xpath("//*[@id='edPassword']")).sendKeys("Smart2000");
driver.findElement(By.xpath("//*[@text='Entrar']")).click();
try{Thread.sleep(esperandogifinicial+2500);} catch(Exception ignore){}
driver.findElement(By.xpath("//*[@id='imgCart']")).click();
}*/
@AfterMethod
public void tearDown(ITestResult tr) throws AddressException, MessagingException{
driver.removeApp("com.consul.android.smartbeer.staging");
ReportURL = driver.getCapabilities().getCapability("reportUrl").toString();
TestName = "wp_TED_Login";
if (driver!=null)
{
Email e = new Email();
e.setMailServerProperties();
e.createEmailMessage(ReportURL, TestName);
e.sendEmail();
if (tr.isSuccess())
{
client.report("Test has passed", true);
}
else {
client.report("Test has failed", false);
}
System.out.println("report URL : " + driver.getCapabilities().getCapability("reportUrl"));
//System.getenv(driver.getCapabilities().getCapability("reportUrl"));
System.setProperty(ReportURL, driver.getCapabilities().getCapability("reportUrl").toString());
driver.quit();
}
}
}
Но когда я пытаюсь запуститьтот же код с использованием Jenkins, тесты не пройдены и дают мне такой результат
Iniciado pelo usu�rio Lucas Moreira dos Santos Construindo нет рабочей области C: \ Program Files (x86) \ Jenkins\ workspace \ TED_Login
git.exe rev-parse --is-inside-work-tree # timeout = 10 Извлечение изменений из конфигурации git.exe из удаленного репозитория Git remote.origin.url https://lar-whirlpool@bitbucket.org/whirlpooldigital/automated-testing.git
git.exe --version # timeout = 10 с использованием GIT_ASKPASS для установки учетных данных git.exe fetch --tags --progress https://lar-whirlpool@bitbucket.org/whirlpooldigital/automated-testing.git + refs / heads / : refs / remotes / origin / git.exe rev-parse "refs / remotes / origin / master ^ {commit}" # timeout = 10 git.exe rev-parse "refs / remotes / origin / origin / master ^ {commit}" # timeout = 10 Извлечение ревизии 29b14ff325d23e5efb59ed6a24c45b41422e6fa4 (refs / remotes / origin / master) git.exe config core.sparsecheckout # timeout = 10 git.exe checkout -f 29b14ff325d23e5efb59ed6a24c45b41422e6fa4 Сообщение о фиксации: "teste" git.exe rev-list --no-walk 2cef3325f58cc91f607b30543] - Запуск сборки.[TED_Login] $ cmd.exe / C '"" C: \ Program Files (x86) \ Jenkins \ workspace \ TED_Login \ gradlew.bat "' test --tests apptest.WP_Login.testeLogin && exit %% ERRORLEVEL %%" ЗапускGradle Daemon, 1 несовместимый и 3 остановленных демона не могут быть повторно использованы, используйте --status для деталей: compileJava NO-SOURCE: processResources NO-SOURCE: классы UP-TO-DATE: compileTestJavaC: \ Program Files (x86) \ Jenkins \рабочая область \ TED_Login \ src \ test \ java \ apptest \ Email.java: 5: ошибка: пакет javax.mail не существует import javax.mail.Message;^ C: \ Program Files (x86) \ Jenkins \ workspace \ TED_Login \ src \ test \ java \ apptest \ Email.java: 6: ошибка: пакет javax.mail не существует import javax.mail.MessagingException;^ C: \ Program Files (x86) \ Jenkins \ workspace \ TED_Login \ src \ test \ java \ apptest \ Email.java: 7: ошибка: пакет javax.mail не существует import javax.mail.Session;^ C: \ Program Files (x86) \ Jenkins \ workspace \ TED_Login \ src \ test \ java \ apptest \ Email.java: 8: ошибка: пакет javax.mail не существует import javax.mail.Transport;^ C: \ Program Files (x86) \ Jenkins \ workspace \ TED_Login \ src \ test \ java \ apptest \ Email.java: 9: ошибка: пакет javax.mail.internet не существует import javax.mail.internet.AddressException;^ C: \ Program Files (x86) \ Jenkins \ workspace \ TED_Login \ src \ test \ java \ apptest \ Email.java: 10: ошибка: пакет javax.mail.internet не существует import javax.mail.internet.InternetAddress;^ C: \ Program Files (x86) \ Jenkins \ workspace \ TED_Login \ src \ test \ java \ apptest \ Email.java: 11: ошибка: пакет javax.mail.internet не существует import javax.mail.internet.MimeMessage;FAILED
FAILURE: сборка завершилась с исключением.
Что пошло не так: не удалось выполнить задачу ': compileTestJava'.
Компиляция не удалась;подробности смотрите в сообщении об ошибке компилятора.
Попробуйте: Запустите с параметром --stacktrace, чтобы получить трассировку стека.Запустите с параметром --info или --debug, чтобы получить больше вывода журнала.Запустите с параметром --scan, чтобы получить полное представление.
Получите дополнительную помощь по https://help.gradle.org
СБОЙ СОСТАВЛЕНИЯ в 19 с 1 одно действенное задание: 1 выполненный шаг сборки«InvokeСценарий Gradle 'изменил результат сборки на FAILURE Шаг сборки' Invoke Gradle script 'помечал сборку как сбой Закончено: FAILURE
Я сомневаюсь: я должен что-то редактировать в build.gradle внутри Eclipse или есть какой-либо способимпортировать эту банку в Дженкинс?Потому что на Eclipse он отлично работает
Вот мой файл build.gradle
group 'com.experitest'
version '1.0-SNAPSHOT'
apply plugin: 'java'
apply plugin: 'eclipse'
sourceCompatibility = 1.8
repositories {
mavenCentral()
maven { url "https://cloud.experitest.com/repo" }
maven { url "http://repo.experitest.com:8010/Maven2/"}
mavenCentral()
}
dependencies {
compile(group: 'com.experitest', name: 'seetest-appium', version: '10.8')
compile 'com.experitest:manager-client:1.6'
compile group: 'org.testng', name: 'testng', version: '6.9.10'
compile 'org.hamcrest:hamcrest-library:1.3'
compile 'com.experitest:repo:1.1'
compile 'com.experitest:appium-seetest-extension:11.4'
}
test {
useTestNG()
}