LINUX.ORG.RU

9
Всего сообщений: 40

Правильные setCapability для запуска chrome в android

Тестирую этот проект https://github.com/aerokube/demo-tests

Запущенные контейнеры

 docker ps
CONTAINER ID        IMAGE                         COMMAND                  CREATED             STATUS              PORTS                    NAMES
ffd64121947a        aerokube/selenoid:latest      "/usr/bin/selenoid -…"   3 days ago          Up 3 days           0.0.0.0:4444->4444/tcp   selenoid
c7c74a3b6589        aerokube/selenoid-ui:latest   "/selenoid-ui --sele…"   3 days ago          Up 3 days           0.0.0.0:8080->8080/tcp   selenoid-ui

Логи ffd64121947a

docker logs ffd64121947a
2019/12/02 12:16:03 [3258] [LOCATING_SERVICE] [chrome] [6.0]
2019/12/02 12:16:03 [3258] [ENVIRONMENT_NOT_AVAILABLE] [chrome] [6.0]

browsers.json:

{
    "android": {
        "default": "6.0",
        "versions": {
            "6.0": {
                "image": "nexus/selenoid/android:6.0",
                "port": "4444",
                "path": "/wd/hub"
            }
        }
    },
    "chrome": {
        "default": "78.0",
        "versions": {
            "78.0": {
                "image": "nexus/selenoid/chrome:78.0",
                "port": "4444",
                "path": "/"
            }
        }
    }
}

Прокси поправил

package com.aerokube.selenoid;

import org.apache.commons.io.FileUtils;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.*;
import org.openqa.selenium.remote.Augmenter;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;

import java.io.File;
import java.net.URL;

import static com.aerokube.selenoid.Screenshot.takeScreenshot;

public class DemoTest {

    private RemoteWebDriver driver;

    @Before
    public void openDriver() throws Exception {
        Proxy proxy = new Proxy();
        proxy.setSslProxy("http://proxy:3128");
        final DesiredCapabilities browser = DesiredCapabilities.chrome();
        browser.setCapability("deviceName", "android");
        browser.setCapability("version", "6.0");
        browser.setCapability("appPackage", "com.android.chrome");
        browser.setCapability("appActivity", "com.google.android.apps.chrome.Main");
        browser.setCapability("proxy", proxy);
        browser.setCapability("enableVideo", true);
        browser.setCapability("enableLog", true);
        browser.setCapability("enableVNC", true);
        driver = new RemoteWebDriver(new URL(
                "http://localhost:4444/wd/hub" //Replace with correct host and port
        ), browser);
    }

    @Test
    public void browserTest() throws Exception {
        try {
            driver.get("https://duckduckgo.com/");
            WebElement input = driver.findElement(By.cssSelector("input#search_form_input_homepage"));
            input.sendKeys(Keys.chord("selenium", Keys.ENTER));
        } finally {
            takeScreenshot(driver);
        }

    }

    @After
    public void closeDriver(){
        if (driver != null){
            driver.quit();
            driver = null;
        }
    }
}


Пишет:

Tests in error: 
  browserTest(com.aerokube.selenoid.DemoTest): Requested environment is not available (WARNING: The server did not provide any stacktrace information)

Как исправить ошибку?

 

chemtech ()

Минcк, Middle/Senior QA, $2000

Минск, позавчера нужен мидл или сеньор QA (автоматизация мастхэв)

Аутсорс с более-менее лицом, проект долгоиграющий и довольно большой, feature-команда, процессы налажены, садись и работай. CI/CD, автоматизация, webdriver, restsharp, небольшая команда приручённых разработчиков, scrum, отэтавсё.

По технологиям – продукт мелкософтовский, тесты – C#, CI в Azure Devops, тесты там же. На рабочем компе можете иметь хоть гейось, хоть linux, жить это не особо мешает.

По требованиям – хоть какой-то опыт в автоматизации вебни, знание C#, английский, понимание что куда прикладывается в QA. Опыт работы с MSовским стэком – большой плюс.

Ищу на своё место, перед уходом всё покажу-расскажу, экскурсию по офису устрою, кресло нагрею. По деньгам – зависит от попадания в вакансию, как минимум рынок дадут (в заголовке средняя с dev.by, да). Страховка, печеньки – как везде, контора ПВТшная, всё белое, график человеческий, овертаймы не в ходу. Не опенспейс, матом в кабинете ругаться можно.

xmpp: brat_radist@jabber.ru, телега: @pavelse16, телега предпочтительнее, особенно в нерабочее время

 , , ,

a769023c ()

Как на python через Selenium создать нормальный профиль Firefox?

Как на python через Selenium создать нормальный профиль Firefox?
Нужен именно нормальный профиль, сохраняемый на диск, а не пустой анонимный как при обычном старте.

 , ,

Qwentor ()

Firefox + Selenium. Что я делаю не так?

import os
from selenium import webdriver
from selenium.webdriver.firefox.firefox_binary import FirefoxBinary
from selenium.webdriver.firefox.options import Options

options = Options()
options.headless = True

gecko = os.path.normpath(os.path.join(os.path.dirname(__file__), 'firefox', 'geckodriver'))
binary = FirefoxBinary(r'/home/qwentor/firefox/firefox-bin')

driver = webdriver.Firefox(firefox_binary=binary, executable_path=gecko, options=options)

driver.close()




выдает ошибку:

Traceback (most recent call last):
  File "testbrowser2.py", line 14, in <module>
    driver = webdriver.Firefox(firefox_binary=binary, executable_path=gecko, options=options)
  File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/firefox/webdriver.py", line 174, in __init__
    keep_alive=True)
  File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py", line 157, in __init__
    self.start_session(capabilities, browser_profile)
  File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py", line 252, in start_session
    response = self.execute(Command.NEW_SESSION, parameters)
  File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/usr/local/lib/python3.6/dist-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: invalid argument: can't kill an exited process


Что не так?
chmod +x фоксу и гекодрайверу сделал
Система Ubuntu 18.04

 , ,

Qwentor ()

Сохранить страницу подменив динамические вызовы

Ситуация такая. Есть некое веб приложение от IBM, использующее dojo для генерации страниц. И есть фреймворк для тестирования этого приложения (который использует Selenium).

Теперь нужно протестировать сам фреймворк. Для этого страницы приложения сохраняются статически, и вызываются потом юнит-тестами.

К сожалению, страницы довольно сложные (100K+ строк кода) и если их сохранить в Firefox -> Save Page As -> Complete Page и восстановить - выглядят зачастую не так как в онлайне.

Нету ли какого-нибудь инструмента, который бы при сохранении все вызовы веб-сервисов заменять содержимым последнего вызова? Чтобы сохраненная страница была полностью автономна?

Моё гугл-фу тут слабовато: находятся результаты как тестировать с помощью селениума, а мне по существу нужно тестировать сам селениум с обвязкой.

 , , ,

alt-x ()

Получить информацию об SSL сертификате используя NightWatch

При автоматизированном тестировании встала задача получить информацию об используемом на сайте SSL сертификате. Для тестирования использую selenium, «безголовый» chromedriver и nightwatch js. Вот часть параметров моего nightwatch.json файла:

"desiredCapabilities": {
"browserName": "chrome",
"acceptSslCerts": true,
"javascriptEnabled": true,
"acceptInsecureCerts": true,
"disablewebsecurity": true,
"allowrunninginsecurecontent": true,
"cssSelectorsEnabled": true
}
Вот простенький пример после чего надо выполнить проверку информации:
 'Opening site using Selenium': function (browser) {
    browser
      .url('https://my_site.com')
      .waitForElementPresent('body', 200000, 'URL %s open');
Сайт открывается, но никак не могу придумать/нагуглить как получить любую информацию о сертификате. Ведь, если сайт https открывается, значит там должен быть сертификат. Есть какие-либо идеи? Заранее спасибо!

 , , ,

iOlegKV ()

Запуск скриптов в docker контейнере через ansible

Есть необходимость запускать тестовые скрипты. На серваке установил docker и ansible. Цель - запускать через Jenkins на этом серваке контейнеры и в одном из них скрипты, но я пока остановился на схеме без Jenkins, потому что уже есть некоторые вопросы. Написал playbook, который запускает три контейнера - selenium, chromedriver (безголовый браузер) и nightwatch (node.js и, если это важно, он является ENTRYPOINT). Контейнеры запускаются, но команда (command) внутри nightwatch не выполняется/не запускается даже. Вот playbook:

- name: Docker-compose
  hosts: localhost
  connection: local
  gather_facts: no
  tasks:

    - name: Start selenium hub
      docker_container:
        name: hub
        image: localhost/tests/selenium:latest
        state: started
        restart: yes
        ports:
          - "4444:4444"

    - name: Start chromedriver
      docker_container:
        name: chromedriver
        image: localhost/tests/chromedriver:latest
        state: started
        restart: yes
        links:
          - "hub:hub"
        env:
            VNC_ENABLED: true
            EXPOSE_X11: true
        ports:
          - "5900:5900"

    - name: Start nightwatch
      docker_container:
        name: nightwatch
        image: localhost/tests/nightwatch:latest
#        init: yes
        state: started
        env:
            WAIT_FOR_HOSTS: chromedriver:4444
        volumes: ./test:/home/node
        command: nightwatch --test run/test-google.js
В папке test (которая становится общей для ОС и контейнера) есть папка run, где и лежат скрипты. Запускал playbook с ключами -vvv, но никаких явных ошибок, говорящих что-либо о запуске команды в контейнере не видно. Вот файл nightwatch.json:
{
  "globals_path": "globals.js",
  "output_folder": "reports",
  "src_folders": ["run"],
  "test_settings": {
    "default": {
      "selenium_host"  : "chromedriver",
      "screenshots": {
        "enabled": true,
        "on_failure": true,
        "on_error" : false,
        "path": "screenshots"
      },

      "desiredCapabilities": {
        "browserName": "chrome",
        "javascriptEnabled": true,
        "acceptSslCerts": true,
        "cssSelectorsEnabled": true
      }
    },
    "google" : {
      "launch_url" : "http://www.google.ru",
      "filter" : "*-google.js"
    }
  }
}
Есть ли те, кто может помочь или направить на путь истинный?

 , , ,

iOlegKV ()

Не могу замаскировать символ '

Как замаскировать этот символ?

driver.find_elements_by_xpath("//*[contains(text(), 'Ne\'xt')]")[0].click()

Выдаёт

selenium.common.exceptions.InvalidSelectorException: Message: Given xpath expression "//*[contains(text(), 'Ne'xt')]" is invalid: SyntaxError: The expression is not a legal expression.

 , ,

steemandlinux ()

selenium не обновляет PageSource без пересоздания webdriver-a

Просветите нуба, это так и задумано или это я рукожоп? Суть такова: попросили набыдлокодить утилитку, которая мониторит сберовскую карту и, при поступлении на нее средств, переводит их на другую карту. Вспомнив недавно мелькавший здесь скрипт, решил взять selenium, чтобы не морочиться с авторизацией. Взял. Вроде все хорошо, по страничкам бегает как надо, только при этом суммы на картах не меняются до пересоздания webdriver-а.

...
driver.get("https://node1.online.sberbank.ru/PhizIC/private/cards/info.do?id=XXXXXXXX");
...
while (true) {
Thread.sleep(40000);
driver.navigate().refresh();
Thread.sleep(5000);
count = driver.findElement(By.xpath("//span[@class='detailAmount nowrap']"));
...
}
...
count при этом не меняется. Да и, если выключить headless, видно, что цифры на страничке тоже прежние.

При этом если произвести перевод вебдрайвером, то цифры обновляются. Есть стойкое ощущение, что я что-то делаю не так или не тем.

 , , ,

kravzo ()

Запилил говноскрипт на перле, чтоб посмотреть как там дела на сберовских картах

Проверял с ФФ/geckodriver и selenium-server-standalone.

Поставить нужно

- selenium-server-standalone 3.12.0-1

- perl-selenium-remote-driver 1.28-1

- geckodriver 0.20.1-1

ну и файрфокс.

java -jar /usr/share/selenium-server/selenium-server-standalone.jar
#!/usr/bin/perl -w
#
# Dump sberbank card list and payments history
#
# Usage:
#   $0 <login> <password>
#

use utf8;
use Selenium::Remote::Driver;

$login = shift @ARGV;
$password = shift @ARGV;

binmode(STDOUT, ":utf8");
binmode(STDERR, ":utf8");

print STDERR "Starting browser\n";
my $driver = Selenium::Remote::Driver->new_from_caps(
	'desired_capabilities' => {
		'browserName' => 'firefox',
		'moz:firefoxOptions' => {
			'args' => [ '--safe-mode', '--headless' ]
#			'args' => [ '--safe-mode' ]
		}
	});

print STDERR "Logging in\n";
$driver->get('https://online.sberbank.ru/CSAFront/index.do');
$driver->find_element_by_id('login')->send_keys($login);
$driver->find_element_by_id('password')->send_keys($password);
$driver->get('javascript:validateAndSubmit()');

print STDERR "Getting info";
my @products = ();
while(scalar @products == 0) {
	@products=$driver->find_elements("//div[\@class='forProductBorder mainProductInfo']");
	sleep(1);
	print STDERR ".";
}
print STDERR "\n";

$driver->get('https://node1.online.sberbank.ru/PhizIC/private/cards/list.do');
print STDERR "Getting info";
@products = ();
while(scalar @products == 0) {
	@products=$driver->find_elements("//div[\@class='productCover activeProduct ']");
	sleep(1);
	print STDERR ".";
}
print STDERR "\n";

my %products = ();
foreach $p (@products) {
	$name_el=$driver->find_child_element($p, "./div//span[\@class='mainProductTitle mainProductTitleLight']");
	$name=$name_el->get_text();
	$open=$name_el->get_attribute('onclick', 1);
	$amount=$driver->find_child_element($p, "./div//span[\@class='overallAmount nowrap']")->get_text();
	$number=$driver->find_child_element($p, "./div//div[\@class='accountNumber decoration-none']")->get_text();
	if($number =~ / (\d{4}),/) {
		$n = "card#".$1;
	} else {
		$n = "rand#".int(rand(10000)); # TODO: fixme
	}
	$products{$n}{'number'} = $number;
	$products{$n}{'amount'} = $amount;
	$products{$n}{'open'} = $open;
	$products{$n}{'name'} = $name;
	print "$name = $amount\n\t$number\n\t$open\n";
}
print "\n\n";

foreach $p (keys %products) {
	$open = $products{$p}{'open'};
	$name = $products{$p}{'name'};
	$driver->get("javascript:".$open);
	print STDERR "Getting history for $p ($name)";
	my @history = ();
	while(scalar @history == 0) {
		@history=$driver->find_elements("//table[\@class='tblInf']");
		sleep(1);
		print STDERR ".";
	}
	print STDERR "\n";
	sleep(2); # TODO: fix this hack!
	$history=$driver->find_element("//table[\@class='tblInf']");
	@items=$driver->find_child_elements($history, "./tbody//tr[\@class='ListLine0'] | ./tbody//tr[\@class='ListLine1']");
	foreach $i (@items) {
		$name=$driver->find_child_element($i, "./td[\@class='align-left leftPaddingCell']")->get_text();
		$date=$driver->find_child_element($i, "./td[\@class='listItem']")->get_text();
		$amount=$driver->find_child_element($i, "./td[\@class='align-right']")->get_text();
		print "\t$date, $amount, $name\n";
	}
	print "\n\n";
}

print STDERR "Quit\n";
$driver->quit();

 , , , ,

sergej ()

Скрипт python для Selenium

Коллеги, доброго дня. Есть скрипт для генерации временной лицензии для conflunce:

from pyvirtualdisplay import Display
display = Display(visible=0, size=(800, 600))
display.start()

# -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import NoAlertPresentException
import unittest, time, re


driver = webdriver.Firefox()
driver.get("https://id.atlassian...atlassian.com")
driver.find_element_by_id("username").send_keys("MY_NAME@XX.ru")
driver.find_element_by_id("form-login").submit()
time.sleep(10)
driver.find_element_by_id("login-submit").click()
driver.find_element_by_id("password").clear()
driver.find_element_by_id("password").send_keys("MY_PASSWORD")
driver.find_element_by_id("login-submit").click()
time.sleep(20)
driver.find_element_by_link_text("New Evaluation License").click()
driver.find_element_by_id("product-select").click()
Select(driver.find_element_by_id("product-select")).select_by_visible_text("Confluence")
driver.find_element_by_xpath("//option[@value='Confluence']").click()
driver.find_element_by_xpath("//div[@id='content']/div/div/div/form/fieldset/div[2]/div/label[2]/span[3]").click()
driver.find_element_by_id("serverid").click()
driver.find_element_by_id("serverid").clear()
driver.find_element_by_id("serverid").send_keys("XXX-XXX-XXX-XXX")
driver.find_element_by_id("generate-license").click()

Лицензия генерится нормально.

Теперь мне необходимо скопировать полученную лицензию и вставить в новое место:

Но у поля сгенерированной лицензии id получается динамический и он будет менять каждый раз при генерации.

Вопрос 1 - как правильно скопировать данные из этого поля.

Вопрос 2 - как правильно вставить эти данные и новое место. Всю голову сломал, прошу подскажите.

 , ,

lucidlynx ()

Selenium, Firefox и SVG

Пытаюсь получить «скриншот» SVG изображения через headless firefox, но на выходе получаю файл размером 0 байт. При этом локальный html рисует нормально.

Код:

var webdriver = require('selenium-webdriver'),
    By = webdriver.By,
    until = webdriver.until;
var fs = require('fs');

var firefox = require('selenium-webdriver/firefox');

var firefoxOptions = new firefox.Options();
firefoxOptions.setBinary('/usr/bin/firefox');
firefoxOptions.headless();

var driver = new webdriver.Builder()
    .forBrowser('firefox')
    .setFirefoxOptions(firefoxOptions)
    .build();


driver.get('file:///home/razr/test.svg');

webdriver.WebDriver.prototype.saveScreenshot = function(filename) {
    return driver.takeScreenshot().then(function(data) {
        console.log(data) // empty
        fs.writeFile(filename, data.replace(/^data:image\/png;base64,/,''), 'base64', function(err) {
            if(err) throw err;
        });
    })
};

driver.saveScreenshot('out.png');

driver.quit();

Я во всём этом вебе ноль, поэтому вообще хз что не так. Ошибок никаких не выдаёт.

Firefox 58.0.1

selenium-webdriver 3.6.0

geckodriver-v0.19.1-linux64

 , , ,

RazrFalcon ()

Прошу помощи у тех кто знаком с selenium веб драйвером

есть вот такой код:


    # -*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
from selenium.common.exceptions import NoAlertPresentException
from selenium.webdriver.chrome.options import Options
import unittest, time, re

class UntitledTestCase(unittest.TestCase):
    
    def setUp(self):
        chrome_options = Options()
        self.driver = webdriver.Chrome(executable_path='/путь/chromedriver',chrome_options=chrome_options)
        self.driver.implicitly_wait(300)
        self.driver.set_page_load_timeout(300)

    
    
    def test_untitled_test_case(self):
        driver = self.driver
        driver.get("адрес")
        driver.find_element_by_id("ид1").click()
        driver.find_element_by_id("ид2").click()
        
    
    
    def tearDown(self):
        self.driver.quit()
      
if __name__ == "__main__":
    unittest.main()

все в принципе работает кроме одного , selenium запускает хром с кучей параметров которые ограничивают работу сайта и мешают тестированию,как отключить эти параметры ? пытался их удалять через chrome_options.arguments.remove и не только , все бестолку....

 , , ,

echo_ ()

Ошибка в работе selenium

В общем тестирую свой чат, каждые n секунд скрипт проверяет страницу на наличие новых сообщений, работает 7-10 циклов и вылетает с ошибкой. Помогите Товарищи... без вас не разобраться

Traceback (most recent call last):
  File "/home/user/Python_script/***/***_ver1.py", line 93, in <module>
    main()
  File "/home/user/Python_script/***/***_ver1.py", line 82, in main
    newtexts = getText_from_iSinka()
  File "/home/user/Python_script/***/***_ver1.py", line 48, in getText_from_iSinka
    texts = [text.text for text in texts_all]
  File "/home/user/Python_script/***/***_ver1.py", line 48, in <listcomp>
    texts = [text.text for text in texts_all]
  File "/home/user/.local/lib/python3.5/site-packages/selenium/webdriver/remote/webelement.py", line 76, in text
    return self._execute(Command.GET_ELEMENT_TEXT)['value']
  File "/home/user/.local/lib/python3.5/site-packages/selenium/webdriver/remote/webelement.py", line 501, in _execute
    return self._parent.execute(command, params)
  File "/home/user/.local/lib/python3.5/site-packages/selenium/webdriver/remote/webdriver.py", line 308, in execute
    self.error_handler.check_response(response)
  File "/home/user/.local/lib/python3.5/site-packages/selenium/webdriver/remote/errorhandler.py", line 194, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.StaleElementReferenceException: Message: The element reference of <div class="message_block_text"> stale; either the element is no longer attached to the DOM, it is not in the current frame context, or the document has been refreshed

[Finished in 138.6s with exit code 1]

 ,

Dimon07 ()

Тесты с Selenium 3 под Linux

Я что-то уже изрядно устал пытаться это настроить. Хоть у кого-нибудь получалось?

Суть в том, что есть виртуалка под CentOS 7, есть firefox, Xvfb и все-все-все. При этом непонятно, как в принципе запустить тест на каком-нибудь perl или php под это всё хозяйство.

Настраивал так: http://chandrewz.github.io/blog/selenium-on-centos

Код на Perl такой:

use strict;
use warnings;
use 5.16.1;
use utf8;

use WWW::Selenium;

    my $sel = WWW::Selenium->new( host => "localhost",
                                  port => 4444,
                                  browser => "*firefox",
                                  browser_url => "http://intranet-site.com",
                                );

    $sel->start;
    $sel->open("http://intranet-site.com");
    $sel->type("q", "hello world");
    $sel->click("btnG");
    $sel->wait_for_page_to_load(5000);
    print $sel->get_title;
    $sel->stop;

В результате выполнения теста получаю HTML-страницу, говорящую мне о том, что «нечто пошло не так» - без малейших уточнений на тему того, что именно не так.

Захожу на http://my-server:4444/wd/hub , пытаюсь «Create session» -> (выбор браузера) Firefox

selenim-server-3.0.1 в консоли сообщает мне «красивыми» exception'ами, что geckodriver не установлен и даже даёт ссылку на github, откуда это чудо ставить.

Теперь проблема: во-первых, в статье http://chandrewz.github.io/blog/selenium-on-centos ничего про какой-то geckodriver не написано. Во-вторых я распаковываю geckodriver, захожу в src/ - а там что-то совершенно непонятное, и как это использовать - одним разработчикам известно наверное (ну, может, ещё здесь кто в курсе).

Я в недоумении... Готов писать не обязательно на Perl'е, можно на PHP, суть не в этом. Суть в том, что из документации по Selenium вообще непонятно, «how to get started» в моём случае. Очень много буков, очень много совершенно меня не касающегося текста - и нет простого мануала, как сделать так, чтобы это заработало не на Windows и при этом клиентский код был не на Java :(

Жесть просто. Помогите разобраться, пожалуйста!

P.S. Ошибка в виде портянки из HTML при запуске моего куска кода:

Error requesting http://localhost:4444/selenium-server/driver/:
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <link rel="stylesheet" type="text/css" href="/assets/displayhelpservlet.css" media="all"/>
  <script src="/assets/jquery-1.6.1.min.js" type="text/javascript"></script>
  <script src="/assets/displayhelpservlet.js" type="text/javascript"></script>
  <script type="text/javascript">
    var json = Object.freeze('{"version":"3.0.1","type":"Standalone","consoleLink":"/wd/hub"}');
  </script>
</head>
<body>

<div id="content">
  <div id="help-heading">
    <h1><span id="logo"></span></h1>
    <h2>Selenium <span class="se-type"></span>&nbsp;v.<span class="se-version"></span></h2>
  </div>

  <div id="content-body">
    <p>
      Whoops! The URL specified routes to this help page.
    </p>
    <p>
      For more information about Selenium <span class="se-type"></span> please see the
      <a class="se-docs">docs</a> and/or visit the <a class="se-wiki">wiki</a>.
      <span id="console-item">
        Or perhaps you are looking for the Selenium <span class="se-type"></span> <a class="se-console">console</a>.
      </span>
    </p>
    <p>
      Happy Testing!
    </p>
  </div>

  <div>
    <footer id="help-footer">
      Selenium is made possible through the efforts of our open source community, contributions from
      these <a href="https://github.com/SeleniumHQ/selenium/blob/master/AUTHORS">people</a>, and our
      <a href="http://www.seleniumhq.org/sponsors/">sponsors</a>.
   </footer>
  </div>
 </div>

</body>
</html>

 ,

DRVTiny ()

Тестировщик-автоматизатор/Test Engineer (Automated testing)

Ищем человека в офис в Калининграде.
Почта для связи: yechuperka@gmail.com
Один из самых успешных проектов на рынке автоиндустрии в США. 31% всех автомобилей США продаются с использованием разработанного нами программного обеспечения. Головной офис находится в Сан-Клементе (США, Калифорния). На сегодняшний день у нас есть Центры Разработки в США и в Росcии: Южной Калифорнии, Юте, Висконсине, Техасе и Калининграде. В штате компании более 1200 человек, в IT -штате более 200 специалистов, специализирующихся на разработке и поддержке сложных и высоконагруженных проектов.

Основные обязанности:

  • 95% работы - автоматизация тестирования, а также:
  • Создание тест кейсов и приемочных критериев на основе бизнес требований
  • Документирование и выполнение приемочного тестирования
  • Проведение анализа рисков над каждой выполненной задачей SCRUM командой
  • Координирование и участие в регрессивном тестировании связанное с выявленными рисками
  • Поддержка библиотеки тест кейсов
  • Поддержка тест фреймворка и необходимой инфраструктуры

Опыт работы:

  • 1+ года работы Тест Инженером
  • Опыт работы с Codeception или другими тест-фреймворками
  • Опыт работы с VCS (Git, SVN)
  • Опыт работы с юнит, приемочными и функциональными тестами
  • Опыт работы с Selenium
  • Опыт работы в команде
  • Будет здорово, если у Вас уже есть следующие навыки:
  • Знание PHP или любого другого языка программирования
  • Базовые знания Javascript, CSS, HTML
  • Базовые знания MySQL, умение писать сложные sql запросы
  • Автоматизация тестирования
  • Юнит/Интеграционное тестирование

Мы предлагаем:

  • Высокую зарплату - полностью «белую», без задержек
  • Релокационный пакет для кандидатов из других городов, покрывающий все расходы по переезду (оплата авиабилетов для всей семьи, аренда квартиры на 3 мес.)
  • Гибкий график работы
  • ДМС со стоматологией, Life, Travel - страхование
  • Оплату занятий спортом (тренажерный зал, фитнесс, йога, бассейн) - 50% стоимости абонемента
  • Курсы английского в офисе - компенсация 70% стоимости занятий
  • Международную команду профессионалов
  • Оплату поездок и участия в конференциях
  • Покупку профильной литературы
  • Открытое и всегда доступное для диалога руководство
  • Корпоративные мероприятия и тимбилдинги
  • Оформление по ТК РФ (оплачиваемый отпуск 28 дней, больничный)
  • Современный офис в самом центре Калининграда

Также для Вас:

  • Игровая комната с настольным теннисом и кикером
  • Фрукты и печенье в офисе
  • Комфортное рабочее место
  • Наши технологии: Codeception, Selenium WebDriver, PHP, TeamCity, Vagrant, Git.

От 70к рублей, по результатам собеседования.
От себя, как разработчик в компании, скажу, что компания очень лояльная и коллектив весьма хороший. В Калининграде имеем 60 человек в штате и количество пополняется со временем. Вам выдадут компьютер, мак или делл с виндой, по желанию. Никто не будет стоять над душой и платить вам будут вовремя и стабильно, компания не зависит от экономики страны. Если вы заинтересованы в росте как специалист, то эта компания один из лучших выборов, которые представлены сейчас, компания заинтересована в вашем росте и будет способствовать ему (литература, конференции).

 , , , ,

chuppa ()

Geckodriver using in Mac OS

Привет всем! Столкнулся с проблемой такой: Мне понадобилось использовать библиотеку selenium и python 3. Но оно ругается на некий geckodriver, погуглив я нашел решение такое: мы скачиваем geckodriver и кладем в PATH.

Вопросы:

1. Насколько это решение нормальное? И куда лучше класть сторонние либы на mac OS? Я думаю положить его в /usr/local/bin, как сделал бы на linux.

2. Есть ли более красивое решение проблемы?

Спасибо!

 , ,

aarexer ()

Selenium tester в Tele2 SSC

Разыскивают специалиста по автоматизации тестирования в свою команду. Описание вакансии:

Job Description:
You will be working with quality assurance of the system developed by the group and contribute to develop the test environment and test system. That includes:

  • New development and improvement of the Java Selenium platform that is built for automation testing of web GUI
  • Analysis and development of API regression tests of front-end web services
  • Analysis and development of API regression tests of back-end platforms
  • Configuration Management of the development environment

Who we think you are:

  • You have an education in IT or System Development
  • You have a minimum of 4 years’ experience in Selenium test development
  • You have a minimum of 4 years’ experience in web service testing
  • You have a long experience in working agile
  • You have experience in error handling and troubleshooting
  • You feel at home in Linux environment
  • You can speak and write English in a comprehensive manner

Advantage if you have:

  • Experience in SOAP UI, LOAD UI, REST
  • Experience in scripting languages such as bash, Python
  • Experience of JBoss / Wildfly
  • Experience in the telecom

Other:

  • Ability to travel abroad

Компания организует релокацию в Латвию. Присылайте CV на английском на jurijs.kolomijecs@tele2.com

Оригинал вакансии тут: тырк

 , ,

Irben ()

QA Engineer, Москва

Задачи

  • Разработка тестовой документации: тест-планы, тест-кейсы.
  • Проведение тестирования: регрессионное, интеграционное, тестирование GUI.
  • Регистрация найденных дефектов.

Требования

  • Опыт работы QA от 1 года.
  • Опыт использования Selenium/Watir.
  • Знание принципов работы веб-сайтов.
  • Базовое знание SQL.

Пожелания

  • Знание Python/Ruby.
  • Опыт использования GNU/Linux, Git, Jira, Jenkins.

Контакт: Дмитрий, lochnessathome@gmail.com

 , ,

brickinthewall ()

Как управлять настройками Firefox из webdriver?

Всем привет. Встала такая задача - не перезапускать Firefox для переключения, допустим, прокси. Как это сейчас обычно делается? Создаётся профиль для Лисы, указываются настройки, и потом запускается сам браузер с этими настройками. Если надо поменять прокси - опять создаём профиль, глушим браузер, и запускаем новый браузер с новым профилем. Так вот, хотелось бы делать это без мучений с профилями, и тратой времени на перезапуск браузера. Сначала подумал о about:config, зашёл туда с помощью browser.get, попытался найти элемент - всё ок, но как только пытаешься куда-нибудь кликнуть, то получаешь исключение:

StaleElementReferenceException: Message: Element belongs to a different frame than the current one - switch to its containing frame to use it

Ну и конечно в исходном коде страницы никаких iframe-элементов нет. Назревает вопрос - как можно взаимодействовать с настройками Firefox(about:config, about:preferences), написанными на XUL, из Selenium webdriver? Или есть какой-то другой путь сделать это? Может быть открывать нужно какую-то sqlite-базу(не очень в теме как работают настройки Firefox), и там что-то менять? В общем буду благодарен за любую инфу.

 , ,

mahalaka ()