Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

Selenide 4.10 перестал запускать Chrome, новые изменения в версии

selenide
Теги: #<Tag:0x00007fedb835a748>

(Vitaliy Schwarz) #1

После релиза версии 4.10 начались проблемы, на версии 4.9.1 работало нормально. Код по запуску:

@BeforeSuite
  public void setup() {
    ChromeDriverManager.getInstance().setup();
    Configuration.browser = "chrome";
    Configuration.timeout = 10000;
  }

Что поменялось в новой версии?


(asolntsev) #2

Да вроде ничего такого.
http://ru.selenide.org/2018/01/12/selenide-4.10/

А что значит “перестал запускать”? Вы же тестировщик, можете конкретнее? У нас вот хром запускается.

Кстати, вам первая строчка не нужна. Селенид делает это сам.


(Vitaliy Schwarz) #3

Молча запускает ФФ, не могу понять, что за магия такая

янв 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) #4

А это случайно не та же проблема, которую сегодня в слаке активно обсуждали? https://github.com/codeborne/selenide/issues/672


(Vitaliy Schwarz) #5

нет )


(asolntsev) #6

Тогда нужно больше информации. Конкретный пример кода, который я мог бы запустить у себя и повторить проблему. В идеале - мини-проект на гитхабе. И всё это описать в github issue.


(Vitaliy Schwarz) #7

Запустить не выйдет, код привязан к закрытой Джире, могу кинуть пример класса и что я там использую. Вот тест:

@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));
    }
  }

(Vitaliy Schwarz) #8
header.goToAuditorPage(); // это просто open(адрес ссылки)

(Artur Korobeynyk) #9

(Сергей Горелов) #11

У меня вчера тоже была проблема с запуском тестов на 4.10 Помогло следующее: удалил папку “…m2\repository\com\codeborne\selenide” в локальном репозитории. Потом maven/update project, и всё заработало…