Skip to content
This repository has been archived by the owner on Jun 1, 2022. It is now read-only.

Can't add an element in swd #57

Open
DaymaNKinG990 opened this issue Jun 27, 2018 · 11 comments
Open

Can't add an element in swd #57

DaymaNKinG990 opened this issue Jun 27, 2018 · 11 comments

Comments

@DaymaNKinG990
Copy link

DaymaNKinG990 commented Jun 27, 2018

Привет Дим!) Hi dear dev. I found a bug in 2018. When i trying to add element, then it doesn't work. I don't know why. I updated chromedriver to latest version. So, mybe you can check it.

@DaymaNKinG990
Copy link
Author

DaymaNKinG990 commented Jun 27, 2018

  • что я заметил, когда я пытаюсь добавить элемент, он не добавляется и не появляется в поле PageObject File, то есть элемент должен появляться под ним, но он не появляется. Я не знаю с чем это связанно, но мне бы очень помог бы в работе ваш софт. Очень надеюсь, что Вы вскоре прочтете мое сообщение и перепроверите свой билд SWD. + когда я кликаю Ctrl + RightClick, то элемент не появляется по PageObject, а уходит в поле Web Browser.
    image
    Мое предположение с чем это связанно, так это старая версия ВебДрайвера, в вашем билде стоит 3.6.0, хотя последняя уже 3.13.0. Я пытался отредактировать ваш WebDriver.dll, и изменить версию драйвера, но ничего не получилось. Баг остался.

@dzharii
Copy link
Owner

dzharii commented Jun 27, 2018

Привет @DaymaNKinG990, спасибо за баг-репорт,
пожалуйста, попробуйте свежую версию тут:

https://github.com/dzharii/swd-recorder/releases (SWD PageRecorder 28 JUN 2018 v3.13.0)

@DaymaNKinG990
Copy link
Author

Спасибо большое, @dzharii ! Обязательно завтра на работе опробую новую версию)))

@DaymaNKinG990
Copy link
Author

DaymaNKinG990 commented Jun 28, 2018

И снова привет! @dzharii у меня снова трабла, я уже не совсем понимаю почему, но у меня на работе все также остался баг, хотя вчера вечером из дома я тестил обновленный билд, и он работал, с чем связанно тут, я конкретно сказать не могу, как то очень странно. Он все также копирует в Веб Элементы.

П.С. Обнаружил что через Firefox все работает, возможно что-то с Chrome. Попробую выяснить.

@DaymaNKinG990
Copy link
Author

Загрузил видеоролик в зипе. Конечно это не детальная инфа, но в Хроме не работает почему то, хотя дома работало, а вот Фаерфоксе все работает нормально.

bandicam 2018-06-28 12-36-47-336.zip

@dzharii
Copy link
Owner

dzharii commented Jun 29, 2018

@DaymaNKinG990 тут вот я мало чем могу помочь, разве что могу рекомендовать работать в FireFox ;)
Причина может быть в политике безопасности Windows или самого Chtome. Какие именно настройки за это отвечают -- я не могу сказать. Если вы попробуете открыть инструменты разработчика Chtome, то там в Console скорее всего будет ошибка (это не простая задача, потому что WebDriver будет пытаться эту панель закрыть, действовать нужно быстро :D).

Еще у PageRecorder есть логи в папке logs , может быть там есть что-то интересное? (Exception / Error). Но да, если что-то работает в одном браузере, но не работает в другом -- это на 99% связано с настройками безопасности браузера.

@DaymaNKinG990
Copy link
Author

@dzharii Я вас понял, спасибо, постараюсь максимально выяснить)

@DaymaNKinG990
Copy link
Author

В логах ничего не нашел.

@dzharii
Copy link
Owner

dzharii commented Jun 29, 2018

@DaymaNKinG990

Если это поможет, то вот как этот "хак" с передачей элемента и браузера работает:
Есть браузерный скрипт, который пишет в переменную (в браузере) document.swdpr_command
SwdPageRecorder_v3.13.0.2018.06.28\JavaScript\ElementSearch.js

  createCommand = function(jsonData) {
    var myJSONText;
    hello("createCommand");
    myJSONText = JSON.stringify(jsonData, null, 2);
    document.swdpr_command = myJSONText; // <=== THIS
    return bye("createCommand");
  };

и есть код на стороне десктопного приложения, который эту переменную читает.
Может случится, что либо скрипт не может записать значение (т.е. он выполняется. но значение document.swdpr_command для активного документа не меняется), либо десктнопное приложение (Webdriver) не может получить доступ к этой переменной и получает null/undefined при чтении. Это как раз может быть ограничено настройками безопасности, или, например, антивирусом

@DaymaNKinG990
Copy link
Author

@dzharii Да, кажется я понял, скорее антивирус, надо будет глянуть, спасибо за ответ)

@DaymaNKinG990
Copy link
Author

DaymaNKinG990 commented Jul 2, 2018

У меня вопрос @dzharii ! А получается этот рекордер, по мимо того что показывает путь к веб элементу и создает page object. Так поэтому page object можно генерировать Java файл. И насколько понял он делает проверку этих элементов через Assert, и в итоге получается как юнит тестирование, я правильно понял?

П.С. Я извиняюсь, мисс кликнул.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants