Как увидеть все запущенные 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 открытых Инстанса и что в них делается?

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


Код:
Развернуть Свернуть Копировать
instances[i].Launch(BrowserType.Firefox52, true);
                instances[i].NewTab("tab").Navigate("https://www.google.com.ua");

Ничего не изменилось.
 
Переписал половину кода таким образом чтобы в каждом из Инстансов считывалась определенная информация с открытых в Инстансах табах. Вот код:

Код:
Развернуть Свернуть Копировать
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
"

Мне кажется Инстансы все же не запускаются. Что я делаю не так?
 
Мне кажется Инстансы все же не запускаются. Что я делаю не так?
Вставьте код в 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
Лицезрейте 5 открытых инстанса :bt:

Благодарю за попытку, но не лицезрееться что-то. Все выставил и мимо, ничего не изменилось. Пойду покопаюсь в настройках ЗенноПостера (спасибо за намёк).

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

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


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

А теперь к сути.
Во-первых нужно в метод "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 не изменяется, то есть нужно самостоятельно генерить новый профиль если это необходимо.

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

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