возникают проблемы с моими тестами java на Cucumber, когда я запускаю их через jenkins на удаленном хосте.
Мой код:
step:
Учитывая открытую ссылку из свойства "bla-blalink "И введите для ввода с именем" UserName "свойство:" login "на" LoginPage "
элемент:
@NameOfElement("UserName")
@FindBy(id = "UserName")
public SelenideElement username;
step def:
@And("^type to input with name \"([^\"]*)\" property: \"([^\"]*)\" on \"([^\"]*)\"$")
public void typeToInputWithNamePropertyOn(String nameOfElement, String property, String page) throws InterruptedException, IOException {
sleep(5000);
Properties properties = new Properties();
try (FileReader fileReader = new FileReader(Constants.PROPERTY_PATH)) {
properties.load(fileReader);
}
if ("LoginPage".equals(page)) {
loginPage.get(nameOfElement).sendKeys(properties.getProperty(property));
} else if ("MainPage".equals(page)) {
mainPage.get(nameOfElement).sendKeys(properties.getProperty(property));
} else if ("ActionPage".equals(page)) {
actionPage.get(nameOfElement).sendKeys(properties.getProperty(property));
}
}
настройка:
@BeforeClass
static public void setupTimeout() {
/////////////////////////////////for remote runs////////////////////////////////
// Configuration.remote = "http://10.52.185.105:4419/wd/hub";
// Configuration.browser = "chrome";
// DesiredCapabilities capabilities = new DesiredCapabilities();
// capabilities.setBrowserName("chrome");
// capabilities.setCapability(ACCEPT_SSL_CERTS, true);
// WebDriver wd = new RemoteWebDriver(new URL("http://10.52.185.105:4419/wd/hub"), capabilities);
// setWebDriver(wd);
///////////////////////////////////for local runs////////////////////////////
Configuration.timeout = 10000;
System.setProperty("webdriver.chrome.driver", "src/main/resources/webdrivers/chromedriver.exe");
Configuration.browser = "chrome";
Что я попробовал: он работает локально, работает на удаленной машине (без jenkins), изменяет размер окна - не помогает изменить сон на 35000ms - не помогает
наши jenkins не были запущены как служба, поэтому я не знаю, как разрешитьдля взаимодействия с элементами
вывод:
ИСПЫТАНИЯ
Запуск ru.open.runners.BusinessPortalTest июн 13, 2018 9:55:27 com.codeborne.selenide.impl.WebDriverThreadLocalContainer getWebDriver ИНФОРМАЦИЯ: к текущему потоку не привязан ни один веб-драйвер: 1 - давайте создадим новый веб-драйвер Начиная с ChromeDriver 2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb) на порту 5610 разрешены только локальные подключения.июн 13, 2018 9:55:31 AM org.openqa.selenium.remote.ProtocolHandshake createSession INFO: обнаруженный диалект: OSS июн 13, 2018 9:55:33 com.codeborne.selenide.webdriver.WebDriverFactory logBrowserVersion INFO: BrowserNameChrome Версия = 67.0.3396.87 Платформа = XP июн 13, 2018 9:55:33 com.codeborne.selenide.webdriver.WebDriverFactory createWebDriver ИНФОРМАЦИЯ: Selenide v. 4.11.4 июн 13, 2018 9:55:33 com.codeborne.selenide.webdriver.WebDriverFactory logSeleniumInfo ИНФОРМАЦИЯ: Selenium WebDriver v. 3.12.0 время сборки: 2018-05-08T14: 04: 26.12Z 13 июня 2018 9:55:33 com.codeborne.selenide.impl.WebDriverThreadLocalContainer INFD create: Создание веб-драйвера в текущем потоке 1: ChromeDriver -> ChromeDriver: chrome в XP (9879008c2825cc8b84a452e24010d66d)
Сбойные сценарии: businessportaltest.feature: 440 # Сценарий: изменение номера телефона
157222 (платежное поручение)
1 Сценарии (1 сбой) 29 шагов (1 сбой, 27 пропущен, 1 пройден) 0m18.951s
java.lang.IllegalArgumentException: ОШИБКА: на странице ru.open.pageobjects.businessportal.LoginPage нет такого элемента с именем Имя пользователя на ru.open.pageobjects.AbstractPage.get (AbstractPage.java:27)at ru.open.steps.MyStepdefs.typeToInputWithNamePropertyOn (MyStepdefs.java:63) at?. И введите имя с именем «Имя пользователя» свойство: «login» в «LoginPage» (businessportaltest.feature: 443)
удаленный компьютер - Windows Server 2012R