
Sergey
17.07.2017
17:38:06
ребят почему строка в драйвере
options = Selenium::WebDriver::Chrome::Options.new(args: ["--proxy-server=104.236.176.232:3128"])
не подключает корректно к прокси

Evgeniy
17.07.2017
17:39:01
характер такiй

Google

Sergey
17.07.2017
17:39:22
че?

Evgeniy
17.07.2017
17:44:20
откуда взялся ключ proxy-server?
не вижу его в документации по ruby selenium
https://github.com/SeleniumHQ/selenium/wiki/Ruby-Bindings
там прокси отдельным конструктором вызывается. а добавление коммандлайновых аргументов передается через метод add_argument

Sergey
17.07.2017
17:47:26
хм
спасибо ребят
гляну
намного удобнее так писать
чем вызывать конструктор типа browser mod

Evgeniy
17.07.2017
17:48:32
так где он написан, в сорсах?

Sergey
17.07.2017
17:48:41
сейчас

Google

Evgeniy
17.07.2017
17:49:09
что значит не "подключает корректно к прокси"? характер ошибок можно? Вы тестировщик или как? Инфу-то дайте

Sergey
17.07.2017
17:49:10
http://www.assertselenium.com/java/list-of-chrome-driver-command-line-arguments/
пишется типа
options = Selenium::WebDriver::Chrome::Options.new(args: %w[disable-gpu —disable-notifications —proxy-server=http://118.96.240.50:8080])
DRIVER = Selenium::WebDriver.for ENV['driver'].to_sym, options: options
DRIVER.manage.window.resize_to(1200, 700)
DRIVER.manage.timeouts.implicit_wait = 10
удобно

Evgeniy
17.07.2017
17:50:46
в коде выше и тут вижу разницу в кавычках
это норма? пример комманд джава имплементации мне ни о чем не говорит, отдельные ключи в биндингах для руби могли и не реализовать, пока вы не докажете обратное :) работает? но перестало работать?
или никогда не работал этот ключ? Почему используете что-то, чего нет в документации для руби?

Sergey
17.07.2017
17:56:02
оу оу
у меня все работает
уже
надо протокол правильно указывать
кавычки
а это зачем %w[]
?

Evgeniy
17.07.2017
17:57:24
я на руби не пишу, это вам виднее должно быть

Sergey
17.07.2017
17:57:44
ну я пишу
просто настройки почти везде впринцыпе одинаковые
ну или под нужды

Evgeniy
17.07.2017
18:04:51
ну если у тебя не работает код - самое время начинать думать, настолько ли они везде одинаковые. Если у тебя ключ никогда не работал - это не повод считать, что он по аналогии должен работать. НУжно 'jump to definition' и смотреть, что по чём.

Google

Кирилл
17.07.2017
18:17:47
может прокси через Selenium::WebDriver::Remote::Capabilities.chrome(proxy: *) прокинуть?

Evgeniy
17.07.2017
18:18:54
да все уже пофиксилось
само собой
магически, после чтения документации

Sergey
17.07.2017
18:25:57
Под разные селениум драйвера и браузеры хрома немного надо по разному обращатся

D
17.07.2017
19:12:01

Sergey
17.07.2017
19:30:03
Аа
Ага)

Alexander
17.07.2017
19:46:27
А вы что же думали, эта невнимательность просто так с рук сойдет?

Roman
17.07.2017
19:49:14
Чойто

Hell
17.07.2017
19:59:42
https://stackoverflow.com/q/45152652/444079

Sergey
17.07.2017
20:24:26
Чем больше я в этом чате тем меньше мне хочется здесь спрашивать

ⰿⰰⰾⱏ
17.07.2017
20:51:15

Sergey
17.07.2017
20:58:57
ну да
можно и так написать
я прочитал это тут
https://stackoverflow.com/questions/1274675/what-does-warray-mean

Shoo
17.07.2017
21:01:10
На стаковерфлоу вообще много полезного, да.

Pavel
18.07.2017
12:52:57
у кого нибудь есть опыт использования >1 драйвера в тестах в селениуме?

Google

Shoo
18.07.2017
12:53:39
Да, есть. А в чем сложность?

Anton
18.07.2017
12:53:51

ⰿⰰⰾⱏ
18.07.2017
12:54:38

Admin
ERROR: S client not available

Pavel
18.07.2017
12:55:06
ага
параллельно
сложность в том что когда я закрываю окно открытое вторым драйвером - тест фейлится no such session
если окно не закрывать - все ок
оба драйвера - хром, но второй с флагом приватного просмотра

D
18.07.2017
12:57:24
а селениум в логи что пишет?

Anton
18.07.2017
12:57:25
советую параллелить с помощью Selenium Grid

Nikita
18.07.2017
12:57:43
уточни свою задачу

Pavel
18.07.2017
12:58:10

Filipp
18.07.2017
12:58:22

Pavel
18.07.2017
13:00:15
задача тестить разрешения
одним юзером проставляю, вторым логинюсь и проверяю что разрешение отработало корректно
может и без двух драйверов можно, но это было наиболее простым решением

Nikita
18.07.2017
13:01:11

Filipp
18.07.2017
13:01:12

Arseny
18.07.2017
13:01:12
Первую операцию не надо делать через селениум

Timur
18.07.2017
13:02:17
Или набор юзеров с разными разрешениями.

Pavel
18.07.2017
13:02:45

Arseny
18.07.2017
13:03:29
У тебя есть запрос, который браузер отправляет для смены привилегий.
Кидай его условным курлом.

Gnam
18.07.2017
13:03:58

Google

Pavel
18.07.2017
13:04:37

Filipp
18.07.2017
13:05:16

Arseny
18.07.2017
13:05:46
копну сюда, спасибо
Можно конечно много времени потратить на всякие сессионные куки и все такое, но с "тонким клиентом" потом и другие тесты будут писаться гораздо быстрее и надёжнее.

Filipp
18.07.2017
13:05:59
В чем ваша проблема-то? Закрывается не тот браузер? Просто убедитесь, что выполняете quit() на правильном драйвере

Pavel
18.07.2017
13:08:23
браузер тот закрывается, потому что следующий тест без проблем отрабатывает, но ошибка почему то есть
первое окно так и висит, на котором проставляются разрешения

Filipp
18.07.2017
13:09:17
Значит что-то не то с инициализацией

Timur
18.07.2017
13:11:16
Код бы.

Pavel
18.07.2017
13:15:46
it 'checks read permission' do
check_permission(user_id, 'read', 'Ticket')
session = Capybara::Session.new(:fb_private)
Capybara.using_session(session) do
visit(Capybara.app_host)
log_in(user_name, user_pass)
expect(page).to have_content('Tickets')
current_window.close
end
end
у меня еще тут капибара, да
и вот без current_window.close все ок, но количество открытых окон хрома будет не ок

Кирилл
18.07.2017
13:19:36
зачем всё это внутри it?
инициализировать отдельно, а в it оставить только
expect(page).to have_content('Tickets')

Pavel
18.07.2017
13:20:10
каждый it - проверка одного разрешения

Arseny
18.07.2017
13:21:32