Параллельное выполнение на нескольких устройствах с использованием концепции потоков Java

Я новичок в java. Пожалуйста помоги. У меня было требование, когда мне нужно выполнить один и тот же тестовый сценарий на нескольких устройствах в java. Также в требовании говорится, что мой код не должен выполняться только на одном устройстве, он должен инициировать один и тот же сценарий на нескольких устройствах одновременно.

Можно ли выполнить за один раз.

Примечание. Я подключил 3 устройства одновременно. Но он выполняет один и тот же сценарий одно за другим устройством.

Я использую сервер appium и testng

Пожалуйста, помогите .. Спасибо заранее.


person user6162630    schedule 30.04.2016    source источник


Ответы (2)


Вы можете попробовать что-то вроде:

public void startAppium() {
    //start appium instance
    try {
        Thread.sleep((long)(Math.random() * 10000)); //wait from 0 to 10 sec for parallel process run
        ProcessBuilder builder = new ProcessBuilder(getCmd());
        builder.redirectOutput("path to log file"); //here you can find logs of appium
        builder.redirectErrorStream(true);
        appium = builder.start();
        Thread.sleep(3000); //wait 3 sec until server started
    } catch (Exception e) {
        e.printStackTrace();
    }
}
person suulisin    schedule 30.04.2016
comment
Да, я понимаю, что этот код предназначен для запуска сервера, но теперь мне нужен пример кода, как выполнить один и тот же тестовый сценарий на нескольких устройствах одновременно. Пожалуйста, помогите - person user6162630; 30.04.2016

person    schedule
comment
пожалуйста, дайте мне знать, если это поможет вам - person suulisin; 30.04.2016
comment
Это помогает только для выполнения на одном устройстве... но мне нужно выполнить на нескольких устройствах - person user6162630; 30.04.2016
comment
Я горю вашим ответом.. но сервер был запущен только один раз.. это нормально.. Я сбит с толку, потому что до сих пор я думал, что нам нужно запускать несколько серверов для каждого устройства. - person user6162630; 30.04.2016
comment
пожалуйста, создайте столько драйверов WebDriver, сколько устройств вы хотите запустить, и код будет в порядке. - person suulisin; 30.04.2016
comment
Я имею в виду один сервер для одного устройства. - person user6162630; 30.04.2016
comment
попробуй это и дай посмотреть - person suulisin; 30.04.2016
comment
И еще я вижу, что после выполнения одного устройства оно выполняется в другом устройстве. Но мне нужно выполнять на всех реальных устройствах одновременно. - person user6162630; 30.04.2016
comment
Сухой, чтобы ошибаться. У вас есть только один сервер 4733. Но если мы будем работать на нескольких устройствах и передавать одни и те же желаемые возможности, это создаст проблему. - person user6162630; 30.04.2016
comment
пожалуйста, можете ли вы проголосовать, если это поможет вам. пока я тоже провожу некоторые тесты на своей стороне - person suulisin; 30.04.2016
comment
Это помощь только для запуска одного за другим устройства. Но мне нужно запустить несколько устройств за один раз, как мы используем концепцию потоковой передачи. - person user6162630; 30.04.2016
comment
Мне нужен пример кода, который может инициировать мое выполнение на всех устройствах одновременно. - person user6162630; 30.04.2016
comment
я тестирую это прямо сейчас и очень скоро обновлю ответ - person suulisin; 30.04.2016
comment
еще не нашел решения - person suulisin; 30.04.2016
comment
я не нашел решения - person user6162630; 30.04.2016
comment
пожалуйста, вы на Windows или Mac? - person suulisin; 30.04.2016
comment
я думаю о hack.let обернуть два сервера вокруг excutionService java.util.concurrency - person suulisin; 30.04.2016
comment
Хорошо... позвольте мне тоже попробовать. - person user6162630; 30.04.2016
comment
только что нашел это в их API и пытаюсь выяснить, что он делает ParallelThread parallelThread = new ParallelThread(); - person suulisin; 30.04.2016
comment
Вы получили какое-либо решение.? - person user6162630; 01.05.2016
comment
О, я думал, что у тебя есть решение, поэтому я прекратил исследования - person suulisin; 01.05.2016
comment
вы смотрели на ParallelThread parallelThread = new ParallelThread(); - person suulisin; 01.05.2016
comment
Можем ли мы пообщаться в скайпе, чтобы мы могли сотрудничать и решить проблему? - person suulisin; 01.05.2016
comment
У меня нет подключения к сети, и у меня есть только мобильная сеть - person user6162630; 01.05.2016
comment
У вас есть ссылка, чтобы проверить концепцию параллельного потока... чтобы я мог пройти через это? - person user6162630; 01.05.2016
comment
задайте вопрос на этом форуме discuss.appium.io/t/ appium-parallel-execution-grid/4375/50 - person suulisin; 01.05.2016
comment
и это тоже thoughtworks.com/insights/blog/speeding-test-execution -аппиум - person suulisin; 01.05.2016
comment
пожалуйста, расширьте этот класс сейчас AppiumParallelTest - person suulisin; 01.05.2016