@qa_ru

Страница 609 из 1080
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
а это зачем %w[]
%w() это? Если да то это объявление обычного строкового массива

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
у кого нибудь есть опыт использования >1 драйвера в тестах в селениуме?
что значит более 1 драйвера? параллельный запуск?

ⰿⰰⰾⱏ
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
у кого нибудь есть опыт использования >1 драйвера в тестах в селениуме?
Есть, на каждого пользователя свой драйвер, по сценарию сначала логинится один пользователь, затем другой. В чем вопрос?

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

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
У тебя есть запрос, который браузер отправляет для смены привилегий.

Кидай его условным курлом.

Google
Filipp
18.07.2017
13:05:16
апи как такового нет, базу тоже трогать не желательно, пользуюсь тем что есть
Вполне можно работать с двумя драйверами. У меня при инициализации передается идентификатор пользователя, если пользователь старый, возвращается существующий драйвер, если новый - инициализируется новый P.S> может это и говнокод, но работает и даже выглядит симпатично

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

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