реализовать метод который будет выбирать значение кликами , тк у Вас кастомный селектбокс, что сейчас не редкость.
- Форум тестировщиков
- → Публикации Lzk
43 публикаций создано Lzk (учитываются публикации только с 27 апреля 2023)
Отправлено автор: Lzk 21 мая 2018 - 11:24 в Selenium - Functional Testing
реализовать метод который будет выбирать значение кликами , тк у Вас кастомный селектбокс, что сейчас не редкость.
Отправлено автор: Lzk 12 апреля 2018 - 15:30 в Selenium - Functional Testing
xpath'ом го по ячейкам
Отправлено автор: Lzk 11 апреля 2018 - 07:42 в Selenium - Functional Testing
научат
а обязательно все компании используют этот паттерн или есть и те кто пишет процедурно?
в основном да. Процедурно используют в основном только новички, которые еще не поняли , что проект будет разрастаться и поддерживать такие тесты будет очень тяжело , а со временем, может быть и вообще не возможно, если проект большой
Отправлено автор: Lzk 10 апреля 2018 - 15:15 в Selenium - Functional Testing
научат
Отправлено автор: Lzk 04 апреля 2018 - 14:10 в Selenium - Functional Testing
Контента - море. Проблема с постановкой задачи.
Никакой миграции нет.
Задача запускать автотесты из teamcity.
Для этого надо уметь запускать свои автотесты и уметь запускать что-либо из teamcity.
Но что-то мне подсказывает что задача несколько шире, чем просто запустить автотесты из teamcity.Возможно, я не там смотрю.
Думаю, запускать свои автотесты из IDE или консоли - это не то, что Вы имеете в виду?
Не исключаю, что задача может быть и шире. Если Вы дадите мне вектор, в какую сторону копать - буду благодарен. :)
запускать из тимсити командами командной строки
Отправлено автор: Lzk 22 марта 2018 - 09:56 в Selenium - Functional Testing
2. Где у Вас лежит ChromeDriver? Чтобы запускать так, как у Вас (т.е. без указания пути) - он должен лежать в папке, которая есть в переменной PATH.
или указать его через
System.setProperty("webdriver.chrome.driver","C:\\Users\\Admin\\Desktop\\chromedriver.exe");
Отправлено автор: Lzk 19 марта 2018 - 11:55 в Автоматизированное тестирование
chromedriver подконнектили ?
Отправлено автор: Lzk 19 марта 2018 - 11:54 в Selenium - Functional Testing
Если под "методом селекта" Вы подразумеваете селениумовский Select - то он тут не применим, т.к. работает только с элементами с тэгом select. А у Вас судя по коду - выпадающий список сделан не стандартным селектом, а самодельной конструкцией других элементов (дивы, спаны).
Вариант - делать так, как Вы это делаете вручную. Т.е. кликнуть (либо по полю в целом, либо по стрелочке, если она была бы отдельным элементом), дождаться, пока пункты списка появятся (т.е. - спаны с пунктами списка станут не disabled, лучше подождать кликабельности), кликнуть по нужному пункту.
спасибо, я так и сделал
Но вот мой друг посоветовал приведу цитату:
"Не то, имел ввиду, что у тебя есть функция(метод), которая(ый) в себе содержит вызов метода поиска элемента по xpath, но через аргумент получает название региона и ищет его локатор.
упрощённое представление в стиле языка Ruby:
def select_region(region_name)
driver.find_element(xpath: "//div[@class='some-class']//div[contains(text(), '#{region_name}')]")
end
Т.е тут используется интерполяция. region_name в xpath подставляется из аргумента метода. Т.е ты его переиспользовать сможешь для выбора любого нужного, а не конкретного региона."
Я не очень понял, может вы знаете?
создать метод, в который ты будешь прокидывать только текст элемента выпадающего списка. Если его действительно очень часто предполагается юзать, то полезно.
Отправлено автор: Lzk 16 марта 2018 - 09:16 в Тестирование производительности
props.get("session_id")
для получения значения переменной. Но вообще можно сделать все проще через интерфейс
Отправлено автор: Lzk 15 марта 2018 - 11:39 в Автоматизированное тестирование
может вообще надо поднимать три контейнера - в одном тесты, в другом аппликация, в третьем мокнутый сервис?
вот может и ищут готовое решение для этого?
Вово. В таком случае нужно сделать со стороны приложения какой нибудь мок коннекшн продюссер, который будет отдавать какие нужно ответы
Отправлено автор: Lzk 13 марта 2018 - 14:35 в Автоматизированное тестирование
добрый вечер. Что значит мокать ответы ? просто сохранять ответ в отдельный файл, что бы подставить его потом заглушкой ?
Отправлено автор: Lzk 13 марта 2018 - 13:56 в Selenium - Functional Testing
с какой ошибкой падает ? что в консоль пишет ?
ни с какой, у меня стоит исключение и браузер просто перезапускается. где принт вывести?сразу после поиска?
попробуйте сначала вариант выше, а так да.
Отправлено автор: Lzk 13 марта 2018 - 13:53 в Selenium - Functional Testing
find_serial_number = browser.find_element_by_xpath(".//*[contains(text(),'sn-" + serialNumber + "')]")
вот так попробуйте
Отправлено автор: Lzk 13 марта 2018 - 13:51 в Selenium - Functional Testing
с какой ошибкой падает ? что в консоль пишет ?
Отправлено автор: Lzk 13 марта 2018 - 13:34 в Selenium - Functional Testing
find_serial_number = browser.find_element_by_xpath(".//*[contains(text(),'" + serialNumber + "']")из ковычек надо их вынуть. Так переменную не видно, она как строка распознается.
'sn-{0}'
а вот это мне куда деть?на странице код написан как sn-12345а переменная принимает значение 12345, 23456, 34567 и т.д.
find_serial_number = browser.find_element_by_xpath(".//*[contains(text(),'sn-" + serialNumber + "']")перед поиском переменную serialnumber необходимо приводить к строчному значению?
насколько я помню, можно не приводить. Она сама конвертнется
не работает, после serialnumber еще добавлен +, это если после 12345 есть еще какие-то значения?если их нет, то + не нужен?
а что пишет ? скиньте стек ошибки. Нет , это для того что бы было корректное окончание xpath выражения
Отправлено автор: Lzk 13 марта 2018 - 13:28 в Selenium - Functional Testing
find_serial_number = browser.find_element_by_xpath(".//*[contains(text(),'" + serialNumber + "']")из ковычек надо их вынуть. Так переменную не видно, она как строка распознается.
'sn-{0}'
а вот это мне куда деть?на странице код написан как sn-12345а переменная принимает значение 12345, 23456, 34567 и т.д.
find_serial_number = browser.find_element_by_xpath(".//*[contains(text(),'sn-" + serialNumber + "']")перед поиском переменную serialnumber необходимо приводить к строчному значению?
насколько я помню, можно не приводить. Она сама конвертнется
Отправлено автор: Lzk 13 марта 2018 - 13:17 в Selenium - Functional Testing
find_serial_number = browser.find_element_by_xpath(".//*[contains(text(),'" + serialNumber + "']")из ковычек надо их вынуть. Так переменную не видно, она как строка распознается.
'sn-{0}'
а вот это мне куда деть?на странице код написан как sn-12345а переменная принимает значение 12345, 23456, 34567 и т.д.
find_serial_number = browser.find_element_by_xpath(".//*[contains(text(),'sn-" + serialNumber + "']")
Отправлено автор: Lzk 13 марта 2018 - 12:48 в Selenium - Functional Testing
find_serial_number = browser.find_element_by_xpath(".//*[contains(text(),'" + serialNumber + "']")
из ковычек надо их вынуть. Так переменную не видно, она как строка распознается.
Отправлено автор: Lzk 02 марта 2018 - 13:38 в Selenium - Functional Testing
это не unit тесты. Функциональные UI тесты.
Почитай про Page Object Model
Отправлено автор: Lzk 31 января 2018 - 10:34 в Selenium - Functional Testing
Google -> selenium explicitWait
не могу понять как впихнуть это в мой код) уже голова кипит)
Вам предложили впихнуть это в браузер и почитать результаты. :)
Вы думаете я не читал все это?) Просто я новичок в этом деле )
public WebElement elemIsClickable(WebDriver driver, String elXpath) { return (new WebDriverWait(driver, 5)) .until(ExpectedConditions.elementToBeClickable(By.xpath(elXpath))); }
Отправлено автор: Lzk 29 января 2018 - 16:20 в Selenium - Functional Testing
Google -> selenium explicitWait
Отправлено автор: Lzk 24 января 2018 - 11:30 в Selenium - Functional Testing
ну вроде написано в сообщении как избавиться.
Using `new SafariOptions()`
а чем вообще мешают эти сообщения ? Это просто инфо
Отправлено автор: Lzk 09 января 2018 - 15:43 в Selenium - Functional Testing
проблема в том что у тебя , видимо, кастомный селектбокс, который сделан не через тег select, а через div(блок). Открывать его и выбирать значение кликами.
click();
Отправлено автор: Lzk 09 января 2018 - 15:23 в Selenium - Functional Testing
browserstack?
Не совсем то что надо. Допустим, нужно протестировать в 3 браузерах. С одним все ясно. Достаточно просто прописать нечто подобное в @Before
System.setProperty("webdriver.chrome.driver", "C:\\Maven\\chromedriver.exe"); WebDriver driver = new ChromeDriver();Но как сделать так, что бы после прогона в 1 браузере, тесты начинали прогоняться в следующем, или же делали это параллельно?
просто из конфига бери браузер.
Отправлено автор: Lzk 22 декабря 2017 - 09:49 в Selenium - Functional Testing
Примерно так, при желании можно еще ID добавить.
XPath
//li[contains(@class,'m-wrng')] //li[contains(@class,'m-corr')]CSS
li[class*='m-wrng'] li[class*='m-corr']Поправьте меня, пожалуйста. Никак не могу добиться работы теста.
Сейчас мой код выглядит так:
if(webDriver.findElement(By.xpath("//li[contains(@class,'m-corr')]")).isDisplayed()){//делай это.
}
else if(webDriver.findElement(By.xpath("//li[contains(@class,'m-wrng')]")).isDisplayed()){
//сделай так.
}
В случае если отображается m-corr - выполняется все внутри if и тест завершается. Но если первым отображается m-wrong - тест падает на if и до else if даже не доходит
Все правильно, падает потому что не находит элемент.
Я бы в вашем случае получал элемент по id, насколько видно из примера он одинаковый для обоих случаев. А потом получал бы атрибут и проверял его в if.
Подозреваю, что я понял Вас не верно, потому что снова написал что-то не рабочее
if(webDriver.findElement(By.id("result-panel")).getAttribute("//li[contains(@class,'m-corr')]"){
System.out.println("True");
}
else if(webDriver.findElement(By.id("result-panel")).findElement(By.xpath("//li[contains(@class,'m-wrng')]")).isDisplayed()){
System.out.println("False");
}
Не могли бы Вы показать что имели ввиду?
if(webDriver.findElements(By.xpath("//li[contains(@class,'m-corr')]").size() != 0){ ...
Community Forum Software by IP.Board Русификация от IBResource
Лицензия зарегистрирована на: Software-Testing.Ru