После релиза версии 4.10 начались проблемы, на версии 4.9.1 работало нормально. Код по запуску:
@BeforeSuite
public void setup() {
ChromeDriverManager.getInstance().setup();
Configuration.browser = "chrome";
Configuration.timeout = 10000;
}
Что поменялось в новой версии?
asolntsev
(asolntsev)
16.Январь.2018 20:43:49
#2
Да вроде ничего такого.
А что значит “перестал запускать”? Вы же тестировщик, можете конкретнее? У нас вот хром запускается.
Кстати, вам первая строчка не нужна. Селенид делает это сам.
Молча запускает ФФ, не могу понять, что за магия такая
янв 16, 2018 10:53:14 PM com.codeborne.selenide.impl.WebDriverThreadLocalContainer getWebDriver
INFO: No webdriver is bound to current thread: 1 - let's create new webdriver
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
1516135997382 geckodriver INFO geckodriver 0.19.1
1516135997394 geckodriver INFO Listening on 127.0.0.1:41844
1516135999175 mozrunner::runner INFO Running command: "C:\\Program Files (x86)\\Mozilla Firefox\\firefox.exe" "-marionette" "-profile" "C:\\Users\\Schwarz\\AppData\\Local\\Temp\\rust_mozprofile.PGG0gdGpHdXE"
1516136003301 addons.manager DEBUG Application has been upgraded
1516136003330 addons.manager DEBUG Loaded provider scope for resource://gre/modules/addons/XPIProvider.jsm: ["XPIProvider", "XPIInternal"]
1516136003333 addons.manager DEBUG Loaded provider scope for resource://gre/modules/LightweightThemeManager.jsm: ["LightweightThemeManager"]
1516136003604 addons.manager DEBUG Loaded provider scope for resource://gre/modules/addons/GMPProvider.jsm
1516136003607 addons.manager DEBUG Loaded provider scope for resource://gre/modules/addons/PluginProvider.jsm
1516136003608 addons.manager DEBUG Starting provider: XPIProvider
1516136003608 addons.xpi DEBUG startup
asolntsev
(asolntsev)
16.Январь.2018 21:32:08
#4
А это случайно не та же проблема, которую сегодня в слаке активно обсуждали? https://github.com/codeborne/selenide/issues/672
asolntsev
(asolntsev)
16.Январь.2018 21:57:14
#6
Тогда нужно больше информации. Конкретный пример кода, который я мог бы запустить у себя и повторить проблему. В идеале - мини-проект на гитхабе. И всё это описать в github issue.
Запустить не выйдет, код привязан к закрытой Джире, могу кинуть пример класса и что я там использую. Вот тест:
@Test(groups = "issue_type_schemes")
public void createIssueTypeSchemeTest() {
// before test
header.goToIssueTypeSchemesPage();
issueTypeSchemes.removeIssueTypeSchemeIfExists();
// test
header.goToIssueTypeSchemesPage();
issueTypeSchemes.createIssueTypeScheme();
header.goToAuditorPage();
auditor.verifyIssueTypeSchemeAdded();
}
Вот класс с методами:
private SelenideElement permissionSchemeName = $(byText(ISSUE_TYPE_SCHEME_NAME));
private ElementsCollection schemesCollection = $$("#issuetypeschemes tbody tr");
private SelenideElement deleteSchemeButton = schemesCollection.findBy(text(ISSUE_TYPE_SCHEME_NAME))
.$(byText("Delete"));
private SelenideElement deleteConfirmButton = $("#delete_submit");
private SelenideElement createSchemeButton = $("#issuetype-scheme-add");
private SelenideElement schemeName = $(byName("name"));
private SelenideElement addAllTypesButton = $("#selectedOptionsAddAll");
private SelenideElement confirmCreateSchemeButton = $("#submitSave");
public static final String ISSUE_TYPE_SCHEME_NAME = "Example_issue_type_scheme";
public void removeIssueTypeSchemeIfExists() {
if (permissionSchemeName.exists()) {
deleteIssueTypeScheme();
}
}
private void deleteIssueTypeScheme() {
deleteSchemeButton.click();
deleteConfirmButton.click();
}
public void createIssueTypeScheme() {
createSchemeButton.click();
schemeName.setValue(ISSUE_TYPE_SCHEME_NAME);
addAllTypesButton.click();
confirmCreateSchemeButton.click();
}
И класс с методом для проверки (verifyData это тоже самое, что auditor.verifyIssueTypeSchemeAdded()):
public class Auditor {
private ElementsCollection confirmData = $$("#event-table tbody tr");
private SelenideElement cleanLogButton = $("#cleanLogButton");
private SelenideElement confirmCleanLogButton = $("#confirmDelete");
public void verifyData(String summaryType, String objectName) {
try {
confirmData.first().shouldHave(text(summaryType))
.shouldHave(text(objectName));
} catch (ElementShould ex) {
Selenide.refresh();
confirmData.first().shouldHave(text(summaryType))
.shouldHave(text(objectName));
}
}
header.goToAuditorPage(); // это просто open(адрес ссылки)
У меня вчера тоже была проблема с запуском тестов на 4.10 Помогло следующее: удалил папку “…m2\repository\com\codeborne\selenide” в локальном репозитории. Потом maven/update project, и всё заработало…