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

Публикации Qasl

15 публикаций создано Qasl (учитываются публикации только с 24 апреля 2023)


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

Отправлено автор: Qasl 26 июня 2014 - 12:49 в Selenium - Functional Testing

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




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

Отправлено автор: Qasl 26 июня 2014 - 12:13 в Selenium - Functional Testing

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

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




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

Отправлено автор: Qasl 26 июня 2014 - 11:44 в Selenium - Functional Testing

Приведенные локаторы однозначно определяют элемент в рамках данного вами сорса.
Однозначно ответить на вопрос, почему вы получаете 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();

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




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

Отправлено автор: Qasl 26 июня 2014 - 10:21 в Selenium - Functional Testing

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

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

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

 

 

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

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

 

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




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

Отправлено автор: Qasl 26 июня 2014 - 10:07 в Selenium - Functional Testing

А, туплю.

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

//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)

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




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

Отправлено автор: Qasl 26 июня 2014 - 08:59 в Selenium - Functional Testing

//tbody/tr[1]/td[1]/img

Дерево все время перестраивается :С К сожалению,этот вариант не подойдет




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

Отправлено автор: Qasl 26 июня 2014 - 08:37 в Selenium - Functional Testing

<div style="padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-bottom: 0px; margin-left: 0px;">
  <table style="white-space: nowrap;">
    <tbody>
      <tr>
        <td style="vertical-align: middle;">
           <img style="width: 16px; height: 16px; background-image: url("http://tes.sameurl.ter:8088/main_rem/EDC7827FEEA59EE44AD790B1C6430C45.cache.png"); background-attachment: scroll; background-repeat: no-repeat; background-position-x: -32px; background-position-y: 0px; background-color: transparent;" onload="this.__gwtLastUnhandledEvent="load";" src="http://tes.sameurl.ter:8088/main_rem/clear.cache.gif" border="0" __gwtLastUnhandledEvent="load"/>
        <td style="vertical-align: middle;">
           <div class="gwt-TreeItem" id="gwt-uid-53" role="treeitem" style="display: inline;">
             Текст - Закрыт



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

Отправлено автор: Qasl 26 июня 2014 - 05:49 в Selenium - Functional Testing

Доброго времени суток,

проблема такова: Есть раскрывающееся дерево списка,которое по двойному нажатию на текст не раскрывается.Раскрытие происходит исключительно по нажатию на кнопку "+",которая является картинкой.Я не знаю как к ней подобраться,т.к. не вижу за что можно у нее уцепиться:

<img style="width: 16px; height: 16px; background-image: url("http://tes.sameurl.ter:8088/main_rem/EDC7827FEEA59EE44AD790B1C6430C45.cache.png"); background-attachment: scroll; background-repeat: no-repeat; background-position-x: -32px; background-position-y: 0px; background-color: transparent;" onload="this.__gwtLastUnhandledEvent="load";" src="http://tes.sameurl.ter:8088/main_rem/clear.cache.gif" border="0" __gwtLastUnhandledEvent="load"/>

Есть ли какие то способы подобраться к ней через текст,который рядом или как то еще?




#131122 события мыши (mousemove, mouseover) в webdriver

Отправлено автор: Qasl 11 июня 2014 - 07:55 в Selenium - Functional Testing

А вы всё в один билдер запихните, он на то и нужен чтобы цепочку действий воспроизводить (мув-клик-перформ).

Попробовали,с начала показалось.что помогло.Но нет.Он находил,кликал(но клика не происходило) и он почему то успешно завершал тест.

 

Сделали через ожидания,что бы он ждал пока меню полностью не вылезет и он не найдет элемент и тогда уже тыкать.Меню вылазит элемент находит,но когда он пытается тыкнуть на элемент.меню резко зарывается,потому что при клике мышка как бы дергается совершать другое действие,а меню реагирует на любые движения своим закрытием.

 

Корень всех бед-кривое невидимое меню,за которое нельзя зацепиться,поэтому курсор двигается к левой панельке угла,при наведении на которую меню вылазит.Как я думаю,поэтому при клике происходит сдвиг мышки в другую сторону.




#131102 события мыши (mousemove, mouseover) в webdriver

Отправлено автор: Qasl 10 июня 2014 - 11:46 в Selenium - Functional Testing

Прошу помощи.

Задача: нажать на элемент в меню,которое появляется только после наведения курсора на боковую панель.

public void minikotik() {
        Actions builder = new Actions(driver);
        builder.moveToElement(
                driver.findElement(By
                        .xpath("//div[@class='jw-TitleRoundPanel jw-TitleRoundPanel-round-left']")))
                .build().perform();

        driver.findElement(By.xpath("//*[text()='Координация']")).click();
    }

Он наводит,меню выпадает,но нажать он не успевает и уводит курсор как будто в сторону.Добавили как писали выше класс ListenerThatWaitsBeforeAnyAction.

Частично помогло,сначало он исправно нажимал,а потом в один прекрастный момент перестал,как бы не экспериментировали со временем ничего не выходит.Меню то выдвигается,то задвигается обратно несколько раз.

 

Может можно как то после наведения курсора заставить его удерживать текущую позицию и не двигаться?




#131046 Selenium не успевает делать скрин alert окна

Отправлено автор: Qasl 06 июня 2014 - 13:04 в Selenium - Functional Testing

1. Скриншот делается для текущего окна. Если в ходе теста у вас появляется поп-ап и тест фейлится, при этом вы не свичаетесь в новый поп-ап, скрин будет для текущего окна.
2. Если у вас не поп-ап, а простой js alert - то на скрине вы его не увидите, т.к. данные алерты есть модальные окна на уровне операционной системы, а скринится только контент страницы.

у нас второй вариант -_- Решили обойти с помощью явовской скринилки-она скринит полностью раб.стол,захватывая все окна.

Но опять встает вопрос на каком моменте он должен скринить.Если после фейла теста,то селениум просто так же будет закрывать это окно до момента скриншота.

 

 

some text

 

 

и тут на помощь пришли вы \о/

Сделали так:

Осталась вся так же скринилка в отдельном классе,привязанная к фейлу теста и теперь окно закрывается не сразу,т.к. добавили:

@AfterMethod
    public void takeScreenshot() throws IOException{
        BufferedImage image;
        try {
            image = new Robot().createScreenCapture(new Rectangle(
                    Toolkit.getDefaultToolkit().getScreenSize()));
            ImageIO.write(image, "png", new File("c://z.png"));
        } catch (HeadlessException e) {
            e.printStackTrace();
        } catch (AWTException e) {
            e.printStackTrace(); }
        }

Всем спасибо




#131042 Selenium не успевает делать скрин alert окна

Отправлено автор: Qasl 06 июня 2014 - 11:39 в Selenium - Functional Testing

Это хорошо, а остальные @After* ?

Остальные не определены




#131039 Selenium не успевает делать скрин alert окна

Отправлено автор: Qasl 06 июня 2014 - 11:29 в Selenium - Functional Testing

А я и не спрашивал про скриншот.

Я спрашивал про то, что у вас происходит после метода, класса, сьюта.

т.к. вы говорите, что селениум, якобы сам, всё закрывает, а вы нет, вот и покажите, что у вас после тестов нет закрытия браузера или покажите что у вас происходит после работы теста.

В таком случае вот:

@AfterTest
    public void stopDriver() {

    }

но нету ничего.совсем




#131035 Selenium не успевает делать скрин alert окна

Отправлено автор: Qasl 06 июня 2014 - 11:08 в Selenium - Functional Testing

Приведите листинг 

Методов @After*

скриншот делается не в метода @After*, а написан следующий листенер:

 

Скрытый текст

 

и подключается к тесту следующим образом:

@Listeners(CaptureScreenshotOnFailureListener.class)




#131027 Selenium не успевает делать скрин alert окна

Отправлено автор: Qasl 06 июня 2014 - 08:37 в Selenium - Functional Testing

Доброго времени суток. Гугл слаб да и я тоже.К сожалению,нигде не могу найти даже немного похожей проблемы,поэтому прошу совета у вас.

 

Для начала: пишем тесты на вебдрайвере +ява+тест нг для ие

Сам тест должен логинится на сайт и если что то введено не верно,то расценивать это как ошибку и делать скрин. Проблема,что при неверном логине или пароле вылазит новое окно с сообщением о неправильности ввода.

 

Мы привязали скринилку к фейлу теста,т.е. тест фейлится=мы делаем скрин.

Селениум при неуспешном тесте сам закрывает все мелкие окна(умница то какой) почему не понятно.Скрин же делается уже после завершения теста и не зависим от него.Поэтому он просто не успевает заскринить это окно.т.к. тест на тот момент уже завершен и селениум все благополучно закрыл.

 

Можно как то объяснить своевольному селениуму,что нужно оставить окно в покое даже после фейла?

 

п.с. могу заверить,что ни одной команды на закрытие всплывающих окон не написано  и даже браузер он не должен трогать после завершения(что и не делает).