Отладка проектов в VisualStudio, упрощаем себе жизнь.

Zymlex

Moderator
Команда форума
Регистрация
24.10.2016
Сообщения
5 883
Благодарностей
3 041
Баллы
113

Porosenok

Client
Регистрация
26.09.2010
Сообщения
1 208
Благодарностей
77
Баллы
48
Удалил библиотеку System.Xml и добавил заново (другие не удалялись), результат
 

Adigen

Client
Регистрация
28.07.2014
Сообщения
828
Благодарностей
648
Баллы
93
Удалил библиотеку System.Xml и добавил заново (другие не удалялись), результат
Вам надо путь к библиотекам ZennoPoster поправить.
Вот эти удалите из сборки и добавьте заново из папки с постером:
Global.dll
ZennoLab.CommandCenter.dll
ZennoLab.InterfacesLibrary.dll

а System.Xml тут вообще не приделах.
 
  • Спасибо
Реакции: Porosenok

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 311
Благодарностей
1 176
Баллы
113
Я когда обновился под 5.11.4.0 у меня зеннопостер на процессе создания инстанса в VS 2017 крушил (закрывал без ошибки) консольное приложение, что ни 1 из многих способов не смог отловить эту ошибку. Аналогично было и в приложении Win forms - оно сразу закрывалось
Этот код не использовал, но как-то интересно стало что скрыто в либе, что так рушит всё на своем пути
 

Adigen

Client
Регистрация
28.07.2014
Сообщения
828
Благодарностей
648
Баллы
93
Я когда обновился под 5.11.4.0 у меня зеннопостер на процессе создания инстанса в VS 2017 крушил (закрывал без ошибки) консольное приложение, что ни 1 из многих способов не смог отловить эту ошибку. Аналогично было и в приложении Win forms - оно сразу закрывалось
Этот код не использовал, но как-то интересно стало что скрыто в либе, что так рушит всё на своем пути
Global.dll надо подключить и потом проинициализировать через GlobalSettings.Init
Тогда не будет падать.
 

surrealmix

Client
Регистрация
07.03.2013
Сообщения
716
Благодарностей
404
Баллы
63
Отлично, первая часть решена, остался project.
C project,ом чуть сложнее, он не поддерживает маршалинг, и на вскидку приходит 2 решения, или сделать прокси объект поддерживающий маршалинг, или делать себе локальную копию используя интерфейс.

Я остановился на 2м варианте, т.к. с маршалингом не возился и времени возиться не было, да и во время написания и дебага в студии, мне обычно не надо делать изменения в проекте.
Сделал я прокси для IZennoPosterProjectModel.
Крашится ProjectMaker после нескольких повторных обращений из VisualStudio.
Также при таком подходе в дебаггере невозможно смотреть содержимое project.
2017-08-05 (2).png
 
  • Спасибо
Реакции: Adigen

Adigen

Client
Регистрация
28.07.2014
Сообщения
828
Благодарностей
648
Баллы
93
Сделал я прокси для IZennoPosterProjectModel.
Крашится ProjectMaker после нескольких повторных обращений из VisualStudio.
Также при таком подходе в дебаггере невозможно смотреть содержимое project.
Посмотреть вложение 22527
Я думаю тут надо делать свою реализацию интерфейса IZennoPosterProjectModel c поддержкой маршалинга, которая будет просто заниматься переадресацией вызовов, и в PM пробовать запускать ее воркером, и затем из студии уже обращаться к ней но х.з. правильно думаю или нет, пока времени возиться нет :(.
 

shtift

Client
Регистрация
29.07.2015
Сообщения
148
Благодарностей
286
Баллы
63
лезем в доки зеннопостера, находим там возможность внешнего подключения к инстансу
А можете дать ссылку?
Что-то не могу найти где этот момент указан в доках.
 

sanyo

Client
Регистрация
29.06.2014
Сообщения
111
Благодарностей
43
Баллы
28
Пожалуйста, подскажите, кто какие либы использует для очень краткого описания сценариев во внешних программах (например вс студии) типа такого:


Код:
    Public Function Test()
        With AdvancedZPInstance.Create()
            .Navigate("https://passport.yandex.ru/registration/mail")
            .Find("firstname").SetValue("Name")
            .Find("lastname").SetValue("LastName")
            .Find("login").SetValue("a" & Rnd() * 100000)
            System.Threading.Thread.Sleep(1000)
            .Find("password").SetValue("password1")
            .Find("password_confirm").SetValue("password1")
            .FindByTag("label", "class", "human-confirmation-via-captcha").Click()
            .FindByTag("span", "class", "login__suggestedLogin").Click()
            .Find("hint_question_id").Click()
            .FindByTag("a", "class", "_nb-select-a").Click()
            .Find("hint_question").SetValue("Test")
            .Find("hint_answer").SetValue("Test")


        End With


Public Class AdvancedZPInstance
  Inherits ZennoLab.CommandCenter.Instance


  Sub New(URL As String, Port As Integer, Address As String)
  MyBase.New(URL, Port, Address)
  End Sub

  Public Shared Function Create() As AdvancedZPInstance
  [Global].[GlobalSettings].Init(IO.Path.Combine(Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData), "ZennoLab\ZennoPoster\5\Settings\globalsettings.settings"))
  Dim URL As String = "", Port As Integer, Address As String = ""
  ZennoPoster.GetNewInstance(URL, Port, Address)
  ZennoLab.CommandCenter.ZennoPoster.ShowInstance(URL, Port, Address)
  AdvancedHTMLElement.ZPI = New AdvancedZPInstance(URL, Port, Address)
  Create = AdvancedHTMLElement.ZPI
  End Function


  Public Function ClearCache()
  With Me
  .ClearCookie()
  .ClearCache()
  End With
  End Function

  Public Function Navigate(URL As String, Optional Referer As String = "")
  Dim Tab As Tab = Me.ActiveTab
  If ((Tab.IsVoid) Or (Tab.IsNull)) Then
  Return -1
  End If
  If (Tab.IsBusy) Then Tab.WaitDownloading()
  Tab.Navigate(URL, Referer)
  If (Tab.IsBusy) Then Tab.WaitDownloading()
  End Function
А то поди зря изобретаю велосипед?

Видел складчину:
https://skladchik.com/threads/zennoposter-Швейцарский-нож-разработчика.177992/

Но там вроде другое, кто какие либы еще знает?
 

shtift

Client
Регистрация
29.07.2015
Сообщения
148
Благодарностей
286
Баллы
63
Но там вроде другое, кто какие либы еще знает?
В либе по ссылке реализовано много методов расширения, что делает синтаксис описания шаблонов гораздо короче. В VB не силен, но, судя по всему, вы и хотите это получить.
 

sanyo

Client
Регистрация
29.06.2014
Сообщения
111
Благодарностей
43
Баллы
28
Пожалуйста, подскажите, аналогичено из Visual Studio можно автоматизировать ZennoDroid? У него похожая объектная модель и API?
 

Juniorcpa

Client
Регистрация
27.05.2014
Сообщения
2 141
Благодарностей
1 232
Баллы
113

AZANIR

Client
Регистрация
09.06.2014
Сообщения
406
Благодарностей
195
Баллы
43
пытался отлаживать гет пост запрос не пашет (.
 

AZANIR

Client
Регистрация
09.06.2014
Сообщения
406
Благодарностей
195
Баллы
43
я думал есть решение , без запуска самого постера , так как у меня постер на сервере , а на проджекте пишу проекты уже отдельно.
 

Adigen

Client
Регистрация
28.07.2014
Сообщения
828
Благодарностей
648
Баллы
93
я думал есть решение , без запуска самого постера , так как у меня постер на сервере , а на проджекте пишу проекты уже отдельно.
Есть, подключаем библиотеку xNet, и удивляемся, как-же мы раньше без нее слали запросы )
 

Adigen

Client
Регистрация
28.07.2014
Сообщения
828
Благодарностей
648
Баллы
93
куда в проджект или в студию.
В студии для отладки, в проджекте для работы, это библиотека для работы с запросами на C#, с открытым исходным кодом и поддержкой всех типов проксей.
https://github.com/X-rus/xNet

Имхо лучшее решение что есть для .net, хоть и давненько не обновлялась
 

radv

Client
Регистрация
11.05.2015
Сообщения
2 918
Благодарностей
1 509
Баллы
113
А еще можно формы на WinForms из VisualStudio перенести в ZennoPoster об этом статья в 9 конкурсе статей.
 
  • Спасибо
Реакции: Koqpe

Adigen

Client
Регистрация
28.07.2014
Сообщения
828
Благодарностей
648
Баллы
93
А еще можно формы на WinForms из VisualStudio перенести в ZennoPoster об этом статья в 9 конкурсе статей.
Только, имхо, их проще тогда в длл запихнуть и покойно из нее дергать.
 

radv

Client
Регистрация
11.05.2015
Сообщения
2 918
Благодарностей
1 509
Баллы
113
Только, имхо, их проще тогда в длл запихнуть и покойно из нее дергать.
Это почти тоже самое, что вручную форму делать. Все разновидности формы не запихаешь (или надо время на это потратить).
 

Ananaset Hurik

Новичок
Регистрация
11.02.2017
Сообщения
11
Благодарностей
1
Баллы
3
Adigen, есть ли версия под зенку 5.18.0.0 и новее? Как ввели ICookieContainer, так теперь не получается им пользоваться при дебаге. Было бы здорово, если бы скинул обновлённую версию.
 

Adigen

Client
Регистрация
28.07.2014
Сообщения
828
Благодарностей
648
Баллы
93
Adigen, есть ли версия под зенку 5.18.0.0 и новее? Как ввели ICookieContainer, так теперь не получается им пользоваться при дебаге. Было бы здорово, если бы скинул обновлённую версию.
У меня версия 5.12 дальше не обновлял, так что глянуть негде.

А так, я думаю, что вам надо просто обновить интерфейсы постера в студии и все, ctl + . и студия преложит добавить загушки для того чего не хватает.
 
Последнее редактирование:
  • Спасибо
Реакции: Ananaset Hurik

andrey-ka

Client
Регистрация
03.06.2018
Сообщения
833
Благодарностей
228
Баллы
43
Гениально!
Спасибо.
В 5.27 еще не появилась возможность подключаться к project напрямую?
 

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