Перейти к содержимому

Публикации mzzz

20 публикаций создано mzzz (учитываются публикации только с 01 июля 2023)


#110727 Ошибки в сертификате безопасности

Отправлено автор: mzzz 08 октября 2012 - 13:48 в Selenium - Functional Testing

Порой стоит задать вопрос, и тут же находится решение :good: Если кого-то интересует данный вопрос, решение следующее: driver.navigate().to("javascript:document.getElementById('overridelink').click()");



#110725 Ошибки в сертификате безопасности

Отправлено автор: mzzz 08 октября 2012 - 13:16 в Selenium - Functional Testing

Добрый день!
Видела подобные темы, но ответа на вопрос не смогла найти. Тесты в IE8 перестали работать из-за "Ошибок в сертификате безопасности этого веб-узла", т.е. нужно сначала перейти по ссылке "Продолжить открытие этого веб-узла (не рекомендуется)", но сделать это с помощью Webdriver не удается.
error.png
Как пыталась решить проблему:
- Установила сертификат, но он действителен по 6.10.2012. Насколько я понимаю, по этой причине установка сертификата от ошибки не избавила. Добавила узел в надежные, безрезультатно.
- Установила ACCEPT_SSL_CERTS в true:
DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer();
capabilities.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true);
WebDriver driver = new RemoteWebDriver(new URL(hubAddress), capabilities);
driver.get(baseUrl);
- при запуске нода использовала -trustAllSSLCertificates:
java -jar selenium-server-standalone-2.25.0.jar -role wd -hub http://localhost:4444/grid/register -trustAllSSLCertificates
Вышеперечисленное не помогло, прошу помощи.



#106126 Вопрос к разработчику: разбор id

Отправлено автор: mzzz 31 мая 2012 - 07:37 в Selenium - Functional Testing

У меня та же беда с IE. Ожидания implicitlyWait почему-то никак не влияют на тесты в IE. При этом в Firefox тесты работают без сбоев. Проблему решила с помощью Explicit Waits: когда перехожу с одной веб-страницы на другую, делаю ожидание элемента, к которому собираюсь обратиться, следующим образом:

wait.until(elementIsPresent(By.id('my_id')));

public static Function<WebDriver, WebElement> elementIsPresent(final By by) {
    return new Function<WebDriver, WebElement>() {
        @Override
        public WebElement apply(WebDriver driver) {
	    return driver.findElement(by);
        }
    };
}

Но по сути получается, что это действие, аналогичное команде waitForElementPresent, которая есть в IDE, но которую не стали добавлять в selenium webdriver, т.к. посчитали ее ненужной. Вопрос, опять-таки, к знатокам, правильный ли это подход - каждый раз при переходе на новую веб-страницу использовать Explicit Waits в целях избежания сбоев тестов в IE?



#105736 nodeTimeout при параллельно запущенных тестах

Отправлено автор: mzzz 18 мая 2012 - 13:43 в Selenium - Functional Testing

А если не продолжать с середины, а начать следующий тест?



#105732 nodeTimeout при параллельно запущенных тестах

Отправлено автор: mzzz 18 мая 2012 - 12:45 в Selenium - Functional Testing

Пожалуй, вопрос был задан не верно.
Допустим, мне НЕ нужно запускать тесты параллельно. Я запустила тесты, они выполняются, но у меня пропало интернет соединение. Если его нет меньше 5 минут, тесты будут выполняться после того как соединение восстановится, но если пройдет больше 5 минут, то браузер закроется и тесты больше выполняться не будут.
Чтобы браузер не закрылся через 5 минут, я указываю -timeout 900 при запуске хаба и в течение 15 минут браузер не закрывается. НО он зависает в том положении, в котором он был до того, как потерялось соединение и тесты не выполняются. В итоге по истичению 15 минут браузер закрывается. Как продолжить выполнение тестов?
Помогите пожалуйста или направьте мысли в нужном направлении !!!!! :sorry:



#105725 Selenium 1.8.0

Отправлено автор: mzzz 18 мая 2012 - 11:14 в Selenium - Functional Testing

File > Export Test Case As > jUnit4(...)



#105686 nodeTimeout при параллельно запущенных тестах

Отправлено автор: mzzz 17 мая 2012 - 15:09 в Selenium - Functional Testing

Добрый день!
Запускаю параллельно в двух потоках тесты, использую TestNG и Grid2. Запускаю их из эклипса со своего ПК, а хаб запущен на другом ПК, где эти тесты и выполняются. Время от времени у меня отваливется интернет, поэтому при запуске нодов я указала -nodeTimeout 900, если быть точнее, запускаю так:

> java -jar selenium-server-standalone-2.21.0.jar -role wd -hub http://localhost:4444/grid/registr -nodeT
imeout 900 -browser browserName=firefox -browser browserName=firefox

В результате после того как интернет снова появляется, тесты в одном потоке продолжают свое выполнение, а во втором в окне бразура ничего не происходит и оно закрывается - я так понимаю - как раз через 900 секунд:

May 17, 2012 7:42:58 AM SessionCleanup
WARNING: session ext. key 1337264783213 has TIMED OUT due to client inactivity a
nd will be released.

Можно ли сделать так, чтобы тесты продолжали выполнение в обоих потоках?



#105485 WebDriver + MBUnit + параллельные разные браузеры

Отправлено автор: mzzz 14 мая 2012 - 15:12 в Selenium - Functional Testing

TestNG можно использовать как вариант: http://testng.org/do...arallel-running



#105450 Selenium IDE условие "IF"

Отправлено автор: mzzz 14 мая 2012 - 08:44 в Selenium - Functional Testing

Если знаете javasctipt, можете обойтись без расширений, например:

runScript

if(document.getElementById('p1').style.display == 'inline') document.getElementById('p1').click(); else document.getElementById('p2').click();

//если видим элемент "p1" - делаем клик по нему, иначе делаем клик по "p2"



#103667 Проверка нескольких полей одной командой.

Отправлено автор: mzzz 06 апреля 2012 - 12:57 в Selenium - Functional Testing

По-моему, нужно кнтретезировать что именно требуется.
Если говорить о наличие, вот так например можно проверить что есть 3 input-a в элементе span:

verifyElementPresent | //span[@class="fv-tw" and input[1] and input[2] and input[3]]



#101847 Зависает Internet Explorer после click-а по кнопке

Отправлено автор: mzzz 05 марта 2012 - 08:47 в Selenium - Functional Testing

Может быть хоть кто-то может что-нибудь посоветовать, очень нужно! Буду благодарна любой подсказке!



#101770 Зависает Internet Explorer после click-а по кнопке

Отправлено автор: mzzz 02 марта 2012 - 13:55 в Selenium - Functional Testing

Очень надеюсь на вашу помощь!
Долго билась над тестом для Internet Explorer, в результате тест нормально работал, пока я не запустила его параллельно в Internet Explorer и Firefox-е. В момент, когда тест заполняет поля и нажимает кнопку сабмит, Internet Explorer зависает и иногда закрывается вообще с сообщением

WARNING: session ext. key 1330680407165 has TIMED OUT while being processed in node <http://node_ip:5555/wd/hub>and will be released.
The remote node or browser is probably in trouble.
При этом тот же тест в firefox работает без проблем.

Последовательность моих действий:
1. запуск хаба: java -jar selenium-server-standalone-2.20.0.jar -role hub
2. запуск нодов: java -jar selenium-server-standalone-2.20.0.jar -role wd -hub http://localhost:4444/grid/register -browser "browserName=internet explorer"
-jar selenium-server-standalone-2.20.0.jar -role wd -port 5556 -hub http://localhost:4444/grid/register -browser "browserName=firefox"
3. запускаю тест из Eclipse указав в конфигурации запуска testNG xml файл.

Кто-нибудь сталкивался с подобной проблемой? Или может подскажите идею, как это можно решить?



#101483 переход на WebDriver

Отправлено автор: mzzz 24 февраля 2012 - 14:38 в Selenium - Functional Testing

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


driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS) без проблем работает в firefox, но если те же тесты запустить в Internet Explorer, то появляются исключения org.openqa.selenium.StaleElementReferenceException: Element is no longer valid, причем при каждом запуске тестов исключения появляются в разных местах. Насколько я понимаю, это как раз тот случай, где нужно использовать Explicit Waits. Или на самом деле проблема может быть в чем-то другом?



#101429 Selenium ide Array

Отправлено автор: mzzz 22 февраля 2012 - 15:46 в Selenium - Functional Testing

После clickAndWait waitForPageToLoad не требуется, тк clickAndWait подразумевает, что "If the click action causes a new page to load (like a link usually does), call waitForPageToLoad".

Я бы сделала так:
1. Нажатие кнопки "Сабмит" (clickAndWait, таргет=css=input.submitBtn)
2. Ожидание того, что появится нужный текст (waitForTextPresent, value="нужный текс").



#101419 Selenium ide Array

Отправлено автор: mzzz 22 февраля 2012 - 13:35 в Selenium - Functional Testing

Так а может быть страница и загрузилась? В зависимости от того, какая стоит задача, можно еще паузу поставить:

pause(waitTime)
Arguments:

waitTime - the amount of time to sleep (in milliseconds)

Wait for the specified amount of time (in milliseconds)



#101400 Selenium ide Array

Отправлено автор: mzzz 22 февраля 2012 - 09:55 в Selenium - Functional Testing

Если хочешь добавить время ожидания на данном конкретном шаге, то перед waitForPageToLoad нужно добавить setTimeout с указанием времени ожидания в милисекундах.
Если хочешь поменять время ожидания по умолчанию везде и всегда - смотри опции и меняй там Default timout value.



#101394 Selenium ide Array

Отправлено автор: mzzz 22 февраля 2012 - 08:30 в Selenium - Functional Testing

setTimeout | 60000 |
waitFor... | |

setTimeout(timeout)
Arguments:

timeout - a timeout in milliseconds, after which the action will return with an error

Specifies the amount of time that Selenium will wait for actions to complete.

Actions that require waiting include "open" and the "waitFor*" actions.
The default timeout is 30 seconds.

Или в IDE Options -> Options... -> поменять Default timout value of recorded command in milliseconds (30s = 30000ms)



#100942 Тесты для safari, selenium 2

Отправлено автор: mzzz 13 февраля 2012 - 16:31 в Selenium - Functional Testing

Добрый день!
Возникла проблема с запуском тестов в safari.

Запускаю хаб: java -jar selenium-server-standalone-2.17.0.jar -role hub
Запускаю нод: java -jar selenium-server-standalone-2.17.0.jar -role wd -hub http://myServerHost:4444/grid/register -browser "browserName=safari"

setUp() метод в тесте:
    baseUrl = "http://google.ru";
    DesiredCapabilities capability = new DesiredCapabilities();
    capability.setBrowserName("safari");
    CommandExecutor executor = new SeleneseCommandExecutor(new URL("http://myServerHost:4444/wd/hub"), new URL(baseUrl), capability);
    driver = new RemoteWebDriver(executor, capability);
    driver.get(baseUrl);
В результате:
FAILED CONFIGURATION: @BeforeClass setUp
org.openqa.selenium.WebDriverException: Could not start Selenium session: org%2Eopenqa%2Egrid%2Ecommon%2Eexception%2EGridException%3A+
Error+forwarding+the+new+session+cannot+find+%3A+%7BbrowserName%3D%2Asafari%7D
Command duration or timeout: 85 milliseconds
Build info: version: '2.16.1', revision: '15405', time: '2012-01-05 12:23:54'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '2.6.32-38-generic', java.version: '1.6.0_24'
Driver info: driver.version: RemoteWebDriver
	at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:147)
	at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:113)
	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:435)
	at org.openqa.selenium.remote.RemoteWebDriver.startSession(RemoteWebDriver.java:135)
	at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:94)
	at com.testscripts.Login_Safari.setUp(Login_Safari.java:34)
Caused by: java.lang.RuntimeException: Could not start Selenium session: org%2Eopenqa%2Egrid%2Ecommon%2Eexception%2EGridException%3A+
Error+forwarding+the+new+session+cannot+find+%3A+%7BbrowserName%3D%2Asafari%7D
	at com.thoughtworks.selenium.DefaultSelenium.start(DefaultSelenium.java:123)
	at org.openqa.selenium.internal.selenesedriver.NewSession.apply(NewSession.java:34)
	at org.openqa.selenium.internal.selenesedriver.NewSession.apply(NewSession.java:1)
	at org.openqa.selenium.SeleneseCommandExecutor.execute(SeleneseCommandExecutor.java:132)
	at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:412)
Подскажите плиз что не так!!!



#100102 Проблема с запуском нескольких классов через xml в testng

Отправлено автор: mzzz 27 января 2012 - 09:20 в Selenium - Functional Testing

Вопрос на понимание. Необходимо запускать ряд тестов, один за другим, но одновременно в нескольких браузерах на двух разных машинах. Используется Selenium Grid 2.
Вопрос: для этого мне необходимо, например, с помощью TestNG в xml файле указать запуск тестов параллельно? То есть Selenium Grid 2 позволяет указать, где какие нужные нам браузеры находятся, а конкретно для запуска тестов необходим инструмент, который позволит запустить несколько тестов сразу?



#99547 Выбор подходящего инструмента для тест менеджмента

Отправлено автор: mzzz 12 января 2012 - 15:28 в Начинающему тестировщику

Добрый день.
Мною был создан набор тестов в Selenium IDE, теперь стоит задача запускать тесты на виртуальных машинах для различных браузеров.
Для этой цели использовался (не мной) Bromine (http://www.brominefoundation.org/).

Вопрос в следующем, если перейти на webdriver, можно ли будет обойтись только селениумом или нужно искать еще что-то для тест менеджмента?

От Bromine решили отказаться, т.к.

We are sad to inform you that we, the core devs are officially ending development on Bromine :(


а Selenium RC я не рассматриваю (может быть ошибочно), т.к.

Предшественником Selenium WebDriver является инструмент Selenium RC, который в настоящее время имеет статус "замороженного" и в дальнейшем развиваться не будет.
Поэтому, если Вы ещё продолжаете использовать Selenium RC, рекомендуем Вам рассмотреть варианты миграции на Selenium WebDriver.


Надеюсь на полезные ответы с учетом понимания Вами моей (пока) не компетентности в данном вопросе. Спасибо.