t.me/atinfo_chat Telegram группа по автоматизации тестирования

Проблема с запуском тестов на удаленной машине через командную строку

gradle
selenoid
execution
selenide
java
testng
webdriver
Теги: #<Tag:0x00007f9c506c2ed0> #<Tag:0x00007f9c506c2d90> #<Tag:0x00007f9c506c2c50> #<Tag:0x00007f9c506c2a48> #<Tag:0x00007f9c506c2908> #<Tag:0x00007f9c506c27a0> #<Tag:0x00007f9c506c2638>

#1

(Selenide+Gradle+TestNG+Selenoid)
Добрый день,

Проблема (Вопрос) заключается в запуске тестов, написанных на Selenide+TestNG+Gradle, в Selenoid через командную строку.

Если все характеристики прописаны в @BeforeClass, никаких проблем нет, все бежит на selenoidu, например как:

    public  void Capabilities(){
        Configuration.remote = "http://ХХХХХХ/wd/hub";
        Configuration.browser = "chrome";
        Configuration.browserVersion= "68.0";
        Configuration.browserSize = "1280x1024";
        DesiredCapabilities capabilities = new DesiredCapabilities();
        capabilities.setCapability("enableVNC", true);
        Configuration.browserCapabilities = capabilities;
    }

Но желательно запускать через команду, поскольку в дальнейшем все бежит через pipeline в Jenkins.

И до этого проект был на maven, там все работало отлично через командную строку:
test -Dsurefire.suiteXmlFiles=TestClass.xml -Dselenide.remote=http://XXXXXX/wd/hub -Dcapabilities.enableVNC=true -Dcapabilities.screenResolution=1400x800x24 -Dcapabilities.browserName=chrome -Dcapabilities.version=68.0

Но к сожалению, когда запускаю тесты в Gradle, он не принимает во внимание удаленный адрес, и каждый раз тест бежит локалне.

Были испробованы иные комбинации, например:
Tasktest -Dremote=http://XXXXXXXX/wd/hub -Dselenide.browser=chrome -Dselenide.browserVersion=68.0
Но результат не поменялся, все время запускается на локальной машине.

Если у кого-нибудь сталкивался с этой проблемой или у кого-то уже все настроено без проблем с данными характеристики, пожалуйста, помогите, дайте совет.

Заранее благодарю.


(Борис Осипов) #2

Нужно gradle указать, чтобы он прокидывал переменные окружения.
Посмотреть как можно, например, тут https://github.com/vinogradoff/selenide101/blob/master/build.gradle#L15


#3

Огромное спасибо, сработало

task Test(type: Test) {
    systemProperty 'selenide.remote', System.getProperty('selenide.remote')
    useTestNG() {
        suites 'TestClass.xml'
    }
}