- Форум тестировщиков
- → Публикации Jenka156
Публикации Jenka156
138 публикаций создано Jenka156 (учитываются публикации только с 29 апреля 2023)
По типу контента
По пользователю
#105207 поиск битых ссылок
Отправлено автор: Jenka156 05 мая 2012 - 08:47 в Автоматизированное тестирование
спасибо за ответы!
#105339 поиск битых ссылок
Отправлено автор: Jenka156 11 мая 2012 - 08:35 в Автоматизированное тестирование
а вот еще такой вопрос: есть ли какое-нибудь средство, которое соберет все ссылки со всего сайта и проверит наличие атрибута rel="nofollow" где необходимо?
я знаю как сделать такую проверку используя selenium, но понятия не имею как собрать все все ссылки...
я знаю как сделать такую проверку используя selenium, но понятия не имею как собрать все все ссылки...
#98933 что делать с ошибкой Element cannot be scrolled into view
Отправлено автор: Jenka156 20 декабря 2011 - 11:53 в Selenium - Functional Testing
кто нибудь встречался с этой ошибкой?
на сайте имеются боковые кнопки, при нажатии на которые страница прокручивается вправо или влево к другим разделам.
Когда тест запускается в хроме, то все нормально. страница прокручивается как надо.
Но когда тест запускается в firefox или IE или Opera, то выпадает такая ошибка:
страница никуда не прокручивается.
Как с этим разобраться можно?
на сайте имеются боковые кнопки, при нажатии на которые страница прокручивается вправо или влево к другим разделам.
Когда тест запускается в хроме, то все нормально. страница прокручивается как надо.
Но когда тест запускается в firefox или IE или Opera, то выпадает такая ошибка:
org.openqa.selenium.interactions.MoveTargetOutOfBoundsException: Element cannot be scrolled into view:http://2do2go.mordor.fabit.ru/feed Command duration or timeout: 31 milliseconds Build info: version: '2.15.0', revision: '15105', time: '2011-12-08 09:56:25' System info: os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.7.0_01' Driver info: driver.version: RemoteWebDriver Command duration or timeout: 301 milliseconds Build info: version: '2.15.0', revision: '15105', time: '2011-12-08 09:56:25' System info: os.name: 'Linux', os.arch: 'amd64', os.version: '2.6.32-36-generic', java.version: '1.6.0_20' Driver info: driver.version: RemoteWebDriver
страница никуда не прокручивается.
Как с этим разобраться можно?
#98981 что делать с ошибкой Element cannot be scrolled into view
Отправлено автор: Jenka156 21 декабря 2011 - 08:28 в Selenium - Functional Testing
прямо на главной странице есть боковые вкладки для перехода на разделы. Справа Топ, слева Календарь.
Вот код, который я использую для перехода:
и вот прикреплена maff-копия
Вот код, который я использую для перехода:
@Test(alwaysRun=true) public void Tabs() throws InterruptedException{ //-- переход на Календарь this.WaitForElementLoad(120, "//div[@id='right-local-nav']/a[@class='local-nav-btn']"); driver.findElement(By.xpath("//div[@id='right-local-nav']/a[@class='local-nav-btn']")).click(); this.WaitForElementLoad(120, "//div[@id='left-local-nav']/a[@class='local-nav-btn']/*[text()='Лента']"); Assert.assertTrue(this.IsElementPresent("//div[@id='left-local-nav']/a[@class='local-nav-btn']/*[text()='Лента']")); driver.findElement(By.xpath("//table[@class='cal-week']")); //-- переход на Ленту driver.findElement(By.xpath("//div[@id='left-local-nav']/a[@class='local-nav-btn']")).click(); this.WaitForElementLoad(120, "//div[@id='left-local-nav']/a[@class='local-nav-btn']/*[text()='Топ']"); Assert.assertTrue(this.IsElementPresent("//div[@id='left-local-nav']/a[@class='local-nav-btn']/*[text()='Топ']")); driver.findElement(By.xpath("//div[@class='main-block-head active-head']")); //-- переход на Топ driver.findElement(By.xpath("//div[@id='left-local-nav']/a[@class='local-nav-btn']")).click(); this.WaitForElementLoad(120, "//div[@id='top_content']"); Assert.assertTrue(this.IsElementPresent("//div[@id='top_content']")); driver.findElement(By.xpath("//h1[text()='Топ']")); } public class ElementPresent implements ExpectedCondition<WebElement> { private final By locator; public ElementPresent(By locator) { this.locator = locator; } @Override public WebElement apply(WebDriver driver) { return driver.findElement(locator); } } public void WaitForElementLoad(int time, String element_xpath){ new WebDriverWait(driver, time).until(new ElementPresent(By.xpath(element_xpath))); }
и вот прикреплена maff-копия
Прикрепленные файлы
- maff.tar.gz 97,47К 1 Количество загрузок:
#98990 что делать с ошибкой Element cannot be scrolled into view
Отправлено автор: Jenka156 21 декабря 2011 - 10:01 в Selenium - Functional Testing
спасибо большое! буду пробовать)
#93845 данные для тестов
Отправлено автор: Jenka156 08 сентября 2011 - 05:04 в Selenium - Functional Testing
спасибо большое всем!)))
#93723 данные для тестов
Отправлено автор: Jenka156 06 сентября 2011 - 06:39 в Selenium - Functional Testing
Нужно видимо эти данные придумать, уточните у своего лида.
да я тут одна к сожалению. меня посадили и сказали: пиши тесты)) я понятия не имела вообще как это делается. разобралась вроде, а вот с частью данных проблемы. то что эти данные придумать надо - это точно, потому что тестирую на тестовой площадке (тут можно что хочешь придумывать). проблема в том, как перед началом теста нужные данные внести в систему, чтобы их использовать?
Я, например, храню в БД список когда-либо зарегистрированных клиентов
у меня по этому поводу условие, надо чтоб тест после себя все удалял, чтоб типа не засорять базу и саму систему.
я сначала думала запускать цепочку тестов по очереди, сначала создать подразделения, потом пользователей, потом задачи, а потом все это удалить. но когда представила какой длины может быть эта цепочка дальше... ну и вообще, было бы лучше если все эти тесты независимо друг от друга выполнялись.
меня вобщем-то интересует такой вопрос: можно ли как-нибудь перед началом теста занести необходимые данные в систему, а в конце теста удалить их? может есть для этого какие нибудь "инструменты"?
я использую связку selenium rc + phpUnit.
#93770 данные для тестов
Отправлено автор: Jenka156 06 сентября 2011 - 13:08 в Selenium - Functional Testing
Довольно много времени ушло на создание методов для работы с базой
а эти методы работают через интерфейс приложения или напрямую с базой?
#93716 данные для тестов
Отправлено автор: Jenka156 06 сентября 2011 - 05:34 в Selenium - Functional Testing
Здравствуйте! у меня, как у новичка, такой вопрос есть.
помогите разобраться. у меня есть 3 теста: по подразделениям, по пользователям и по задачам для пользователей.
все эти тесты заносят данные в систему и потом в конце удаляют их.
так вот проблема в том, что например, для создания задач сначала нужно иметь в системе каких то пользователей, а для создания этих пользователей нужно иметь подразделения.
получается такая вот последовательность... а дальше тестов будет больше, и данных для каждого из них нужно будет все больше и больше.
в интернете понятных статей о том, откуда взять нужные данные для теста, я к сожалению не нашла....
может мне кто нибудь объяснить, как поступать в такой ситуации? или нужно запускать последовательность тестов?
помогите разобраться. у меня есть 3 теста: по подразделениям, по пользователям и по задачам для пользователей.
все эти тесты заносят данные в систему и потом в конце удаляют их.
так вот проблема в том, что например, для создания задач сначала нужно иметь в системе каких то пользователей, а для создания этих пользователей нужно иметь подразделения.
получается такая вот последовательность... а дальше тестов будет больше, и данных для каждого из них нужно будет все больше и больше.
в интернете понятных статей о том, откуда взять нужные данные для теста, я к сожалению не нашла....
может мне кто нибудь объяснить, как поступать в такой ситуации? или нужно запускать последовательность тестов?
#100103 помогите новичку в Селениуме
Отправлено автор: Jenka156 27 января 2012 - 09:27 в Selenium - Functional Testing
можно попробовать унаследовать класс с методами
#107246 Хром + селениум = хром + селениум.
Отправлено автор: Jenka156 02 июля 2012 - 11:10 в Selenium - Functional Testing
кладете куда-нибудь, а потом правой кнопкой по Компьютеру -> Свойства -> Дополнительные параметры системы -> Переменные среды -> в окошке Системные переменные находите переменную Path и в нее дописываете путь до своего хромдрайвера. У меня, например, путь выглядит так: C:\chrome-driver
#103866 пересылка кода подтверждения на телефон
Отправлено автор: Jenka156 10 апреля 2012 - 11:43 в Selenium - Functional Testing
Здравствуйте! есть такая проблема: при регистрации на сайте на телефон высылается код активации аккаунта.
Есть ли какая-нибудь возможность проверить это с помощью тестов?
Может существуют какие-то методы для такого?
Есть ли какая-нибудь возможность проверить это с помощью тестов?
Может существуют какие-то методы для такого?
#103920 пересылка кода подтверждения на телефон
Отправлено автор: Jenka156 10 апреля 2012 - 17:34 в Selenium - Functional Testing
Что именно? Доставку сообщения на телефон или сам код?
ну надо бы как-то вытащить именно код. факт прихода сообщения думаю не так важен, если что, это и руками можно проверить.
тут вся проблема заключается в том, что нет возможности автоматизировать процесс регистрации пользователя, из-за того, что без ввода кода не получится зарегистрироваться
Ну вообще это должно проверяться Unit тестами(если дело касается просто доставки).
Чтобы достать текст смски, на ум только приходит подрубить мобилу к компу. И юзнуть софт какойнить, который может считывать смски(процесс проходит автоматически, единственное софт не должен кодировать данные которые получает). А дальше уже получить какой-то файлик(в котором хранятся данные) и возиться с ним, чтобы получить текст смски
жесткий какой-то способ =)
#93081 selenium + phpunit тесты
Отправлено автор: Jenka156 24 августа 2011 - 05:48 в Selenium - Functional Testing
а метод getConfirmation() не подходит?
#93094 selenium + phpunit тесты
Отправлено автор: Jenka156 24 августа 2011 - 07:00 в Selenium - Functional Testing
вот покопалась на форуме. может эта тема поможет? http://software-test...um/topic/14964/
и вот еще http://swtesting.liv...l.com/5932.html
и вот еще http://swtesting.liv...l.com/5932.html
#103940 пересылка кода подтверждения на телефон
Отправлено автор: Jenka156 11 апреля 2012 - 06:32 в Selenium - Functional Testing
спасибо большое за ответы! Вчера программистов уже спрашивала, но они не очень охотно хотят помогать... Пойду-ка надавлю на них пожалуй =)))
потом отпишусь о результатах.
потом отпишусь о результатах.
#104887 Логирование в Selenium после прохождения тестов
Отправлено автор: Jenka156 26 апреля 2012 - 08:24 в Selenium - Functional Testing
testng строит нормальные читабельные отчеты http://testng.org/do...ml#test-results
#104076 пересылка кода подтверждения на телефон
Отправлено автор: Jenka156 12 апреля 2012 - 05:46 в Selenium - Functional Testing
вопрос решили. код действительно в базе есть. буду оттуда доставать его.
к сожалению регистрацию надо автоматизировать, чтоб она при каждом коммите проверялась...
Как понимаю вам нужны существующие пользователи для проведения автоматизированного тестирования, а не возможность автоматизации проверки создания новых пользователей. Создание нового пользователя (регистрацию) можно и руками проверить, не думаю, что это каждый день надо.
А пользователей для тестирования вы можете создать прямо в базе, даже не вспоминая не про какие эти коды регистрации.
Другой вариант, создать руками несколько пользователей и потом использовать их при автоматизированном тестировании, но я бы стал это рассматривать как промежуточный вариант на скорую руку. Все-таки создавать прямо в базе намного лучше, да и не сложно.
к сожалению регистрацию надо автоматизировать, чтоб она при каждом коммите проверялась...
#93086 selenium + phpunit тесты
Отправлено автор: Jenka156 24 августа 2011 - 06:32 в Selenium - Functional Testing
а это окно стандартное сообщение браузера или написанное разработчиками? у меня была похожая проблема. если стандартное, то достаточно после нажатия на "Удалить" прописать метод getConfirmation(). а если это окно, которое написано разработчиками, то тогда надо на него переключиться и после этого прописать нажатие на кнопку "ОК"
#98844 Как уменьшить время работы теста?
Отправлено автор: Jenka156 19 декабря 2011 - 06:11 в Selenium - Functional Testing
я использую вот такое:
получается что функция возвращает true в случае присутствия элемента и false если он отсутствует на странице
public boolean IsElementPresent(String element_xpath) { try{ driver.findElement(By.xpath(element_xpath)); return true; } catch(NoSuchElementException e){ return false; } }
получается что функция возвращает true в случае присутствия элемента и false если он отсутствует на странице
#92871 xpath для элементов, которые постоянно меняются местами
Отправлено автор: Jenka156 19 августа 2011 - 06:46 в Selenium - Functional Testing
Здравствуйте! Задача вот какая: есть два input элемента на странице. Сначала, когда страница открывается, они вообще отсутствуют в коде. Добавляются в код динамически при щелчке на место на странице, на котором они по идее находятся. Проблема в том, что идентифицировать эти input по каким то уникальным параметрам невозможно. параметр name у них вообще пустой, а id постоянно меняется. Вот код (это уже подгруженные элементы):
Пробовала идентифицировать через родителей:
Помогите, пожалуйста, разобраться с этим
<div class="x-grid3-scroller" id="ext-gen63" style="overflow-x: hidden; width: 1258px; height: 347px;"> <div class="x-layer x-editor x-small-editor x-grid-editor" id="ext-comp-1026" style="overflow: auto; position: absolute; z-index: 11000; visibility: hidden; left: -10000px; top: -10000px;"> <input type="text" name="" id="ext-comp-1025" autocomplete="off" size="20" class="x-form-text x-form-field" style="width: 631px; height: 16px;"></div> <div class="x-layer x-editor x-small-editor x-grid-editor" id="ext-comp-1036" style="overflow: auto; position: absolute; z-index: 11000; visibility: visible; left: 535px; top: 43px;"> <input type="password" name="" id="ext-comp-1035" autocomplete="off" size="20" class="x-form-text x-form-field" style="width: 631px; height: 16px;"> </div> </div>
Пробовала идентифицировать через родителей:
//div[@class='x-grid3-scroller']//div[@class='x-layer x-editor x-small-editor x-grid-editor'][1]//inputНо проблема обнаружилась в том, что если в разной последовательности эти элементы подгружаются в код, то и очередность у них разная. Сейчас например div id="ext-comp-1026", в котором находится нужный input стоит первым, но может быть и вторым, если он подгрузился в код вторым. И в тесте происходит ошибка, потому что нужные данные не туда вводятся.
Помогите, пожалуйста, разобраться с этим
#92881 xpath для элементов, которые постоянно меняются местами
Отправлено автор: Jenka156 19 августа 2011 - 11:10 в Selenium - Functional Testing
ааа, простите, забыла сказать... я в примере привела не все инпуты, там их больше. вот так выглядит полная картина:
Вот например 2 последних инпута отвечают за домашний (id="ext-comp-1039") и рабочий (id="ext-comp-1029") телефоны. Сейчас они расположены в коде друг за другом, потому что нажатия проводились последовательно сначала на поле домашнего телефона, потом на поле рабочего телефона. Но если сделать наоборот, то в коде сначала будет id="ext-comp-1029", а потом id="ext-comp-1039". Вот пример
Родители у них одинаковые (все атрибуты одинаковые), а следующий родитель общий идет. Получается что они различаются только айдишниками, которые постоянно меняются при перезагрузке страницы
<div class="x-layer x-editor x-small-editor x-grid-editor" id="ext-comp-1026" style="overflow: auto; position: absolute; z-index: 11000; visibility: visible; left: 534px; top: 22px;"> <input type="text" name="" id="ext-comp-1025" autocomplete="off" size="20" class="x-form-text x-form-field" style="width: 632px; height: 16px;"> </div> <div class="x-layer x-editor x-small-editor x-grid-editor" id="ext-comp-1036" style="overflow: auto; position: absolute; z-index: 11000; visibility: hidden; left: -10000px; top: -10000px;"> <input type="password" name="" id="ext-comp-1035" autocomplete="off" size="20" class="x-form-text x-form-field" style="width: 331px; height: 16px;"> </div> <div class="x-layer x-editor x-small-editor x-grid-editor" id="ext-comp-1028" style="overflow: auto; position: absolute; z-index: 11000; visibility: hidden; left: -10000px; top: -10000px;"> <input type="text" name="" id="ext-comp-1027" autocomplete="off" size="20" class="x-form-text x-form-field" style="text-align: left; width: 331px; height: 16px;"> </div> <div class="x-layer x-editor x-small-editor x-grid-editor" id="ext-comp-1038" style="overflow: auto; position: absolute; z-index: 11000; visibility: hidden; left: -10000px; top: -10000px;"> <input type="text" name="" id="ext-comp-1037" autocomplete="off" size="20" class="x-form-text x-form-field" style="width: 331px; height: 16px;"> </div> <div class="x-layer x-editor x-small-editor x-grid-editor" id="ext-comp-1040" style="overflow: auto; position: absolute; z-index: 11000; visibility: hidden; left: -10000px; top: -10000px;"> <input type="text" name="" id="ext-comp-1039" autocomplete="off" size="20" class="x-form-text x-form-field" style="width: 331px; height: 16px;"> </div> <div class="x-layer x-editor x-small-editor x-grid-editor" id="ext-comp-1040" style="overflow: auto; position: absolute; z-index: 11000; visibility: hidden; left: -10000px; top: -10000px;"> <input type="text" name="" id="ext-comp-1039" autocomplete="off" size="20" class="x-form-text x-form-field x-form-num-field" style="text-align: left; width: 331px; height: 16px;"> </div> <div class="x-layer x-editor x-small-editor x-grid-editor" id="ext-comp-1030" style="overflow: auto; position: absolute; z-index: 11000; visibility: hidden; left: -10000px; top: -10000px;"> <input type="text" name="" id="ext-comp-1029" autocomplete="off" size="20" class="x-form-text x-form-field x-form-num-field" style="text-align: left; width: 331px; height: 16px;"> </div>
Вот например 2 последних инпута отвечают за домашний (id="ext-comp-1039") и рабочий (id="ext-comp-1029") телефоны. Сейчас они расположены в коде друг за другом, потому что нажатия проводились последовательно сначала на поле домашнего телефона, потом на поле рабочего телефона. Но если сделать наоборот, то в коде сначала будет id="ext-comp-1029", а потом id="ext-comp-1039". Вот пример
<div class="x-layer x-editor x-small-editor x-grid-editor" id="ext-comp-1030" style="overflow: auto; position: absolute; z-index: 11000; visibility: hidden; left: -10000px; top: -10000px;"> <input type="text" name="" id="ext-comp-1029" autocomplete="off" size="20" class="x-form-text x-form-field x-form-num-field" style="text-align: left; width: 331px; height: 16px;"> </div> <div class="x-layer x-editor x-small-editor x-grid-editor" id="ext-comp-1040" style="overflow: auto; position: absolute; z-index: 11000; visibility: hidden; left: -10000px; top: -10000px;"> <input type="text" name="" id="ext-comp-1039" autocomplete="off" size="20" class="x-form-text x-form-field x-form-num-field" style="text-align: left; width: 331px; height: 16px;"> </div>
Родители у них одинаковые (все атрибуты одинаковые), а следующий родитель общий идет. Получается что они различаются только айдишниками, которые постоянно меняются при перезагрузке страницы
#93603 Selenium и графика
Отправлено автор: Jenka156 02 сентября 2011 - 07:07 в Selenium - Functional Testing
если картинка только одна на странице, то можно еще так:
$this->assertTrue($this->isElementPresent("//img[contains(@src, 'png')]"));
#92471 PHPUnit + Selenium RC + NetBeans
Отправлено автор: Jenka156 11 августа 2011 - 10:26 в Selenium - Functional Testing
,
#98893 открывается opera:debug и не запускается сайт
Отправлено автор: Jenka156 19 декабря 2011 - 12:28 в Selenium - Functional Testing
так и есть. opera 11.60 и драйвер 2.15.
дело в том, что это "зависание" только иногда происходит, когда, например, медленное соединение по сети.
(я использую RemoteWebDriver)
дело в том, что это "зависание" только иногда происходит, когда, например, медленное соединение по сети.
(я использую RemoteWebDriver)
- Форум тестировщиков
- → Публикации Jenka156
- Политика Конфиденциальности
- Правила форума ·