Skip to content

Instantly share code, notes, and snippets.

View barancev's full-sized avatar

Alexei Barantsev barancev

View GitHub Profile
@barancev
barancev / FtpHelper.cs
Created October 9, 2014 05:39
Классы-помощники для курса "Программирование на C# для тестировщиков"
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.IO;
using System.Net.FtpClient;
namespace mantis_tests
{
@barancev
barancev / Правила чата
Last active March 25, 2016 11:18
Правила чата
1. Если мешают уведомления, отошлите в чат команду /alertsoff. Включить их обратно: /alertson
2. Не бросайте в чат большие фрагменты текста, используйте https://gist.github.com/ и отправляйте в чат ссылку.
3. Не бросайте файлы в чат, используйте какой-нибудь хостинг (Dropbox, Яндекс-диск, Evernote) и отправляйте в чат ссылку на файл.
4. Хостинг для картинок: https://www.google.ru/webhp?#newwindow=1&q=image+hosting
Многие программы для снятия скриншотов уже интегрированы с хостингами картинок и позволяют их быстро туда загружать.
5. Не задавайте вопросы в стиле "есть тут кто?", "можно задать вопрос?", "пользовался ли кто-нибудь инструментом XXX?"
@barancev
barancev / Правила чата
Last active August 29, 2015 14:07
Правила чата
1. Если мешают уведомления, отошлите в чат команду /alertsoff. Включить их обратно: /alertson
2. Не бросайте файлы в чат, используйте какой-нибудь хостинг (Dropbox, Яндекс-диск, Evernote) и отправляйте в чат ссылку на файл.
3. Хостинг для картинок: https://www.google.ru/webhp?#newwindow=1&q=image+hosting
Многие программы для снятия скриншотов уже интегрированы с хостингами картинок и позволяют их быстро туда загружать.
3. Не бросайте в чат большие фрагменты текста, используйте https://gist.github.com/ и отправляйте в чат ссылку.
@barancev
barancev / extract_parameters.bsh
Created November 28, 2014 20:14
extract_parameters.bsh
import org.apache.jorphan.util.JOrphanUtils;
import org.apache.jorphan.util.JMeterError;
import org.apache.jmeter.util.XPathUtil;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
List toExtract = new ArrayList();
for (int i = 0; i < bsh.args.length; i++) {
toExtract.add(bsh.args[i]);
@barancev
barancev / extract_parameters.bsh
Created November 29, 2014 16:41
extract_parameters.bsh
import org.apache.jorphan.util.JOrphanUtils;
import org.apache.jorphan.util.JMeterError;
import org.apache.jmeter.util.XPathUtil;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
List toExtract = new ArrayList();
for (int i = 0; i < bsh.args.length; i++) {
toExtract.add(bsh.args[i]);
simonstewart: there should be three jars
1) The selenium server based on (probably) Netty (or perhaps Webbit) containing just webdriver
2) A leg-rc jar containing the RC API and the WDBS, including classes to hook into the server
3) The original selenium RC server
barancev: let me interprete this
1) WebDriver conceptual unit (aka Selenium 3.0 "No More RC") represented by three downloadable artifacts
(Java client, server, "standalone server" that includes both)
2) leg-rc, a jar file with RC API, DefaultSelenium and WebDrierBackedSelenium
3) "old" selenium server
[15:01:18] <barancev> https://github.com/SeleniumHQ/selenium/blob/master/javascript/firefox-driver/js/evaluate.js#L69
[15:01:28] <barancev> this line throws "Permission denied to access property "length""
[15:02:00] <barancev> because it can't get lenght of args
[15:02:54] <barancev> we try to clone args to an appropriate context:
https://github.com/SeleniumHQ/selenium/blob/master/javascript/firefox-driver/js/firefoxDriver.js#L238
[15:03:03] <barancev> but it does not help
[15:03:35] <barancev> if I just try to do args.length -- it throws
[22:08:00] <barancev> I'm going to do the following:
[22:08:41] <barancev> I was going :)
[22:09:19] <barancev> 1) create a branch for a pure RC server that can run as a standalone server or register to a hub as an RC node
[22:09:38] <barancev> 2) create a pure hub+node server
[22:10:28] <barancev> simon folowed the same way but he also created a WDBS-based emulator so that WD server can serve RC sessions without real RC
[22:11:09] <barancev> unfortunately, WDBS is not feature-complete, so this emulator can't be a replacement for a true RC server
[22:11:48] <barancev> and I don't see much worth in this emulator
[22:11:56] <barancev> but let it be, why not
[22:12:46] <barancev> I understand why simon wants to create a new server
[22:13:27] <barancev> he wants to make a jetty9-based sever BEFORE forking RC server
selenium-server-standalone.jar
no args : works as a standalone server that can serve WD sessions and optionally RC sessions using WDBS backend
-role hub : works as a grid hub
-role node : works as a grid node that can serve WD sessions and optionally RC sessions using WDBS backend
-role webdriver : works as a grid node that can serve WD sessions and optionally RC sessions using WDBS backend
-role rc : dumps a message "To create an RC node please use selenium-server-standalone-leg-rc.jar"
selenium-server-standalone-leg-rc.jar
RemoteWebDriver driver = new RemoteWebDriver(DesiredCapabilities.firefox());
DefaultSelenium selenium = new DefaultSelenium(
"localhost", 4444, "*webdriver " + driver.getSessionId(), "http://locahost/");
selenium.start();
selenium.open("http://seleniumhq.org/");
driver.quit();