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

Qasl

Регистрация: 06 июн 2014
Offline Активность: 10 июл 2014 10:52
-----

Мои сообщения

В теме: Как выделить картинку без опознавательных знаков?

26 июня 2014 - 12:49

Всем спасибо,проблема решена.Т.к. клиент только для ИЕ,то взяли другой аналогичный,но новый и который подходит под все браузеры (чудом вспомнила,что он есть).И путем расследования было установлено,что дерева два,одно из которых невидимое и именно его он находит.Помогла проставка очередности.Чуть чаем монитор от счастья не забрызгала :С


В теме: Как выделить картинку без опознавательных знаков?

26 июня 2014 - 12:13

А скажите, что именно делает ваше ожидание? И имеет ли оно какое-либо отношение к вашему эксепшену?

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


В теме: Как выделить картинку без опознавательных знаков?

26 июня 2014 - 11:44

Приведенные локаторы однозначно определяют элемент в рамках данного вами сорса.
Однозначно ответить на вопрос, почему вы получаете ElementNotVisibleException, можете только вы.
В общем случае варианта два:
1. На странице существует невидимый элемент, который подходит под данный локатор
2. Надо добавить ожидание на "видимость"

Ожидание есть:

public void TestGrotTree() {
        WebElement GrotTree = (new WebDriverWait(driver, 5))
                .until(ExpectedConditions.presenceOfElementLocated(By.xpath("//div[text()='Закрыт']/../preceding-sibling::td/img")));
        GrotTree.click();

Я уже совсем в панике -_-


В теме: Как выделить картинку без опознавательных знаков?

26 июня 2014 - 10:21

текст точно такой ('Закрыт' а не 'Текст - Закрыт')?

локатор проверяли в фаербаге?

Клиент только для ИЕ :) Текст точно просто 'Закрыт'

 

 

А, туплю.
Должно сработать:
//div[.='Закрыт']/../preceding-sibling::td/img

Со string() надо по-аккуратнее :)
//div[text()='Закрыт']/../preceding-sibling::td/img

 

Так тоже ошибка :С (выше)


В теме: Как выделить картинку без опознавательных знаков?

26 июня 2014 - 10:07

А, туплю.

Должно сработать:

//div[.='Закрыт']/../preceding-sibling::td/img

org.openqa.selenium.ElementNotVisibleException: Cannot click on element (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 384 milliseconds
Build info: version: '2.42.2', revision: '6a6995d', time: '2014-06-03 17:42:30'
Driver info: org.openqa.selenium.ie.InternetExplorerDriver
Capabilities [{platform=WINDOWS, javascriptEnabled=true, elementScrollBehavior=0, enablePersistentHover=true, ignoreZoomSetting=false, ie.ensureCleanSession=false, browserName=internet explorer, enableElementCacheCleanup=true, unexpectedAlertBehaviour=dismiss, version=9, ie.usePerProcessProxy=false, cssSelectorsEnabled=true, ignoreProtectedModeSettings=true, requireWindowFocus=false, handlesAlerts=true, initialBrowserUrl=http://localhost:12800/, ie.forceCreateProcessApi=false, nativeEvents=true, browserAttachTimeout=0, ie.browserCommandLineSwitches=, takesScreenshot=true}]
 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
 at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
 at java.lang.reflect.Constructor.newInstance(Unknown Source)
 at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:204)
 at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:156)
 at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:599)
 at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:268)
 at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:79)
 at ru.ot.grot.MainTestNG.TestGrotTree(MainTestNG.java:126)
 at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 at java.lang.reflect.Method.invoke(Unknown Source)
 at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:84)
 at org.testng.internal.Invoker.invokeMethod(Invoker.java:714)
 at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:901)
 at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1231)
 at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:127)
 at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:111)
 at org.testng.TestRunner.privateRun(TestRunner.java:767)
 at org.testng.TestRunner.run(TestRunner.java:617)
 at org.testng.SuiteRunner.runTest(SuiteRunner.java:334)
 at org.testng.SuiteRunner.runSequentially(SuiteRunner.java:329)
 at org.testng.SuiteRunner.privateRun(SuiteRunner.java:291)
 at org.testng.SuiteRunner.run(SuiteRunner.java:240)
 at org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
 at org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
 at org.testng.TestNG.runSuitesSequentially(TestNG.java:1224)
 at org.testng.TestNG.runSuitesLocally(TestNG.java:1149)
 at org.testng.TestNG.run(TestNG.java:1057)
 at org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)
 at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
 at org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)

Почему то не может кликнуть