Я Selenide плохо знаю, конечно, но я не вижу в этом коде никаких намеков на инициализацию браузера. Может я просто не понимаю чего-то?
Где у Вас браузер инициализируется?
Написано TatyanaV 26 июня 2019 - 05:39
Я Selenide плохо знаю, конечно, но я не вижу в этом коде никаких намеков на инициализацию браузера. Может я просто не понимаю чего-то?
Где у Вас браузер инициализируется?
Написано TatyanaV 25 июня 2019 - 13:16
Сложно сказать без кода, особенно - того места, где Вы браузер инициализируете.
Проблема не в xml - а в самом коде.
Вы пытаетесь запустить свои тесты в три потока, но браузер, судя по ошибке, объявляете так, что тесты его только в одном потоке видят.
Написано TatyanaV 18 марта 2019 - 10:24
У Вас onclick не на инпуте, а на лейбле.
При этом, сама отметка на радиобаттоне тоже ставится этим же onclick'ом (<label for="ID_DELIVERY_ID_41" onclick="BX('ID_DELIVERY_ID_41').checked=true; submitForm();">).
Попробуйте кликать по '#ID_DELIVERY_ID_41+label' (cssLocator).
Либо по '//*[@id='ID_DELIVERY_ID_41']/../label]' (xpath).
Или '//*[@id='ID_DELIVERY_ID_41']/following-sibling::label]' (xpath)
Написано TatyanaV 26 февраля 2019 - 09:25
Сначала фактический (что же произошло в результате указанных шагов), потом ожидаемый (что должно было быть и почему).
Написано TatyanaV 25 февраля 2019 - 13:35
Альтернативный вариант:
if (driver.findElements(<локатор первого элемента>).size() > 0) {
<какие-нибудь ожидания, если нужно>
driver.findElement(<локатор первого элемента>).click();
} else driver.findElement(<локатор второго элемента>).click();
п.с.: findElements эксепшенов не кидает, если ничего не нашел, просто возвращает пустой List, поэтому try/catch тут не требуется.
Написано TatyanaV 18 января 2019 - 12:08
Два варианта:
1. findElements не падает с эксепшеном, даже если элементы с таким локатором не найдены - просто возвращает пустой список. Соответственно:
ArrayList<WebElement> selectUserOwners = driver.findElements(By.xpath("/html/body/div[6]/div[2]/div/form/div[1]/table/tbody/tr/td[2]/div[2]/div/div[4]/div/div/div[2]/a"));
if (selectUserOwners.size() > 0) selectUserOwners.get(0).click();
2. Обернуть оба "элемента" в try { <поиск элемента и клик> } catch (NoSuchElementException e) {}
п.с.: локаторы - адские просто. Максимально нестабильные из всех, которые только могут придти в голову :).
п.п.с: если списки влияют друг на друга (выбираете значение в одном - обновляются значения в другом) - то надо бы добавить ожидания (ExpectedConditions).
Написано TatyanaV 15 октября 2018 - 08:21
Как вариант - сделать статический список с линками (например, назвать его alreadyChecked).
Проверили линк - добавили в alreadyChecked.
Начали снова проверять набор линков - для каждого сначала смотрите, нет ли линка, который хотите проверить в alreadyChecked. Если есть - пропускаете, если нет - проверяете и добавляете.
п.с.: Java и Python - это разные языки программирования. Если выбрали Java, то Python Вам при описанном выше раскладе - не нужен вообще.
Написано TatyanaV 08 октября 2018 - 09:45
Я бы прошла дебаггером прямо по шагам.
1. Так и задумано, что из изначального массива элементы при !result кладутся сразу в оба списка (и тот, что содержит элементы, которые уже есть, и в тот, где элементы, которые надо подождать)?
2. У Вас изначально два массива, перебор идет по длине allControlsToCheck, условие также по allControlsToCheck, а элементы добавляете в т.ч. из allСontrolsToEnable. Почему если allControlsToCheck[x] присутствует, то запомнить надо не только этот элемент, но и allСontrolsToEnable[x], хотя это скорее всего совершенно разные элементы? Какая тут связь?
Написано TatyanaV 17 сентября 2018 - 10:05
Автор статьи - сотрудник KMS Technology, а те в свою очередь - разработчики Каталона. Вполне естесственно, что они своё творение нахваливают. Тем более, что оригинал статьи - на сайте Каталона. Было бы даже странно, если бы они раскритиковали его и стали нахваливать что-то другое.
Каталон неплохой ресурс для начинающих, либо не имеющих опыта разработки на каком-нибудь ЯП (т.к. позволяет до определенной степени сложности писать тесты вообще без ЯП). Юзерфрендли, но со своими тараканами. Тем более, что и код на ЯП там тоже вполне можно писать при желании.
Селениум без знания ЯП - никак, Каталон - распаковал и пошел тесты делать.
п.с.: справедливости ради, на чистом селениуме времени на тест с нуля действительно нужно будет больше, чем в Каталоне.
п.п.с.: пишу на селениуме, но и с Каталоном знакома на практике.
Написано TatyanaV 14 сентября 2018 - 07:35
Отмена миссии, прошу прощения, ошибка была достаточно тупа) и не связана с технической частью
Ну так написали бы, в чем именно она заключалась. Вашу тему прекрасно будут находить поисковики и через год-другой.
Вот так наткнется кто-то в поисках ответов, а вместо решения "Отмена миссии" и никакой инфы.
Написано TatyanaV 04 сентября 2018 - 10:50
Попробуйте %JAVA_HOME%\bin; переместить в самое начало переменной PATH.
Написано TatyanaV 03 августа 2018 - 08:25
А можно полный текст ошибки, которая Вам выдаётся?
Желательно сначала добавить printStackTrace в кэтчи (чтобы выводился текст перехваченного исключения).
Еще вариант - запустите дебаггером, поставьте брекпоинт на "Actions wt0_2 = ..." и попробуйте в открытом браузере найти элемент по локатору "#container > div.main-content > div > div > div > div:nth-child(3) > span"
Написано TatyanaV 13 июля 2018 - 07:51
То, что Вы написали выше - читается как бессвязный поток сознания, если честно.
Вложений, о которых Вы упомянули - нет, все остальное - как отдельные, мало связанные друг с другом слова.
"если это получается" - что именно "получается"?
"у нас таблица" - у кого у нас и какая таблица?
"где всегда новая открытка" - что за "открытка"?
"так же как описать категорию" - какую ещё "категорию"?
"если она тоже меняется" - в каком смысле?
...
Написано TatyanaV 12 июля 2018 - 08:35
На том же stackoverflow, откуда видимо взят изначальный код = есть ссылка на багу самого хрома, о том, что Ctrl+t не работает.
В баге ответ - "This should not work, web driver is intended to be used for testing web content, not the browser. They should create new tab programmatically via the web driver api instead. I would close this one as WontFix, but deferring it to you.".
Т.е. через Ctrl + T новая вкладка в ХромДрайвере не открывается, не должна и не будет.
А какая изначальная задача?
Какой смысл у Вас в открывании ссылки в одной вкладке и тут же ссылки в другой вкладке?
Написано TatyanaV 12 июля 2018 - 08:05
Проверьте импорты свои. Не совсем понимаю, отуда у Вас берётся com.sun.org.apache.xpath.internal.operations.String
Если выше было предположение сходу, то Set - это уже 100% проверенный вариант, который у меня в коде уже давно и прекрасно работает.
Community Forum Software by IP.Board Русификация от IBResource
Лицензия зарегистрирована на: Software-Testing.Ru