@qa_ru

Страница 892 из 1080
Konstantin
07.03.2018
23:27:55
#айнидхелп »config.js exports.config = { framework: 'jasmine', seleniumAddress: 'http://localhost:4444/wd/hub', specs: ['*.spec.js'], multiCapabilities: [{ browserName: 'firefox' }] } »spec.js ... var firstName = browser.driver.findElements(by.id('firstname')); ... firstName.sendKeys('firstName'); ошибка TypeError: Cannot read property 'sendKeys' of undefined protractor просто не подхватывает форму получается?

DarkMeerkat
07.03.2018
23:53:48
Кто нибудь сталкивался с настройкой Bugzilla (5.0.4)? Интересует, как отключить видимость продукутов для неавторизованных пользователей. UPD Регулируется следующей настройкой: Administration > Parameters > User Authentication > requirelogin #bugzilla

Google
Konstantin
08.03.2018
00:33:24
Ты впервые с этим работаешь?
да , впервые. где прочитать о promis'ах?

Vadim
08.03.2018
00:34:12
да , впервые. где прочитать о promis'ах?
В любом учебнике по node.js И по жасмину и протрактору почитай

Он асинхронен

Так что впереди месяцы гугла

Konstantin
08.03.2018
00:35:04


Vika
08.03.2018
05:15:15
Доброе утро.У меня есть приложение,начала писать в нем тест.Суть теста: 1.зайти на страницу Яндекс 2.Перейти в раздел Маркет 3.Выбрать раздел ноутбуки 4.Задать параметры поиска, например HP,Lenovo ; цена от 0 до 30 000 4.Нажать на кнопку Применить 5.Нажать на кнопку Показать по ... Выбрать вариант Показать по 12 . Шаг 5 -вот никак не получается. Пожалуйста помогите.

Aleksandr
08.03.2018
06:52:36
Хы, вариант тестового на автоматизатора)

Ser
08.03.2018
07:11:45
Хы, вариант тестового на автоматизатора)
Больше скажу, на сколько я знаю, такое задание даёт сбертех.

Bola
08.03.2018
07:27:36
Вычислили

Ildar
08.03.2018
07:28:44
А чего ждут от такого тестового? Меня интересует глубина так сказать. Можно реализовать пэйдж обджект, в котором будет методы типа choose_filter_Lenovo() - это быстро, но так сказать ограниченно, ведь чтобы выбрать другой фильтр придется писать еще такой метод choose_filter_HP() , думаю лучше реализовывать общий метод, которому на вход нужно только подать названия фильтров типа choose_filter("Lenovo"), но в таком методе возможно придется нехило так поработать с обработкой входных значений и исключений.

Google
Shoo
08.03.2018
07:34:50
Создаете ENUM\словарь со значениями фильтра, делаете поиск по нему из входного параметра функции, если вернуло None -> возвращаете ошибку. В противном случае дергаете xpath из enum.

Ildar
08.03.2018
07:39:30
Создаете ENUM\словарь со значениями фильтра, делаете поиск по нему из входного параметра функции, если вернуло None -> возвращаете ошибку. В противном случае дергаете xpath из enum.
да хз, так-то оно так на бумаге, но всплывают проблемы толкьо когда начинаешь копать. Да и это токль фильтры, в маркете может есть вещи погеморнее, я не в курсе. Да и в целом хотелось бы знать чего хотят. Так называемого "готового фреймворка"? Чтобы оставалось только клепать тесты из методов и ассертов?

Shoo
08.03.2018
07:41:04
Ну, как вы понимаете, что хотят отправители конкретного тестового задания могут вам ответить только они. Я бы от аналогичных тестовых заданий ожидал: 1) Работающий код 2) Понятную структуру и разделение логики. 3) Максимум DRY.

Ildar
08.03.2018
07:44:27
Кстати о работающем коде...Где-то слыхал, что в минус кандидату записывали то, что он не указал как подготовить среду. Ну там версию питона, для питона например virtualenv, инсталляцию всех библиотек из requirements и т.д.

Shoo
08.03.2018
07:44:39
Резонно.

Ildar
08.03.2018
07:51:51
Описывать надо как, установите то и то или все командами терминальными прописывать?)

или описать так, чтобы бухгалтер смогла запустить?)

Наверное после собеседований 5-10 на автоматизатора уже станет ясно, чего обычно хотят. К сожалению у меня нет такого опыта.

Artur
08.03.2018
08:03:01
Можно глянуть на github какой примерно инструкцией люди сопрождают свой код, т.е. открыть банально любую библиотку нужного языка, чутка подумать и сделать свое.

Vika
08.03.2018
09:40:39
Что не получается? Что уже пробовали? Какие ошибки выходят? )))
Не получается нажать на пункт Показать по 12. Выходит ошибка,что то типа:Element 《option class =select__option》 could not be scrolled into view

Что не получается? Что уже пробовали? Какие ошибки выходят? )))
Я вот так пишу в коде: WebElement selectElem = driver.FindElement(By.xpath("//select[@class='select__control'])); WebElement selected = select.getFirstSelectedOption(); selected.click();

Maksim
08.03.2018
14:48:03
А элемент, на который пытаетесь кликнуть, видимый?

Судя по ошибке и стековерфлоу, его нет на вью. Попробуйте добавить шаг с ожиданием видимости элемента и если упадет на нем, ищите проблему

Vika
08.03.2018
15:01:59
Нет, элемент не видимый.Это listbox по видимому, и в нем два пункта.

Он становится видимым когда нажмешь на него и покажутся пункты.Не знаю как и быть

Vadim
08.03.2018
15:03:52
Он становится видимым когда нажмешь на него и покажутся пункты.Не знаю как и быть
Нажать, собрать в list и кликнуть. Либо выбрать сразу без листа. Либо использовать апи селениума для выбора по листбоксам

Либо чекнуть используя js

Vika
08.03.2018
15:06:34
Я пробовала как Вы говорите, даже примеры подобные находила,но что то делаю не так.Может кни нибудь пройтись по шагам и посмотреть элемент, к которому я пытаюсь обратиться??Пожалуйста ребята

1.Зайти на главную страницу Яндекс 2.Перейти в раздел Маркет 3.Перейти в раздел Компьютеры 4.Перейти в раздел Ноутбуки 5.Выбрат диапазон цен от 0 до 30 000 6.Выбрать марки Hp, Lenovo 6.Нажать Применить 7.Нажать Показать по 8Выбрать Показать по 12

Google
Vika
08.03.2018
15:12:00
В бокс?? Не поняла

Vadim
08.03.2018
15:12:16
В бокс?? Не поняла
Элемент родитель 12

Vika
08.03.2018
15:13:13
Может я не совсем понимаю,но с sendKeys делала

Вот так я делала: WebElement listbox = driver.FindElement(By.xpath("//select[@class='select__control

']"));

listbox.sendKeys("Показывать по 12");

Вот так я тоже делала.Потому и прошу пройти шаги,например в браузере Opera и через F12 открыть структуру страницы и найти элемент Показать по 12

Вот я еще так делала: WebDriverWait wait = new WebDriverWait(driver, 5); JavascriptExecutor js = ((JavascriptExecutor) driver); wait.until(ExpectedCondions.presenseOfElementLocated(By.xpath("//select[@class='select__control']"))); WebElement element = driver.findElement(By.xpath("//option[@class='select__option']")); js.executeScript("arguments[0].scrollIntoView(true);",element); wait.untill(ExpectedConditions.elementToBeClickable(By.xpath("//option[@class='select__option'][@value='12']")));

Выдает вот такую ошибку: Expected condition failed: waiting for element to be clickable:By.xpath: //option[@class='select__option'][@value='12'] (tried for 3 seconds with 500 MILLISECONDS inferval

Andrey
08.03.2018
16:33:25
а локатор у вас правильный? А элемент этот видим, когда вы его ищете? Когда тест выполняется, вы видите, что меню выпало и там есть из чего выбирать?

Vika
08.03.2018
16:35:14
Я проверяла на онлайн тестере:скопировала часть дерева документа, где элемент и протестила

Элемент скрыт,при тесте не откликается и я не вижу выпадающие пункты

Evgeniy
08.03.2018
16:36:28
значит сделайте так, чтобы элемент не был скрытым

кликайте куда нужно или наводите курсор

в селениуме есть такая вещь, как chain actions

Vika
08.03.2018
16:36:50
Как??

Evgeniy
08.03.2018
16:37:08
как раз помогает кликать по элементам, которые скрыты, делая предварительные действия

Vika
08.03.2018
16:38:37
Попробую найти пример

Google
Konstantin
08.03.2018
16:39:20
driver.find_elements_by_xpath("//*[contains(text(), 'Показывать по 48')]").click(); // driver.findElement(By.id("uniq15205230426245")).click();

Vika
08.03.2018
16:40:23
А что это за uniq??

Konstantin
08.03.2018
16:42:24


Vika
08.03.2018
16:43:22
Да,так я пробовала.

Блин как же сделать

Vadim
08.03.2018
16:43:55
Закинуть в лист и итерироваться по списку

Через getText

Admin
ERROR: S client not available

Vadim
08.03.2018
16:44:56
И с нужного элемента

Доставать id

Через getAttribute ("id")

Как-то так

С телефона пишу так что за синтаксис не отвечаю

Vika
08.03.2018
16:50:15
Вот так:List<WebElement> options = driver.findElements(By.xpath("//option[@class='select__option']")); for (WebElement option:options) { If ("12".equals(option.getAttribute("value") option.click(); } Вот так делала

Vika
08.03.2018
16:54:16
Выводит 2

Vadim
08.03.2018
16:55:13
Так как и должно?

Vika
08.03.2018
16:58:22
Да ,там два элемента типа option class: показать по 12, показать по 48

Vadim
08.03.2018
16:59:32
а скинь весь свой код

сюда

Google
Vadim
08.03.2018
16:59:35
класс

Shoo
08.03.2018
17:02:27
А лучше на pastebin / github

А сюда ссылку.

Vika
08.03.2018
17:03:34
Каким образом с компа это сделать?

Vadim
08.03.2018
17:04:14
зайти на сайт pastebun

скопировать класс

и скинуть ссылку пасты сюда

Vika
08.03.2018
17:05:13
Ух как,сейчас попробую на github

https://github.com/DevVikaQA/Temp/tree/master/FirstSeleniumProj

Это простой вариант,структуру проекта сейчас не важна,главное функциональность

Bola
08.03.2018
17:20:16
Ух как,сейчас попробую на github
у вас там элемент Select скрыт поэтому смотрим на самый низ страницы и находим элемент, который виден на скрине, который собственно и отрисовывается клиенту



можно сделать так

1. кликнуть на "//span/select[@class='select__control']/../button"

2, Кликнуть на "//div[@class='select__list']//span[text()='Показывать по 12']"

Vika
08.03.2018
17:27:43
Не вижу элемент что Вы нашли в дереве документа

Сейчас попробую

Bola
08.03.2018
17:28:12
элемент не виден, пока не кликнешь в первый раз на первый xpath

Vika
08.03.2018
17:31:12
А-а

Страница 892 из 1080