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

Удалил библиотеку System.Xml и добавил заново (другие не удалялись), результат
mDUbXZ.png
 
Удалил библиотеку System.Xml и добавил заново (другие не удалялись), результат
mDUbXZ.png
Вам надо путь к библиотекам ZennoPoster поправить.
Вот эти удалите из сборки и добавьте заново из папки с постером:
Global.dll
ZennoLab.CommandCenter.dll
ZennoLab.InterfacesLibrary.dll

а System.Xml тут вообще не приделах.
 
  • Спасибо
Реакции: Porosenok
Я когда обновился под 5.11.4.0 у меня зеннопостер на процессе создания инстанса в VS 2017 крушил (закрывал без ошибки) консольное приложение, что ни 1 из многих способов не смог отловить эту ошибку. Аналогично было и в приложении Win forms - оно сразу закрывалось
Этот код не использовал, но как-то интересно стало что скрыто в либе, что так рушит всё на своем пути
 
Я когда обновился под 5.11.4.0 у меня зеннопостер на процессе создания инстанса в VS 2017 крушил (закрывал без ошибки) консольное приложение, что ни 1 из многих способов не смог отловить эту ошибку. Аналогично было и в приложении Win forms - оно сразу закрывалось
Этот код не использовал, но как-то интересно стало что скрыто в либе, что так рушит всё на своем пути
Global.dll надо подключить и потом проинициализировать через GlobalSettings.Init
Тогда не будет падать.
 
Отлично, первая часть решена, остался project.
C project,ом чуть сложнее, он не поддерживает маршалинг, и на вскидку приходит 2 решения, или сделать прокси объект поддерживающий маршалинг, или делать себе локальную копию используя интерфейс.

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


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

Но там вроде другое, кто какие либы еще знает?
 
Но там вроде другое, кто какие либы еще знает?
В либе по ссылке реализовано много методов расширения, что делает синтаксис описания шаблонов гораздо короче. В VB не силен, но, судя по всему, вы и хотите это получить.
 
Пожалуйста, подскажите, аналогичено из Visual Studio можно автоматизировать ZennoDroid? У него похожая объектная модель и API?
 
пытался отлаживать гет пост запрос не пашет (.
 
я думал есть решение , без запуска самого постера , так как у меня постер на сервере , а на проджекте пишу проекты уже отдельно.
 
я думал есть решение , без запуска самого постера , так как у меня постер на сервере , а на проджекте пишу проекты уже отдельно.
Есть, подключаем библиотеку xNet, и удивляемся, как-же мы раньше без нее слали запросы )
 
куда в проджект или в студию.
В студии для отладки, в проджекте для работы, это библиотека для работы с запросами на C#, с открытым исходным кодом и поддержкой всех типов проксей.
https://github.com/X-rus/xNet

Имхо лучшее решение что есть для .net, хоть и давненько не обновлялась
 
А еще можно формы на WinForms из VisualStudio перенести в ZennoPoster об этом статья в 9 конкурсе статей.
 
  • Спасибо
Реакции: Koqpe
А еще можно формы на WinForms из VisualStudio перенести в ZennoPoster об этом статья в 9 конкурсе статей.
Только, имхо, их проще тогда в длл запихнуть и покойно из нее дергать.
 
Только, имхо, их проще тогда в длл запихнуть и покойно из нее дергать.
Это почти тоже самое, что вручную форму делать. Все разновидности формы не запихаешь (или надо время на это потратить).
 
Adigen, есть ли версия под зенку 5.18.0.0 и новее? Как ввели ICookieContainer, так теперь не получается им пользоваться при дебаге. Было бы здорово, если бы скинул обновлённую версию.
 
Adigen, есть ли версия под зенку 5.18.0.0 и новее? Как ввели ICookieContainer, так теперь не получается им пользоваться при дебаге. Было бы здорово, если бы скинул обновлённую версию.
У меня версия 5.12 дальше не обновлял, так что глянуть негде.

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

Вложения

  • image.png
    image.png
    299,7 KB · Просмотры: 562

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