Встреча аналитиков в Циферблате
2013-10-09 12:37
Коллеги! Приглашаем вас принять участие во встрече, которые устраивают наши друзья аналитики 11.10 (пятница) в Циферблате. Может быть родится ещё одно профессиональное сообщество. Планируется пара мини-докладов и обсуждение в формате «посиделок».
Повестка дня:
Александр Бухаленков (Консультант) «Примеры реальной пользы от IT-систем»
Наталья Узенцова (Total Objects) «Путь от аналитика к тестировщику и обратно»
[Вопросы участников]
[Вопросы участников]
[...]
Приглашаем всех кто хочет поделиться профессиональными знаниями или просто познакомиться с коллегами. Регистрация не требуется.
Когда: 11.10.2013 (пятница) с 19-00 и до момента пока все темы не обсудим (закончим около 21-00). (в календарь)
Где: «Циферблат», Невский проспект, 81. Вход с Невского проспекта. Справа от арки дверь с домофоном, нажмите на нём кнопочку «Циферблат». Поднимайтесь на второй этаж, при входе скажите, что вы к аналитикам.
Время начала: С 18-45 происходит сбор участников. Само обсуждение начинается примерно в 19-10 - 19-15, как разговоримся. Это не формальное мероприятие, а дружеская беседа, поэтому можно прийти/уйти в удобное время (заплатив Циферблату только за проведённые минуты).
Стоимость: Участие условно-бесплатное. Надо оплатить время пребывания в Циферблате — 2р/минута первый час, 1р/мин следующие часы, т.е. за 2ч надо будет заплатить 180р. Кроме нахождении в пространстве, можно пить чай/кофе и есть печенки в любых количествах:) При желании можно принести еду с собой.
Selenium + Thucydides + Java: драйвер не видит "скрытые" элеме
2013-10-09 17:10
Неожиданно столкнулась с проблемой. Selenium перестал видеть элемент, если он находится за границей экрана.
Суть: на нажатие кнопки открывается список с названиями банков, после клика на банк открывается список с его филиалами. Список большой, более 40 наименований. Соответственно показывается список с прокруткой экрана.
В ходе теста я получаю xpath, абсолютно валидный (проверено неоднократно). Если попробовать кликнуть по этому xpath вручную, то выбранный банк прекрасно находится (даже если он за границей видимости экрана) и открывается. Почему это не происходит в тесте - не понимаю. Ранее Selenium такие варианты прекрасно обрабатывал. Попробовала выставить ожидание элемента (мало ли, он не успевает подгрузиться) - не помогло.
Код:
List<WebElement> bankList = getDriver().findElements(By.xpath("//*[@id='bank']/li"));
int bankCount = bankList.size();
int randomChose = new Random().nextInt(bankCount)+1;
System.out.println("Chosen bank ["+randomChose+"]");
for(int i = 0; i < 20; i++){
waitABit(500);
if (element(bankList.get(randomChose)).isVisible()) i = 20;
}
getDriver().findElement(By.xpath("//*[@id='bank']/li["+randomChose+"]/span")).click();
List<WebElement> filialList = getDriver().findElements(By.xpath("//*[@id='bank']/li[" + randomChose + "]/ul/li"));
int filialCount = filialList.size();
int randomFilial = new Random().nextInt(filialCount)+1;
for(int i = 0; i < 10; i++){
waitABit(500);
if (element(filialList.get(randomFilial)).isVisible()) i = 10;
}
getDriver().findElement(By.xpath("//*[@id='bank']/li["+randomChose+"]/ul/li["+randomFilial+"]")).click();
}
Трейс сообщения об ошибке:
Скрытый текст
net.thucydides.core.webdriver.WebdriverAssertionError: org.openqa.selenium.ElementNotVisibleException: Element is not currently visible and so may not be interacted with
Command duration or timeout: 20 milliseconds
Build info: version: '2.32.0', revision: '6c40c187d01409a5dc3b7f8251859150c8af0bcb', time: '2013-04-09 10:39:28'
System info: os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_21'
Session ID: afc01658-ddac-4908-8c48-972b6fac712a
Driver info: org.openqa.selenium.firefox.FirefoxDriver
Capabilities [{platform=XP, databaseEnabled=true, cssSelectorsEnabled=true, javascriptEnabled=true, acceptSslCerts=true, handlesAlerts=true, browserName=firefox, browserConnectionEnabled=true, nativeEvents=true, webStorageEnabled=true, rotatable=false, locationContextEnabled=true, applicationCacheEnabled=true, takesScreenshot=true, version=19.0.2}]
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:187)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:145)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:554)
at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:268)
at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:79)
at net.sf.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:228)
at net.thucydides.core.steps.StepInterceptor.executeTestStepMethod(StepInterceptor.java:278)
at net.thucydides.core.steps.StepInterceptor.runTestStep(StepInterceptor.java:256)
at net.thucydides.core.steps.StepInterceptor.testStepResult(StepInterceptor.java:127)
at net.thucydides.core.steps.StepInterceptor.intercept(StepInterceptor.java:53)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
at net.thucydides.junit.runners.ThucydidesStatement.evaluate(ThucydidesStatement.java:21)
at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
at net.thucydides.junit.runners.ThucydidesRunner.runChild(ThucydidesRunner.java:387)
at net.thucydides.junit.runners.ThucydidesRunner.runChild(ThucydidesRunner.java:60)
at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
at net.thucydides.junit.runners.ThucydidesRunner.run(ThucydidesRunner.java:234)
at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
at com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:77)
at com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:195)
at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:63)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Caused by: org.openqa.selenium.ElementNotVisibleException: Element is not currently visible and so may not be interacted with
Command duration or timeout: 20 milliseconds
Build info: version: '2.32.0', revision: '6c40c187d01409a5dc3b7f8251859150c8af0bcb', time: '2013-04-09 10:39:28'
System info: os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_21'
Session ID: afc01658-ddac-4908-8c48-972b6fac712a
Driver info: org.openqa.selenium.firefox.FirefoxDriver
Capabilities [{platform=XP, databaseEnabled=true, cssSelectorsEnabled=true, javascriptEnabled=true, acceptSslCerts=true, handlesAlerts=true, browserName=firefox, browserConnectionEnabled=true, nativeEvents=true, webStorageEnabled=true, rotatable=false, locationContextEnabled=true, applicationCacheEnabled=true, takesScreenshot=true, version=19.0.2}]
... 49 more
Caused by: org.openqa.selenium.remote.ErrorHandler$UnknownServerException: Element is not currently visible and so may not be interacted with
Build info: version: '2.32.0', revision: '6c40c187d01409a5dc3b7f8251859150c8af0bcb', time: '2013-04-09 10:39:28'
System info: os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_21'
Driver info: driver.version: unknown