Как увидеть все запущенные Instance'ы?

Adamastor

Client
Регистрация
15.05.2016
Сообщения
282
Благодарностей
14
Баллы
18
Здравствуйте уважаемое сообщество!

Купил Standart версию программы и сразу захотелось потестить. Написал простенький код для запуска 5-ти Инстансов:

Код:
public class InstancesTest
    {
        public static void Make5Instances() {
            var url = "";
            var port = 0;
            var address = "";
            var instances = new List<Instance>();
           
            for (int i = 0; i < 4; i++) {
                // Gets parameters of instance
                ZennoPoster.GetNewInstance(out url, out port, out address);
                // Create new instance
                instances.Add(new Instance(url, port, address));
                instances[i].ActiveTab.Navigate("https://www.google.com");
               
                Log.SendInfoToLog("url - "+ url +" ; port - "+ port +" ; address - "+ address);
               
            }
           
            Thread.Sleep(20000);
        }
    }

При попытке его запуска в ZennoPoster'е с включенным показом Инстансов открывается только первый. Все остальные либо не запускаются, либо не видны в ZennoPoster'е.

В Лог пишет все 5 инстансов: "
url - 127.0.0.1 ; port - 173711250 ; address - server
url - 127.0.0.1 ; port - 1619888618 ; address - server
url - 127.0.0.1 ; port - 1186934956 ; address - server
url - 127.0.0.1 ; port - 860594726 ; address - server
url - 127.0.0.1 ; port - 1719344181 ; address - server
"

Подскажите пожалуйста правильно ли я пытаюсь создать новый Инстанс? Если правильно, тогда как сделать так чтобы я имел честь лицезреть все 5 открытых Инстанса и что в них делается?

Заранее благодарен за помощь! С уважением, Олег.
 

Adamastor

Client
Регистрация
15.05.2016
Сообщения
282
Благодарностей
14
Баллы
18
Заменил соответствующие строчки на:


Код:
instances[i].Launch(BrowserType.Firefox52, true);
                instances[i].NewTab("tab").Navigate("https://www.google.com.ua");
Ничего не изменилось.
 

Adamastor

Client
Регистрация
15.05.2016
Сообщения
282
Благодарностей
14
Баллы
18
Переписал половину кода таким образом чтобы в каждом из Инстансов считывалась определенная информация с открытых в Инстансах табах. Вот код:

Код:
public class InstancesTest
    {
        public static void Make5Instances() {
            var url = "";
            var port = 0;
            var address = "";
            var instances = new List<Instance>();
            var innerText = "";
           
            for (int i = 0; i < 4; i++) {
                // Gets parameters of instance
                ZennoPoster.GetNewInstance(out url, out port, out address);
                // Create new instance
                instances.Add(new Instance(url, port, address));
               
                instances[i].Launch(BrowserType.Firefox45, true);
                instances[i].NewTab("tab").SetActive();
                instances[i].ActiveTab.Load("https://browserleaks.com/webgl");
                innerText = instances[i].ActiveTab.FindElementById("webgl-fp-context").InnerText;
               
                Log.SendInfoToLog("url - "+ url +" ; port - "+ port +" ; address - "+ address +" ; innerText - "+ innerText);
            }
           
//            GV.inst.NewTab("tab").SetActive();
//            GV.inst.ActiveTab.Load("https://browserleaks.com/webgl");
//            innerText = GV.inst.ActiveTab.FindElementById("webgl-fp-context").InnerText;
//            GV.proj.SendInfoToLog("url - "+ url +" ; port - "+ port +" ; address - "+ address +" ; innerText - "+ innerText);
           
            Log.SendInfoToLog(" ");
            Thread.Sleep(20000);
        }
    }

В Лог вывело следующее:
"
url - 127.0.0.1 ; port - 1081024844 ; address - server ; innerText - n/a
url - 127.0.0.1 ; port - 562911723 ; address - server ; innerText - n/a
url - 127.0.0.1 ; port - 1932046149 ; address - server ; innerText - n/a
url - 127.0.0.1 ; port - 1865035 ; address - server ; innerText - n/a
"

Мне кажется Инстансы все же не запускаются. Что я делаю не так?
 

Koqpe

Client
Регистрация
23.12.2014
Сообщения
1 100
Благодарностей
649
Баллы
113
Мне кажется Инстансы все же не запускаются. Что я делаю не так?
Вставьте код в C# кубик:
Код:
Tab tab = instance.ActiveTab;

tab.Navigate("https://docs.microsoft.com/ru-ru/dotnet/csharp/");

Thread.Sleep(100000);
Выставьте настройки в зеннопостере:
ZennoPoster_2018-11-15_08-51-22.png
Лицезрейте 5 открытых инстанса :bt:
 
  • Спасибо
Реакции: Adamastor

Adamastor

Client
Регистрация
15.05.2016
Сообщения
282
Благодарностей
14
Баллы
18
Лицезрейте 5 открытых инстанса :bt:
Благодарю за попытку, но не лицезрееться что-то. Все выставил и мимо, ничего не изменилось. Пойду покопаюсь в настройках ЗенноПостера (спасибо за намёк).

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

Dr.Pipetka

Client
Регистрация
12.12.2017
Сообщения
1 236
Благодарностей
804
Баллы
113
upload_2018-11-15_4-40-2.png

Нажимаешь кнопик, сворачиваешь окна(тк инстансы отображаются на заднем плане).
Если не помогло, перезапусти зенку. Код приведенный выше должен работать. Мб макс потоков стоит 1?
 
  • Спасибо
Реакции: Adamastor

Adamastor

Client
Регистрация
15.05.2016
Сообщения
282
Благодарностей
14
Баллы
18
Благодарю всех за участие.


Нажимаешь кнопик
Было нажато, к счастью с этим уже был знаком.

А теперь к сути.
Во-первых нужно в метод "ZennoPoster.GetNewInstance(out url, out port, out address, BrowserType.Firefox52);" вбивать четвертым параметром браузер который мы хотим открыть. По дефолту открывает FF45 у которого WebGL не считывается, поэтому-то в лог и писалось значение n/a.

Во-вторых для того чтобы Инстансы демонстрировались при включенной кнопке "Показать/скрыть инстансы" необходимо в код добавить строчку "ZennoPoster.ShowInstance(url, port, address);"

Итого рабочий код выглядит так:
Код:
public class InstancesTest
    {
        public static void Make5Instances() {
            var url = "";
            var port = 0;
            var address = "";
            var instances = new List<Instance>();
            var innerText = "";
           
            for (int i = 0; i < 3; i++) {
                // Gets parameters of instance
                ZennoPoster.GetNewInstance(out url, out port, out address, BrowserType.Firefox52);
                // Show the instance
                ZennoPoster.ShowInstance(url, port, address);
                // Create new instance
                instances.Add(new Instance(url, port, address));
               
                instances[i].Launch(BrowserType.Firefox52, false);
                instances[i].NewTab("tab").SetActive();
                instances[i].ActiveTab.Load("https://browserleaks.com/webgl");
                innerText = instances[i].ActiveTab.FindElementById("webgl-fp-context").InnerText;
               
                Log.SendInfoToLog("url - "+ url +" ; port - "+ port +" ; address - "+ address +" ; innerText - "+ innerText);
            }
           
            Log.SendInfoToLog(" ");
            Thread.Sleep(20000);
        }
    }

Правда есть нюанс "instances.Launch(BrowserType.Firefox52, false);" хотя значение "useProfile" и false но вывод лога показывает что как минимум WebGL Report Hash не изменяется, то есть нужно самостоятельно генерить новый профиль если это необходимо.

Еще раз всем спасибо за участие! Проблема решена.
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)